Gratis VPN-dienst Wireguard op AWS

Waarom?

Met de toename van de censuur op internet door autoritaire regimes worden steeds meer nuttige internetbronnen en websites geblokkeerd. Dit omvat ook technische informatie.
Hierdoor wordt het steeds lastiger om internet volledig te gebruiken en wordt het fundamentele recht op vrijheid van meningsuiting, verankerd in de Universele Verklaring van de Rechten van de Mens.

Artikel 19
Iedereen heeft recht op vrijheid van gedachten en op de vrije uitdrukking daarvan; dit recht omvat de vrijheid om zijn of haar overtuigingen zonder hinder aan te houden en de vrijheid om informatie en ideeën door elk middel te zoeken, te ontvangen en te verspreiden, ongeacht staatsgrenzen.

In deze gids zullen we in 6 stappen onze eigen gratis* VPN-service op basis van technologie Wireguard, in cloudinfrastructuur Amazon Web Services (AWS), met behulp van een gratis account (voor 12 maanden), op een instantie (virtuele machine) die draait op Ubuntu Server 18.04 LTS.
Ik heb geprobeerd deze stap-voor-stap gids zo gebruiksvriendelijk mogelijk te maken voor mensen die niet vertrouwd zijn met IT. Het enige wat nodig is, is geduld bij het herhalen van de onderstaande stappen.

Opmerking

Stappen

  1. Registratie van een gratis AWS-account
  2. Creëren van een AWS-instantie
  3. Verbinden met de AWS-instantie
  4. Configureren van Wireguard
  5. Configureren van VPN-klanten
  6. Controleren of de VPN-installatie correct is

Nuttige links

1. Registratie van een AWS-account

Voor de registratie van een gratis AWS-account is een echt telefoonnummer en een betalende creditcard (Visa of Mastercard) vereist. Ik raad aan om gebruik te maken van virtuele kaarten die gratis worden verstrekt door Yandex.Money of Qiwi-portemonnee. Voor de controle van de geldigheid van de kaart wordt er bij registratie 1$ afgeschreven, dat later wordt teruggestort.

1.1. Openen van de AWS-beheerconsole

Open de browser en ga naar het volgende adres: https://aws.amazon.com/ru/
Klik op de knop 'Registreren'

Gratis VPN-dienst Wireguard op AWS

1.2. Invullen van persoonlijke gegevens

Vul de gegevens in en klik op de knop 'Doorgaan'

Gratis VPN-dienst Wireguard op AWS

1.3. Invullen van contactgegevens

Vul de contactgegevens in.

Gratis VPN-dienst Wireguard op AWS

1.4. Opgeven van betalingsinformatie.

Kaartnummer, verloopdatum en naam van de kaarthouder.

Gratis VPN-dienst Wireguard op AWS

1.5. Accountverificatie

In deze fase bevestigen we het telefoonnummer en wordt er direct $1 van de betaalkaart afgeschreven. Op het computerscherm verschijnt een 4-cijferige code en er komt een oproep van Amazon naar het opgegeven telefoonnummer. Tijdens het gesprek moet de code die op het scherm staat worden ingetoetst.

Gratis VPN-dienst Wireguard op AWS

1.6. Keuze van het tariefplan.

Kies — Basisplan (gratis)

Gratis VPN-dienst Wireguard op AWS

1.7. Toegang tot het beheerpaneel

Gratis VPN-dienst Wireguard op AWS

1.8. Keuze van de datacenterlocatie

Gratis VPN-dienst Wireguard op AWS

1.8.1. Snelheidstest

Voordat je een datacenter kiest, is het aan te raden om de snelheid te testen via https://speedtest.net de toegangssnelheid tot de dichtstbijzijnde datacenters. In mijn locatie zijn de resultaten als volgt:

  • Singapore
    Gratis VPN-dienst Wireguard op AWS
  • Parijs
    Gratis VPN-dienst Wireguard op AWS
  • Frankfurt
    Gratis VPN-dienst Wireguard op AWS
  • Stockholm
    Gratis VPN-dienst Wireguard op AWS
  • Londen
    Gratis VPN-dienst Wireguard op AWS

