Met de toenemende censuur van internet door autoritaire regimes wordt een toenemend aantal nuttige internetbronnen en -sites geblokkeerd. Inclusief technische informatie.
Het wordt dus onmogelijk om het internet volledig te gebruiken en schendt het fundamentele recht op vrijheid van meningsuiting, verankerd in Universele Verklaring van de Rechten van de Mens.
artikel 19
Een ieder heeft recht op vrijheid van mening en meningsuiting; dit recht omvat de vrijheid om zonder inmenging een mening te koesteren en informatie en ideeën te zoeken, te ontvangen en door te geven via alle media en ongeacht grenzen
In deze gids gaan we onze eigen freeware* in 6 stappen inzetten. VPN-service gebaseerd op technologie Wireguard, in cloudinfrastructuur Amazon Web Services (AWS), met een gratis account (voor 12 maanden), op een instance (virtuele machine) beheerd door Ubuntu-server 18.04 LTS.
Ik heb geprobeerd deze oplossing zo vriendelijk mogelijk te maken voor niet-IT-mensen. Het enige dat nodig is, is doorzettingsvermogen bij het herhalen van de hieronder beschreven stappen.
Noot
AWS biedt gratis gebruiksniveau voor een periode van 12 maanden, met een limiet van 15 gigabyte aan dataverkeer per maand.
Aanmelden voor een gratis AWS-account vereist een echt telefoonnummer en een geldige Visa- of Mastercard-creditcard. Ik raad aan om virtuele kaarten te gebruiken die gratis worden verstrekt Yandex of QIWI Portemonnee. Om de geldigheid van de kaart te controleren, wordt tijdens de registratie $ 1 in mindering gebracht, die later wordt teruggegeven.
Kaartnummer, vervaldatum en naam van de kaarthouder.
1.5. Account verificatie
In dit stadium wordt het telefoonnummer bevestigd en wordt $ 1 direct van de betaalkaart afgeschreven. Een 4-cijferige code wordt weergegeven op het computerscherm en de opgegeven telefoon ontvangt een oproep van Amazon. Tijdens een gesprek moet u de code kiezen die op het scherm wordt weergegeven.
1.6. Keuze van tariefplan.
Kies - Basisplan (gratis)
1.7. Log in op de beheerconsole
1.8. De locatie van het datacenter kiezen
1.8.1. Snelheid testen
Alvorens een datacenter te kiezen, is het aan te raden om door te testen https://speedtest.net snelheid van toegang tot de dichtstbijzijnde datacenters, op mijn locatie de volgende resultaten:
Singapore
Parijs
Frankfurt
Stockholm
Londen
Het datacenter in Londen laat qua snelheid de beste resultaten zien. Dus ik koos het voor verdere aanpassing.
2. Maak een AWS-instantie aan
2.1 Maak een virtuele machine
2.1.1. Een instantietype selecteren
Standaard is de instantie t2.micro geselecteerd, wat we nodig hebben, druk gewoon op de knop Volgende: Exemplaardetails configureren
2.1.2. Instantie-opties instellen
In de toekomst zullen we een permanent openbaar IP-adres verbinden met onze instantie, dus in dit stadium schakelen we de automatische toewijzing van een openbaar IP-adres uit en drukken op de knop Volgende: Opslag toevoegen
2.1.3. Opslag verbinding
Geef de grootte van de "harde schijf" op. Voor onze doeleinden is 16 gigabyte voldoende en drukken we op de knop Volgende: Tags toevoegen
2.1.4. Labels instellen
Als we meerdere exemplaren hebben gemaakt, kunnen ze worden gegroepeerd op tags om het beheer te vergemakkelijken. In dit geval is deze functionaliteit overbodig, druk meteen op de knop Volgende: Beveiligingsgroep configureren
2.1.5. Poorten openen
In deze stap configureren we de firewall door de vereiste poorten te openen. De set open poorten wordt de beveiligingsgroep genoemd. We moeten een nieuwe beveiligingsgroep maken, deze een naam en beschrijving geven, een UDP-poort (Custom UDP Rule) toevoegen, in het veld Rort Range een poortnummer toewijzen uit het bereik dynamische poorten 49152-65535. In dit geval heb ik poortnummer 54321 gekozen.
Klik na het invullen van de benodigde gegevens op de button Bekijken en starten
2.1.6. Overzicht van alle instellingen
Op deze pagina staat een overzicht van alle instellingen van onze instantie, we controleren of alle instellingen in orde zijn, en drukken op de knop Lancering
2.1.7. Toegangssleutels maken
Vervolgens komt een dialoogvenster waarin wordt aangeboden om een bestaande SSH-sleutel te maken of toe te voegen, waarmee we later op afstand verbinding zullen maken met onze instantie. We selecteren de optie "Nieuw sleutelpaar maken" om een nieuwe sleutel aan te maken. Geef het een naam en klik op de knop Sleutelpaar downloadenom de gegenereerde sleutels te downloaden. Bewaar ze op een veilige plaats op uw lokale computer. Klik na het downloaden op de knop. Start instanties
2.1.7.1. Toegangssleutels opslaan
Hier wordt de stap weergegeven van het opslaan van de gegenereerde sleutels van de vorige stap. Nadat we op de knop hadden gedrukt Sleutelpaar downloaden, wordt de sleutel opgeslagen als een certificaatbestand met de extensie *.pem. In dit geval heb ik het een naam gegeven wireguard-awskey.pem
2.1.8. Overzicht van resultaten voor het maken van instanties
Vervolgens zien we een bericht over de succesvolle lancering van de instantie die we zojuist hebben gemaakt. We kunnen naar de lijst met onze instanties gaan door op de knop te klikken exemplaren bekijken
2.2. Een extern IP-adres aanmaken
2.2.1. Starten met het aanmaken van een extern IP-adres
Vervolgens moeten we een permanent extern IP-adres aanmaken waarmee we verbinding maken met onze VPN-server. Selecteer hiervoor het item in het navigatiepaneel aan de linkerkant van het scherm Elastische IP's uit categorie NETWERK & BEVEILIGING en druk op de knop Nieuw adres toewijzen
2.2.2. Configureren van het aanmaken van een extern IP
In de volgende stap moeten we de optie inschakelen Amazone zwembaden (standaard ingeschakeld) en klik op de knop Toewijzen
2.2.3. Overzicht van de resultaten van het aanmaken van een extern IP-adres
Het volgende scherm toont het externe IP-adres dat we hebben ontvangen. Het wordt aanbevolen om het uit het hoofd te leren, en het is zelfs beter om het op te schrijven. het zal meer dan eens van pas komen bij het verder instellen en gebruiken van de VPN-server. In deze handleiding gebruik ik het IP-adres als voorbeeld. 4.3.2.1. Nadat u het adres hebt ingevoerd, drukt u op de knop Sluiten
2.2.4. Lijst met externe IP-adressen
Vervolgens krijgen we een lijst te zien met onze permanente openbare IP-adressen (elastics IP).
2.2.5. Een extern IP-adres toewijzen aan een instantie
In deze lijst selecteren we het IP-adres dat we hebben ontvangen en drukken op de rechtermuisknop om een vervolgkeuzemenu te openen. Selecteer daarin het item geassocieerd adresom het toe te wijzen aan de instantie die we eerder hebben gemaakt.
2.2.6. Externe IP-toewijzingsinstelling
Selecteer in de volgende stap onze instantie in de vervolgkeuzelijst en druk op de knop Associëren
2.2.7. Overzicht van externe IP-toewijzingsresultaten
Daarna kunnen we zien dat onze instantie en het bijbehorende privé-IP-adres zijn gebonden aan ons permanente openbare IP-adres.
Nu kunnen we via SSH verbinding maken met onze nieuw gemaakte instantie van buitenaf, vanaf onze computer.
3. Maak verbinding met een AWS-instantie
SSH is een beveiligd protocol voor het op afstand bedienen van computerapparatuur.
3.1. Verbinding maken via SSH vanaf een Windows-computer
Om verbinding te maken met een Windows-computer, moet u eerst het programma downloaden en installeren stopverf.
3.1.1. Importeer privésleutel voor Putty
3.1.1.1. Nadat u Putty hebt geïnstalleerd, moet u het meegeleverde hulpprogramma PuTTYgen uitvoeren om de certificaatsleutel in PEM-indeling te importeren in een indeling die geschikt is voor gebruik in Putty. Selecteer hiervoor het item in het hoofdmenu Conversies->Importeersleutel
3.1.1.2. Een AWS-sleutel in PEM-indeling kiezen
Selecteer vervolgens de sleutel die we eerder hebben opgeslagen in stap 2.1.7.1, in ons geval de naam wireguard-awskey.pem
3.1.1.3. Sleutelimportopties instellen
Bij deze stap moeten we een opmerking voor deze sleutel (beschrijving) specificeren en een wachtwoord en bevestiging instellen voor beveiliging. Elke keer dat u verbinding maakt, wordt hierom gevraagd. Zo beschermen we de sleutel met een wachtwoord tegen oneigenlijk gebruik. Je hoeft geen wachtwoord in te stellen, maar het is minder veilig als de sleutel in verkeerde handen valt. Nadat we op de knop hebben gedrukt Bewaar privésleutel
3.1.1.4. Een geïmporteerde sleutel opslaan
Er wordt een dialoogvenster Bestand opslaan geopend en we slaan onze privésleutel op als een bestand met de extensie .ppkgeschikt voor gebruik in het programma stopverf.
Geef de naam van de sleutel op (in ons geval wireguard-awskey.ppk) en druk op de knop Sparen.
3.1.2. Een verbinding maken en configureren in Putty
3.1.2.1. Maak een verbinding
Open het programma Putty, selecteer een categorie Sessie (deze is standaard geopend) en in het veld Hostnaam voer het openbare IP-adres van onze server in, dat we in stap 2.2.3 hebben ontvangen. Op het veld Opgeslagen sessie voer een willekeurige naam in voor onze verbinding (in mijn geval wireguard-aws-londen) en druk vervolgens op de knop Bespaar om de aangebrachte wijzigingen op te slaan.
3.1.2.2. Gebruikers autologin instellen
Meer in categorie Aansluiting, kies een subcategorie Data en in het veld Gebruikersnaam voor automatisch inloggen Vul je gebruikersnaam in ubuntu is de standaardgebruiker van de instantie op AWS met Ubuntu.
3.1.2.3. Een privésleutel kiezen om verbinding te maken via SSH
Ga dan naar de subcategorie Verbinding/SSH/Auth en naast het veld Privésleutelbestand voor authenticatie druk op de knop Bladeren ... om een bestand met een sleutelcertificaat te selecteren.
3.1.2.4. Een geïmporteerde sleutel openen
Geef de sleutel op die we eerder hebben geïmporteerd bij stap 3.1.1.4, in ons geval is het een bestand wireguard-awskey.ppken druk op de knop open.
3.1.2.5. Instellingen opslaan en verbinding maken
Terugkeren naar de categoriepagina Sessie druk nogmaals op de knop Bespaar, om de wijzigingen op te slaan die we eerder in de vorige stappen hebben aangebracht (3.1.2.2 - 3.1.2.4). En dan drukken we op de knop Openen om de externe SSH-verbinding te openen die we hebben gemaakt en geconfigureerd.
3.1.2.7. Opzetten van vertrouwen tussen hosts
In de volgende stap, de eerste keer dat we verbinding proberen te maken, krijgen we een waarschuwing, we hebben geen vertrouwen geconfigureerd tussen de twee computers en vragen of we de externe computer kunnen vertrouwen. We drukken op de knop Ja, waardoor het wordt toegevoegd aan de lijst met vertrouwde hosts.
3.1.2.8. Een wachtwoord invoeren om toegang te krijgen tot de sleutel
Daarna wordt een terminalvenster geopend waarin u wordt gevraagd om het wachtwoord voor de sleutel, als u dit eerder hebt ingesteld bij stap 3.1.1.3. Bij het invoeren van een wachtwoord vindt er geen actie op het scherm plaats. Als u een fout maakt, kunt u de sleutel gebruiken Backspace.
3.1.2.9. Welkomstbericht bij succesvolle verbinding
Nadat we het wachtwoord met succes hebben ingevoerd, krijgen we een welkomsttekst in de terminal te zien, die ons vertelt dat het externe systeem klaar is om onze opdrachten uit te voeren.
4. Configureren van de Wireguard-server
De meest up-to-date instructies voor het installeren en gebruiken van Wireguard met behulp van de hieronder beschreven scripts zijn te vinden in de repository: https://github.com/isystem-io/wireguard-aws
4.1. WireGuard installeren
Voer in de terminal de volgende opdrachten in (u kunt naar het klembord kopiëren en in de terminal plakken door op de rechtermuisknop te drukken):
4.1.1. Een repository klonen
Kloon de repository met de installatiescripts van Wireguard
Voer als beheerder (rootgebruiker) het installatiescript van Wireguard uit
sudo ./initial.sh
Het installatieproces vraagt om bepaalde gegevens die nodig zijn om Wireguard te configureren
4.1.3.1. Aansluitpunt invoer
Voer het externe IP-adres en de open poort van de Wireguard-server in. We kregen het externe IP-adres van de server in stap 2.2.3 en openden de poort in stap 2.1.5. We geven ze samen aan, gescheiden door bijvoorbeeld een dubbele punt 4.3.2.1:54321en druk vervolgens op de toets Enter Voorbeelduitvoer:
Enter the endpoint (external ip and port) in format [ipv4:port] (e.g. 4.3.2.1:54321): 4.3.2.1:54321
4.1.3.2. Het interne IP-adres invoeren
Voer het IP-adres van de Wireguard-server op het beveiligde VPN-subnet in. Als u niet weet wat het is, drukt u gewoon op Enter om de standaardwaarde in te stellen (10.50.0.1) Voorbeelduitvoer:
Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):
4.1.3.3. Een DNS-server specificeren
Voer het IP-adres van de DNS-server in of druk gewoon op Enter om de standaardwaarde in te stellen 1.1.1.1 (Cloudflare openbare DNS) Voorbeelduitvoer:
Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):
4.1.3.4. De WAN-interface specificeren
Vervolgens moet u de naam invoeren van de externe netwerkinterface die zal luisteren op de interne VPN-netwerkinterface. Druk gewoon op Enter om de standaardwaarde voor AWS in te stellen (eth0) Voorbeelduitvoer:
Enter the name of the WAN network interface ([ENTER] set to default: eth0):
4.1.3.5. Specificeer de naam van de klant
Voer de naam van de VPN-gebruiker in. Feit is dat de Wireguard VPN-server pas kan starten als er minimaal één client is toegevoegd. In dit geval heb ik de naam ingevoerd Alex@mobile Voorbeelduitvoer:
Enter VPN user name: Alex@mobile
Daarna zou een QR-code met de configuratie van de nieuw toegevoegde client op het scherm moeten worden weergegeven, die moet worden gelezen met behulp van de Wireguard mobiele client op Android of iOS om deze te configureren. En ook onder de QR-code wordt de tekst van het configuratiebestand weergegeven in het geval van handmatige configuratie van clients. Hoe u dit doet, wordt hieronder besproken.
4.2. Een nieuwe VPN-gebruiker toevoegen
Om een nieuwe gebruiker toe te voegen, moet u het script in de terminal uitvoeren add-client.sh
sudo ./add-client.sh
Het script vraagt om een gebruikersnaam: Voorbeelduitvoer:
Enter VPN user name:
Ook kan de naam van gebruikers worden doorgegeven als een scriptparameter (in dit geval Alex@mobile):
sudo ./add-client.sh Alex@mobile
Als resultaat van de uitvoering van het script, in de map met de naam van de klant langs het pad /etc/wireguard/clients/{ИмяКлиента} clientconfiguratiebestand wordt gemaakt /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, en op het terminalscherm wordt een QR-code weergegeven voor het instellen van mobiele clients en de inhoud van het configuratiebestand.
4.2.1. Gebruikersconfiguratiebestand
U kunt de inhoud van het .conf-bestand op het scherm weergeven, voor handmatige configuratie van de client, met behulp van de opdracht cat
[Interface]
PrivateKey = Приватный ключ клиента
Address = IP адрес клиента
DNS = ДНС используемый клиентом
[Peer]
PublicKey = Публичный ключ сервера
PresharedKey = Общи ключ сервера и клиента
AllowedIPs = Разрешенные адреса для подключения (все - 0.0.0.0/0, ::/0)
Endpoint = IP адрес и порт для подключения
4.2.2. QR-code voor clientconfiguratie
U kunt een configuratie-QR-code weergeven voor een eerder gemaakte client op het terminalscherm met behulp van de opdracht qrencode -t ansiutf8 (in dit voorbeeld wordt een client met de naam Alex@mobile gebruikt):
Daarna moet u de configuratie importeren door de QR-code met de clientconfiguratie te lezen (zie paragraaf 4.2.2) en deze een naam te geven:
Nadat de configuratie is geïmporteerd, kunt u de VPN-tunnel inschakelen. Een succesvolle verbinding wordt aangegeven door een sleutelopslag in het Android-systeemvak
5.2. Installatie van Windows-client
Eerst moet je het programma downloaden en installeren TunSafe voor Windows is de Wireguard-client voor Windows.
5.2.1. Een importconfiguratiebestand maken
Klik met de rechtermuisknop om een tekstbestand op het bureaublad te maken.
5.2.2. Kopieer de inhoud van het configuratiebestand van de server
Daarna keren we terug naar de Putty-terminal en tonen we de inhoud van het configuratiebestand van de gewenste gebruiker, zoals beschreven in stap 4.2.1.
Klik vervolgens met de rechtermuisknop op de configuratietekst in de Putty-terminal, nadat de selectie is voltooid, wordt deze automatisch naar het klembord gekopieerd.
5.2.3. De configuratie kopiëren naar een lokaal configuratiebestand
In dit veld gaan we terug naar het tekstbestand dat we eerder op het bureaublad hebben gemaakt en plakken we de configuratietekst erin vanaf het klembord.
5.2.4. Een lokaal configuratiebestand opslaan
Sla het bestand op met de extensie .conf (in dit geval genaamd london.conf)
5.2.5. Een lokaal configuratiebestand importeren
Vervolgens moet u het configuratiebestand importeren in het TunSafe-programma.
5.2.6. Een VPN-verbinding opzetten
Selecteer dit configuratiebestand en maak verbinding door op de knop te klikken Verbinden.
6. Controleren of de verbinding gelukt is
Om het succes van de verbinding via de VPN-tunnel te controleren, moet u een browser openen en naar de site gaan https://2ip.ua/ru/
Het weergegeven IP-adres moet overeenkomen met het IP-adres dat we in stap 2.2.3 hebben ontvangen.
Als dat zo is, werkt de VPN-tunnel succesvol.
Vanaf de Linux-terminal kunt u uw IP-adres controleren door te typen:
curl http://zx2c4.com/ip
Of je kunt gewoon naar pornhub gaan als je in Kazachstan bent.