Het datacenter in Londen toont de beste snelheidsresultaten. Daarom heb ik het voor verdere configuratie gekozen.

2. AWS-instance aanmaken

2.1 Een virtuele machine aanmaken

2.1.1. Keuze van het type instance

Standaard is de t2.micro instance geselecteerd, wat we nodig hebben, dus we drukken op de knop Volgende: Configureer instance-details

Gratis VPN-dienst Wireguard op AWS

2.1.2. Instance-instellingen configureren

Later zullen we een statisch openbaar IP aan onze instance koppelen. Daarom schakelen we op dit moment de automatische toewijzing van het openbare IP uit en drukken we op de knop Volgende: Opslag toevoegen

Gratis VPN-dienst Wireguard op AWS

2.1.3. Opslag aansluiten

We geven de grootte van de ‘harde schijf’ aan. Voor onze doeleinden is 16 gigabyte voldoende, dus drukken we op de knop Volgende: Tags toevoegen

Gratis VPN-dienst Wireguard op AWS

2.1.4. Tags configureren

Als we meerdere instances zouden aanmaken, zouden we deze naar tags kunnen groeperen voor een gemakkelijker beheer. In dit geval is deze functionaliteit overbodig, dus drukken we direct op de knop Volgende: Beveiligingsgroep configureren

Gratis VPN-dienst Wireguard op AWS

2.1.5. Poorten openen

In deze fase configureren we de firewall door de benodigde poorten te openen. De set open poorten wordt een ‘Beveiligingsgroep’ (Security Group) genoemd. We moeten een nieuwe beveiligingsgroep aanmaken, deze een naam en beschrijving geven, port UDP (Custom UDP Rule) toevoegen en in het veld Rort Range moet een poortnummer uit het bereik van dynamische poorten 49152—65535. In dit geval heb ik poortnummer 54321 gekozen.

Gratis VPN-dienst Wireguard op AWS

Na het invullen van de benodigde gegevens, drukken we op de knop Review and Launch

2.1.6. Overzicht van alle instellingen

Op deze pagina is er een overzicht van alle instellingen van onze instance. Controleer of alle instellingen in orde zijn en druk op de knop Lanceer

Gratis VPN-dienst Wireguard op AWS

2.1.7. Toegangssleutels aanmaken

Daarna verschijnt er een dialoogvenster waarin wordt aangeboden om een bestaande SSH-sleutel te maken of toe te voegen, waarmee we op afstand verbinding kunnen maken met onze instantie. We selecteren de optie "Create a new key pair" om een nieuwe sleutel te creëren. We geven een naam op en drukken op de knop Download Key Pair, om de gemaakte sleutels te downloaden. Bewaar ze op een veilige plek op de lokale computer. Nadat je hebt gedownload, druk je op de knop Launch Instances

Gratis VPN-dienst Wireguard op AWS

2.1.7.1. Sleutels opslaan

Hier wordt de stap getoond voor het opslaan van de gemaakte sleutels uit de vorige stap. Nadat we op de knop hebben gedrukt Download Key Pair, wordt de sleutel opgeslagen als een certificaatbestand met de extensie *.pem. In dit geval heb ik het de naam gegeven wireguard-awskey.pem

Gratis VPN-dienst Wireguard op AWS

2.1.8. Overzicht van de resultaten van het maken van een instantie

Daarna zien we een bericht over het succesvolle starten van de zojuist gemaakte instantie. We kunnen naar de lijst van onze instanties gaan door op de knop te drukken View instances

Gratis VPN-dienst Wireguard op AWS

2.2. Een extern IP-adres aanmaken

2.2.1. Starten van de creatie van een extern IP

We moeten nu een permanent extern IP-adres aanmaken waarmee we verbinding zullen maken met onze VPN-server. Hiervoor moeten we in de navigatiebalk aan de linkerkant van het scherm het volgende kiezen Elastic IPs uit de categorie NETWORK & SECURITY en drukken we op de knop Allocate new address

Gratis VPN-dienst Wireguard op AWS

2.2.2. Instellingen voor het aanmaken van een extern IP

In de volgende stap moeten we ervoor zorgen dat de optie Amazon pool (standaard ingeschakeld) is ingeschakeld, en drukken we op de knop Allocate

Gratis VPN-dienst Wireguard op AWS

2.2.3. Overzicht van de resultaten van het maken van een extern IP-adres

Op het volgende scherm zal ons het verkregen externe IP-adres worden weergegeven. Het is aan te raden het te onthouden, beter nog om het op te schrijven. We zullen het nog vaak nodig hebben tijdens de verdere configuratie en het gebruik van de VPN-server. In deze gids gebruik ik als voorbeeld het IP-adres 4.3.2.1. Zodra je het adres hebt genoteerd, druk je op de knop Close

Gratis VPN-dienst Wireguard op AWS

2.2.4. Lijst met externe IP-adressen

Daarna wordt de lijst van onze permanente openbare IP-adressen (elastische IP) geopend.

Gratis VPN-dienst Wireguard op AWS

2.2.5. Toewijzing van een extern IP aan een instantie

In deze lijst kiezen we het verkregen IP-adres en drukken we met de rechtermuisknop om het dropdownmenu te openen. We kiezen het item Associate address, om het toe te wijzen aan de eerder gemaakte instantie.

Gratis VPN-dienst Wireguard op AWS

2.2.6. Instellingen voor de toewijzing van een extern IP

In de volgende stap kiezen we onze instantie uit de dropdownlijst en drukken we op de knop Associate

Gratis VPN-dienst Wireguard op AWS

2.2.7. Overzicht van de resultaten van de toewijzing van een extern IP

Hierna kunnen we zien dat ons instance is gekoppeld aan ons vaste publieke IP-adres en zijn privé IP-adres.

Gratis VPN-dienst Wireguard op AWS

Nu kunnen we verbinding maken met ons nieuw aangemaakte instance van buitenaf, vanaf onze computer via SSH.

3. Verbinding maken met AWS-instance

SSH — dit is een veilige protocol voor remote beheer van computers.

3.1. Verbinding maken via SSH vanaf een Windows-computer

Om verbinding te maken met een computer met Windows, moet eerst het programma Putty.

3.1.1. Importeren van de privésleutel voor Putty

3.1.1.1. Na de installatie van Putty moet u de bijgeleverde PuTTYgen-tool starten om de certificaatsleutel in PEM-formaat te importeren in een formaat dat geschikt is voor gebruik in het programma Putty. Hiervoor kiest u in het bovenste menu de optie Conversions->Import Key

Gratis VPN-dienst Wireguard op AWS

3.1.1.2. Selectie van de AWS-sleutel in PEM-formaat

Daarna kiezen we de sleutel die we eerder op stap 2.1.7.1 hebben opgeslagen, in ons geval heeft deze de naam wireguard-awskey.pem

Gratis VPN-dienst Wireguard op AWS

3.1.1.3. Instellen van importparameters voor de sleutel

In deze stap moeten we een commentaar voor deze sleutel (beschrijving) opgeven en voor de veiligheid een wachtwoord en bevestiging instellen. Dit wachtwoord zal bij elke verbinding gevraagd worden. Hiermee beschermen we de sleutel met een wachtwoord tegen ongeautoriseerd gebruik. Het is mogelijk om geen wachtwoord in te stellen, maar dit is minder veilig, mocht de sleutel in verkeerde handen vallen. Vervolgens drukken we op de knop Save private key

Gratis VPN-dienst Wireguard op AWS

3.1.1.4. Opslaan van de geïmporteerde sleutel

Er opent een dialoogvenster voor het opslaan van het bestand, en we slaan onze privésleutel op als een bestand met de extensie .ppk, geschikt voor gebruik in het programma Putty.
Geef de naam van de sleutel op (in ons geval wireguard-awskey.ppk) en druk op de knop Opslaan.

Gratis VPN-dienst Wireguard op AWS

3.1.2. Aanmaken en configureren van de verbinding in Putty

3.1.2.1. Verbinding maken

Open het programma Putty, kies de categorie Session (deze is standaard geopend) en in het veld Host Name voeren we het publieke IP-adres van onze server in, dat we hebben ontvangen in stap 2.2.3. In het veld Saved Session geef een willekeurige naam voor onze verbinding op (in mijn geval wireguard-aws-london), en druk daarna op de knop Opslaan om de gemaakte wijzigingen op te slaan.

Gratis VPN-dienst Wireguard op AWS

3.1.2.2. Instellen van automatische inlog voor de gebruiker

Ga verder naar de categorie Verbinden, kies de subcategorie Data en in het veld Auto-login username voer je gebruikersnaam in ubuntu — dit is de standaard gebruiker van de instance op AWS met Ubuntu.

Gratis VPN-dienst Wireguard op AWS

3.1.2.3. Selectie van de privésleutel voor verbinding via SSH

Ga vervolgens naar de subcategorie Connection/SSH/Auth en naast het veld Privésleutelbestand voor authenticatie klik op de knop Bladeren… om het bestand met de sleutelcertificaat te selecteren.

Gratis VPN-dienst Wireguard op AWS

3.1.2.4. Importeren van de sleutel

Geef de sleutel op die we eerder hebben geïmporteerd in stap 3.1.1.4, in ons geval is dit het bestand wireguard-awskey.ppk, en klik op de knop Openen.

Gratis VPN-dienst Wireguard op AWS

3.1.2.5. Instellingen opslaan en verbinding starten

Terug op de categoriewebpagina Session klik nogmaals op de knop Opslaan, om de eerder gemaakte wijzigingen van de voorgaande stappen (3.1.2.2 — 3.1.2.4) op te slaan. En druk vervolgens op de knop Open om de SSH-verbinding die we hebben gecreëerd en geconfigureerd te openen.

Gratis VPN-dienst Wireguard op AWS

3.1.2.7. Vertrouwen tussen hosts instellen

In de volgende stap, bij de eerste poging om verbinding te maken, krijgen we een waarschuwing dat er geen vertrouwen is ingesteld tussen de twee computers en er wordt gevraagd of we de externe computer willen vertrouwen. We drukken op de knop Yes, waardoor deze aan de lijst van vertrouwde hosts wordt toegevoegd.

Gratis VPN-dienst Wireguard op AWS

3.1.2.8. Wachtwoord invoeren voor toegang tot de sleutel

Daarna verschijnt er een terminalvenster waarin om het wachtwoord van de sleutel wordt gevraagd, als je dit eerder hebt ingesteld in stap 3.1.1.3. Bij het invoeren van het wachtwoord gebeurt er visueel niets op het scherm. Als je een fout maakt, kun je de toets Backspace.

Gratis VPN-dienst Wireguard op AWS

3.1.2.9. Welkomstbericht bij succesvolle verbinding

Na succesvolle invoer van het wachtwoord zien we in de terminal een welkomstbericht dat aangeeft dat het externe systeem klaar is om onze commando's uit te voeren.

Gratis VPN-dienst Wireguard op AWS

4. Configuratie van de Wireguard-server

De meest actuele instructies voor het installeren en gebruiken van Wireguard met behulp van de onderstaande scripts kunnen worden bekeken in de repository: https://github.com/isystem-io/wireguard-aws

4.1. Installatie van Wireguard

Voer in de terminal de volgende opdrachten in (je kunt ze kopiëren naar het klembord en plakken in de terminal met een klik met de rechtermuisknop):

4.1.1. Repository klonen

Kloon de repository met de installatie-scripts voor Wireguard

git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws

4.1.2. Ga naar de catalogus met scripts

Ga naar de catalogus met de gekloonde repository

cd wireguard_aws

4.1.3. Initiatiescript uitvoeren

Voer als administrator (root-gebruiker) het installatie-script voor Wireguard uit

sudo ./initial.sh

Tijdens de installatie worden bepaalde gegevens gevraagd die nodig zijn voor de configuratie van Wireguard

4.1.3.1. Invoeren van de aansluitpunt

Voer het externe IP-adres en de poort van de Wireguard-server in. Het externe IP-adres van de server hebben we verkregen in stap 2.2.3 en de poort hebben we geopend in stap 2.1.5. Voer ze samen in, gescheiden door een dubbele punt, bijvoorbeeld 4.3.2.1:54321, en druk daarna op de toets Enter
Voorbeelduitvoer:

Voer het eindpunt (extern ip en poort) in formaat [ipv4:poort] (bijv. 4.3.2.1:54321): 4.3.2.1:54321

4.1.3.2. Invoer van het interne IP-adres

Voer het IP-adres van de Wireguard-server in het beveiligde VPN-subnet in; als je niet weet wat dit is, druk dan gewoon op de toets Enter om de standaardwaarde in te stellen (10.50.0.1)
Voorbeelduitvoer:

Voer het serveradres in het VPN-subnet (CIDR-formaat) ([ENTER] ingesteld op standaard: 10.50.0.1):

4.1.3.3. Opgeven van de DNS-server

Voer het IP-adres van de DNS-server in, of druk gewoon op de toets Enter om de standaardwaarde in te stellen 1.1.1.1 (Cloudflare publieke DNS)
Voorbeelduitvoer:

Voer het IP-adres van de DNS-server in (CIDR-formaat) ([ENTER] ingesteld op standaard: 1.1.1.1):

4.1.3.4. Opgeven van de WAN-interface

Vervolgens moet je de naam van de externe netwerkinterface invoeren die het interne VPN-netwerk zal aanhoren. Druk gewoon op Enter om de standaardwaarde voor AWS in te stellen (eth0)
Voorbeelduitvoer:

Voer de naam van de WAN-netwerkinterface in ([ENTER] ingesteld op standaard: eth0):

4.1.3.5. Opgeven van de naam van de client

Voer de naam van de VPN-gebruiker in. Het VPN-server van Wireguard kan niet worden gestart totdat ten minste één client is toegevoegd. In dit geval heb ik de naam ingevoerd Alex@mobile
Voorbeelduitvoer:

Voer de VPN-gebruikersnaam in: Alex@mobile

Na dit moet er een QR-code op het scherm verschijnen met de configuratie van de zojuist toegevoegde client, die moet worden gescand met de mobiele Wireguard-client op Android of iOS om deze in te stellen. Ook zal de tekst van het configuratiebestand onder de QR-code worden weergegeven voor handmatige configuratie van clients. Hoe dit te doen zal hieronder worden uitgelegd.

Gratis VPN-dienst Wireguard op AWS

4.2. Toevoegen van een nieuwe VPN-gebruiker

Om een nieuwe gebruiker toe te voegen, moet je het script in de terminal uitvoeren add-client.sh

sudo ./add-client.sh

Het script vraagt om een gebruikersnaam:
Voorbeelduitvoer:

Voer de VPN-gebruikersnaam in: 

De gebruikersnaam kan ook als parameter aan het script worden doorgegeven (in dit geval Alex@mobile):

sudo ./add-client.sh Alex@mobile

Als resultaat van de uitvoering van het script, zal er een bestand met de configuratie van de client worden aangemaakt in de map met de naam van de client op het pad /etc/wireguard/clients/{ИмяКлиента} er wordt een bestand met de configuratie van de client aangemaakt /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, en op het terminalscherm verschijnt een QR-code voor het instellen van mobiele clients en de inhoud van het configuratiebestand.

4.2.1. Bestand van de gebruikersconfiguratie

Om de inhoud van het .conf-bestand voor handmatige clientconfiguratie op het scherm weer te geven, kan je de volgende opdracht gebruiken cat

sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf

resultaat van de uitvoering:

[Interface]
PrivateKey = oDMWr0toPVCvgKt5oncLLRfHRit+jbzT5cshNUi8zlM=
Address = 10.50.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = mLnd+mul15U0EP6jCH5MRhIAjsfKYuIU/j5ml8Z2SEk=
PresharedKey = wjXdcf8CG29Scmnl5D97N46PhVn1jecioaXjdvrEkAc=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 4.3.2.1:54321

Beschrijving van het configuratiebestand van de client:

[Interface]
PrivateKey = Privé sleutel van de client
Address = IP-adres van de client
DNS = DNS gebruikt door de client

[Peer]
PublicKey = Publieke sleutel van de server
PresharedKey = Gedeelde sleutel tussen server en client
AllowedIPs = Toegestane adressen voor verbinding (alles - 0.0.0.0/0, ::/0)
Endpoint = IP-adres en poort voor verbinding

4.2.2. QR-code van de configuratie van de client

Je kunt de QR-code van de configuratie voor de eerder gemaakte client op het terminalscherm tonen met behulp van het commando qrencode -t ansiutf8 (in dit voorbeeld wordt de client met de naam Alex@mobile gebruikt):

sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf8

5. Configuratie van VPN-clients

5.1. Configuratie van de mobiele Android-client

De officiële Wireguard-client voor Android kan geïnstalleerd worden vanuit de officiële Google Play Store

Daarna moet je de configuratie importeren door de QR-code van de clientconfiguratie te scannen (zie punt 4.2.2) en geef het een naam:

Gratis VPN-dienst Wireguard op AWS

Na succesvolle import van de configuratie kan de VPN-tunnel worden ingeschakeld. Een succesvolle verbinding wordt aangegeven door het sleutelicoon in de systeemstatusbalk van Android.

Gratis VPN-dienst Wireguard op AWS

5.2. Configuratie van de Windows-client

Eerst moet het programma TunSafe for Windows worden gedownload en geïnstalleerd — dit is de Wireguard-client voor Windows.

5.2.1. Aanmaken van een configuratiebestand voor import

Klik met de rechtermuisknop en maak een tekstbestand op het bureaublad.

Gratis VPN-dienst Wireguard op AWS

5.2.2. Kopiëren van de inhoud van het configuratiebestand vanaf de server

Vervolgens gaan we terug naar de Putty-terminal en worden de inhoud van het configuratiebestand van de gewenste gebruiker weergegeven, zoals beschreven in stap 4.2.1.
Daarna markeer je met de rechtermuisknop de configuratietekst in de Putty-terminal, deze wordt automatisch gekopieerd naar het klembord na het markeren.

Gratis VPN-dienst Wireguard op AWS

5.2.3. Kopiëren van de configuratie naar het lokale configuratiebestand

Na dit keer keren we terug naar het eerder aangemaakte tekstbestand op ons bureaublad en plakken we de configuratietekst vanuit het klembord.

Gratis VPN-dienst Wireguard op AWS

5.2.4. Opslaan van het lokale configuratiebestand

We slaan het bestand op met de extensie .conf (in dit geval met de naam london.conf)

Gratis VPN-dienst Wireguard op AWS

5.2.5. Importeren van het lokale configuratiebestand

Vervolgens moet het configuratiebestand in het programma TunSafe worden geïmporteerd.

Gratis VPN-dienst Wireguard op AWS

5.2.6. Instellen van de VPN-verbinding

Kies dit configuratiebestand en verbind door op de knop te drukken. Verbinden.
Gratis VPN-dienst Wireguard op AWS

6. Controle van de verbindingssucces

Om de succes van de verbinding via de VPN-tunnel te controleren, moet je een browser openen en de website bezoeken https://2ip.ua/ru/

Gratis VPN-dienst Wireguard op AWS

Het weergegeven IP-adres moet overeenkomen met het IP-adres dat we in stap 2.2.3 hebben ontvangen.
Als dat het geval is, werkt de VPN-tunnel succesvol.

In de Linux-terminal kun je je IP-adres controleren door het commando in te voeren:

curl http://zx2c4.com/ip

Of je kunt gewoon naar een pornosite gaan, als je in Kazachstan bent.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster