Gratis VPN-tjeneste Wireguard på AWS

Hvorfor?

Med den stigende censur af internettet fra autoritære regimer, blokeres der stadig flere nyttige internetsider og ressourcer, herunder dem med teknisk information.
Dermed bliver det umuligt at bruge internettet fuldt ud, og der krænkes den fundamentale ret til ytringsfrihed, som er sikret i Den universelle fortælling om menneskerettigheder.

Artikel 19
Enhver har ret til at have frit valg af overbevisninger samt til frit at ytre dem; denne ret inkluderer friheden til uforhindret at fastholde sine overbevisninger og friheden til at søge, modtage og sprede information og idéer med ethvert middel og uafhængigt af statsgrænser.

I denne guide vil vi på 6 trin opsætte vores egen gratis* VPN-service baseret på teknologi Wireguard, i cloud-infrastruktur Amazon Web Services (AWS), ved hjælp af en gratis konto (i 12 måneder), på en instans (virtuel maskine) drevet af Ubuntu Server 18.04 LTS.
Jeg har forsøgt at gøre denne trin-for-trin vejledning så brugervenlig som muligt for folk, der er langt fra IT. Det eneste, der kræves, er tålmodighed til at gentage de nedenstående trin.

Bemærk

Trin

  1. Registrering af en gratis AWS-konto
  2. Oprettelse af en AWS-instans
  3. Tilslutning til AWS-instansen
  4. Konfiguration af Wireguard
  5. Konfiguration af VPN-klienter
  6. Kontrol af korrekt installation af VPN

Nyttige links

1. Registrering af AWS-konto

For at registrere en gratis AWS-konto kræves et rigtig telefonnummer og et betalingsdygtigt kreditkort fra Visa eller Mastercard. Jeg anbefaler at bruge virtuelle kort, som gratis tilbydes af Yandex.Money eller Qiwi tegnebog. For at verificere kortets gyldighed, trækkes der 1$, som senere refunderes.

1.1. Åbning af AWS administrationskonsol

Åbn en browser og gå til adressen: https://aws.amazon.com/ru/
Klik på knappen 'Registrering'

Gratis VPN-tjeneste Wireguard på AWS

1.2. Udfyldelse af personlige oplysninger

Udfyld oplysningerne og klik på knappen 'Fortsæt'

Gratis VPN-tjeneste Wireguard på AWS

1.3. Udfyldelse af kontaktoplysninger

Udfyld kontaktoplysningerne.

Gratis VPN-tjeneste Wireguard på AWS

1.4. Angivelse af betalingsoplysninger.

Kortnummer, udløbsdato og kortindehaverens navn.

Gratis VPN-tjeneste Wireguard på AWS

1.5. Kontobekræftelse

I dette trin bekræftes telefonnummeret, og der trækkes direkte 1$ fra betalingskortet. På computerskærmen vises en 4-siffret kode, og det angivne telefonnummer modtager et opkald fra Amazon. Under opkaldet skal koden, der vises på skærmen, indtastes.

Gratis VPN-tjeneste Wireguard på AWS

1.6. Valg af tarifplan.

Vi vælger — Basisplan (gratis)

Gratis VPN-tjeneste Wireguard på AWS

1.7. Login til kontrolpanelet

Gratis VPN-tjeneste Wireguard på AWS

1.8. Valg af datacenterplacering

Gratis VPN-tjeneste Wireguard på AWS

1.8.1. Test af hastighed

Før vi vælger datacentret, anbefales det at teste hastigheden til de nærmeste datacentre gennem https://speedtest.net adgangshastigheden til de nærmeste datacentre. Resultaterne i min lokation er:

  • Singapore
    Gratis VPN-tjeneste Wireguard på AWS
  • Paris
    Gratis VPN-tjeneste Wireguard på AWS
  • Frankfurt
    Gratis VPN-tjeneste Wireguard på AWS
  • Stockholm
    Gratis VPN-tjeneste Wireguard på AWS
  • London
    Gratis VPN-tjeneste Wireguard på AWS

Det datacenter i London viser de bedste hastighedsresultater. Derfor valgte jeg det til den videre opsætning.

2. Oprettelse af AWS-instans

2.1 Oprettelse af virtuel maskine

2.1.1. Valg af instanstype

Som standard er instansen t2.micro valgt, og den er det, vi har brug for, så vi klikker blot på knappen Næste: Konfigurér instansdetaljer

Gratis VPN-tjeneste Wireguard på AWS

2.1.2. Konfiguration af instansparametre

Vi vil i fremtiden tilslutte vores instans en permanent offentlig IP, så på dette trin frakobler vi automatisk tildeling af offentlig IP og klikker på knappen Næste: Tilføj lager

Gratis VPN-tjeneste Wireguard på AWS

2.1.3. Tilslutning af lager

Vi angiver størrelsen på "harddisken". 16 gigabyte er tilstrækkeligt til vores behov, og vi klikker på knappen Næste: Tilføj tags

Gratis VPN-tjeneste Wireguard på AWS

2.1.4. Konfiguration af tags

Hvis vi skulle oprette flere instanser, kunne de grupperes efter tags for at lette administrationen. I dette tilfælde er denne funktionalitet unødvendig, så vi klikker straks på knappen Næste: Konfigurér sikkerhedsgruppe

Gratis VPN-tjeneste Wireguard på AWS

2.1.5. Åbning af porte

I dette trin konfigurerer vi firewall'en ved at åbne de nødvendige porte. Sættet af åbne porte kaldes "Sikkerhedsgruppe". Vi skal oprette en ny sikkerhedsgruppe, give den et navn, en beskrivelse, tilføje en UDP-port (Brugerdefineret UDP-regel), og i feltet Portområde skal nummeret på porten tildeles fra intervallet dynamiske porte 49152—65535. I dette tilfælde valgte jeg portnummeret 54321.

Gratis VPN-tjeneste Wireguard på AWS

Når de nødvendige oplysninger er udfyldt, klikker vi på knappen Review and Launch

2.1.6. Gennemgang af alle indstillinger

På denne side gennemgås alle indstillinger for vores instans, kontroller om alt er i orden, og klik på knappen Lancér

Gratis VPN-tjeneste Wireguard på AWS

2.1.7. Oprettelse af adgangsnøgler

Here a dialog box appears, offering either to create or add an existing SSH key, which we will use later to connect remotely to our instance. We select the option "Create a new key pair" to create a new key. We set its name and press the button Download Key Pair, to download the created keys. Save them in a secure location on your local computer's disk. After downloading — press the button Launch Instances

Gratis VPN-tjeneste Wireguard på AWS

2.1.7.1. Saving Access Keys

This shows the stage of saving the created keys from the previous step. After we click the button Download Key Pair, the key is saved as a certificate file with the extension *.pem. In this case, I named it wireguard-awskey.pem

Gratis VPN-tjeneste Wireguard på AWS

2.1.8. Review of Instance Creation Results

Next, we see a message about the successful launch of the instance we just created. We can go to the list of our instances by clicking the button View instances

Gratis VPN-tjeneste Wireguard på AWS

2.2. Creating an External IP Address

2.2.1. Starting External IP Creation

Next, we need to create a permanent external IP address through which we will connect to our VPN server. For this, in the navigation panel on the left side of the screen, we need to select the item Elastic IPs from the category NETWORK & SECURITY and click the button Allocate new address

Gratis VPN-tjeneste Wireguard på AWS

2.2.2. Configuring External IP Creation

In the next step, we need to ensure that the option Amazon pool (enabled by default) is selected, and we click the button Allocate

Gratis VPN-tjeneste Wireguard på AWS

2.2.3. Review of External IP Creation Results

On the next screen, we will see the external IP address we received. It is recommended to remember it, or better yet, to write it down. We will need it repeatedly during the further configuration and use of the VPN server. In this guide, as an example, I use the IP address 4.3.2.1. Once we have recorded the address, we click the button Close

Gratis VPN-tjeneste Wireguard på AWS

2.2.4. List of External IP Addresses

Next, we see a list of our permanent public IP addresses (elastic IP).

Gratis VPN-tjeneste Wireguard på AWS

2.2.5. Assigning an External IP to an Instance

In this list, we select the obtained IP address and right-click to bring up the dropdown menu. In it, we select the item Associate address, to assign it to the instance we created earlier.

Gratis VPN-tjeneste Wireguard på AWS

2.2.6. Configuring External IP Assignment

In the next step, we select our instance from the dropdown list and click the button Associate

Gratis VPN-tjeneste Wireguard på AWS

2.2.7. Review of External IP Assignment Results

Efter dette kan vi se, at vores instans er knyttet til vores faste offentlige IP-adresse og dens private IP-adresse.

Gratis VPN-tjeneste Wireguard på AWS

Nu kan vi forbinde til vores nyoprettede instans udefra, fra vores computer via SSH.

3. Forbindelse til AWS-instansen

SSH — en sikker protokol til fjernstyring af computerudstyr.

3.1. Forbindelse via SSH fra en Windows-computer

For at forbinde fra en Windows-computer skal du først downloade og installere programmet Putty.

3.1.1. Import af privat nøgle til Putty

3.1.1.1. Efter installation af Putty skal du starte værktøjet PuTTYgen, der følger med, for at importere certifikatnøglen i PEM-format til et format, der kan bruges i Putty. Vælg punktet i den øverste menu Conversions->Import Key

Gratis VPN-tjeneste Wireguard på AWS

3.1.1.2. Valg af AWS-nøgle i PEM-format

Vælg nu nøglen, som vi tidligere gemte i trin 2.1.7.1, i vores tilfælde hedder den wireguard-awskey.pem

Gratis VPN-tjeneste Wireguard på AWS

3.1.1.3. Angivelse af importindstillinger for nøglen

I dette trin skal vi angive en kommentar til denne nøgle (beskrivelse) og angive et kodeord og dets bekræftelse for sikkerhedens skyld. Det vil blive anmodet om ved hver forbindelse. På denne måde beskytter vi nøglen med et kodeord mod utilsigtet brug. Det er muligt ikke at angive et kodeord, men det er mindre sikkert, hvis nøglen skulle komme i de forkerte hænder. Tryk derefter på knappen Gem privat nøgle

Gratis VPN-tjeneste Wireguard på AWS

3.1.1.4. Gemme den importerede nøgle

Der vises et dialogvindue til filgemning, og vi gemmer vores private nøgle som en fil med udvidelsen .ppk, der kan bruges i programmet Putty.
Angiv navnet på nøglen (i vores tilfælde wireguard-awskey.ppk) og tryk på knappen Save.

Gratis VPN-tjeneste Wireguard på AWS

3.1.2. Oprettelse og konfiguration af forbindelsen i Putty

3.1.2.1. Oprettelse af forbindelse

Åbn programmet Putty, vælg kategorien Session (den er åbnet som standard) og indtast den offentlige IP-adresse på vores server i feltet Værtsnavn , som vi fik i trin 2.2.3. Indtast et vilkårligt navn til vores forbindelse i feltet Gemte session (i mit tilfælde wireguard-aws-london), og tryk derefter på knappen Gem for at gemme de ændringer, vi har foretaget.

Gratis VPN-tjeneste Wireguard på AWS

3.1.2.2. Konfiguration af automatisk login for brugeren

Derefter i kategorien Connection, vælg underkategorien Data og indtast brugernavnet i feltet Auto-login brugernavn , det er standardbrugeren for instansen på AWS med Ubuntu. ubuntu 3.1.2.3. Valg af privat nøgle til SSH-forbindelsen

Gratis VPN-tjeneste Wireguard på AWS

Derefter går vi til underkategorien

Connection/SSH/Auth og ved siden af feltet og ved siden af feltet Privat nøglefil til godkendelse klik på knappen Gennemse… for at vælge filen med nøglecertifikatet.

Gratis VPN-tjeneste Wireguard på AWS

3.1.2.4. Åbning af den importerede nøgle

Angiv den nøgle, vi importerede tidligere i trin 3.1.1.4, i vores tilfælde er det filen wireguard-awskey.ppk, og klik på knappen Åbn.

Gratis VPN-tjeneste Wireguard på AWS

3.1.2.5. Gemme indstillinger og starte opkobling

Når vi returnerer til kategorisiden Session klik endnu en gang på knappen Gem, for at gemme de ændringer, vi tidligere har foretaget i de forrige trin (3.1.2.2 — 3.1.2.4). Og så klikker vi på knappen Åben for at åbne den fjernforbindelse, vi har oprettet og konfigureret via SSH.

Gratis VPN-tjeneste Wireguard på AWS

3.1.2.7. Opsætning af tillid mellem værter

Ved næste skridt, ved første forsøg på at forbinde, får vi en advarsel, fordi tilliden mellem de to computere ikke er konfigureret, og der bliver spurgt, om vi vil stole på den fjerntliggende computer. Vi vil trykke på knappen Ja, hvilket tilføjer den til listen over betroede værter.

Gratis VPN-tjeneste Wireguard på AWS

3.1.2.8. Indtastning af adgangskode til nøglen

Herefter åbner terminalvinduet, hvor adgangskoden til nøglen bliver anmodet, hvis du har oprettet en tidligere i trin 3.1.1.3. Når adgangskoden indtastes, sker der ingen handlinger på skærmen. Hvis du laver en fejl, kan du bruge tasten Backspace.

Gratis VPN-tjeneste Wireguard på AWS

3.1.2.9. Velkomstbesked om vellykket forbindelse

Efter en vellykket indtastning af adgangskoden vises en velkomsttekst i terminalen, der fortæller, at det fjerntliggende system er klar til at udføre vores kommandoer.

Gratis VPN-tjeneste Wireguard på AWS

4. Konfiguration af Wireguard-serveren

Den mest relevante vejledning til installation og brug af Wireguard med nedenstående scripts kan ses i repositoryet: https://github.com/isystem-io/wireguard-aws

4.1. Installation af Wireguard

I terminalen indtaster vi følgende kommandoer (du kan kopiere dem til udklipsholderen og indsætte dem i terminalen ved at højreklikke):

4.1.1. Kloning af repository

Vi kloner repositoryet med installationsscripts til Wireguard

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

4.1.2. Skift til mappen med scripts

Skift til mappen med det klonede repository

cd wireguard_aws

4.1.3. Kørsel af initialiseringsscriptet

Kør installationsscriptet for Wireguard som administrator (root-bruger)

sudo ./initial.sh

Under installationen vil der blive anmodet om bestemte oplysninger, der er nødvendige for at konfigurere Wireguard

4.1.3.1. Indtastning af tilslutningspunkt

Indtast den eksterne IP-adresse og den åbne port på Wireguard-serveren. Den eksterne IP-adresse fik vi i trin 2.2.3, og porten åbnede vi i trin 2.1.5. Angiv dem samlet adskilt af et kolon, for eksempel 4.3.2.1:54321, og derefter tryk på tasten Enter
Eksempel på output:

Indtast endpoint (ekstern IP og port) i formatet [ipv4:port] (f.eks. 4.3.2.1:54321): 4.3.2.1:54321

4.1.3.2. Indtast intern IP-adresse

Indtast IP-adressen på Wireguard-serveren i det beskyttede VPN-subnet. Hvis du ikke ved, hvad det er, skal du blot trykke på Enter for at bruge standardværdien (10.50.0.1)
Eksempel på output:

Indtast serveradressen i VPN-subnettet (CIDR-format) ([ENTER] sætter til standard: 10.50.0.1):

4.1.3.3. Angiv DNS-server

Indtast IP-adressen på DNS-serveren, eller tryk blot på Enter for at bruge standardværdien 1.1.1.1 (Cloudflare offentlig DNS)
Eksempel på output:

Indtast IP-adressen på DNS-serveren (CIDR-format) ([ENTER] sætter til standard: 1.1.1.1):

4.1.3.4. Angiv WAN-interface

Dernæst skal du indtaste navnet på det eksterne netværksinterface, der skal lytte til det interne VPN-netværksinterface. Tryk blot på Enter for at bruge standardværdien for AWS (eth0)
Eksempel på output:

Indtast navnet på WAN-netværksinterfacet ([ENTER] sætter til standard: eth0):

4.1.3.5. Angiv klientnavn

Indtast VPN-brugerens navn. Wireguard VPN-serveren kan ikke starte, før der er tilføjet mindst én klient. I dette tilfælde indtastede jeg navnet Alex@mobile
Eksempel på output:

Indtast VPN-brugernavn: Alex@mobile

Efter dette bør QR-koden med konfigurationen af den lige tilføjede klient vises på skærmen, som skal scannes med Wireguard-mobilklienten på Android eller iOS for at konfigureres. Derudover vil teksten i konfigurationsfilen blive vist under QR-koden til manuel konfiguration af klienter. Hvordan man gør dette vil blive forklaret nedenfor.

Gratis VPN-tjeneste Wireguard på AWS

4.2. Tilføjelse af ny VPN-bruger

For at tilføje en ny bruger skal du køre skriptet i terminalen add-client.sh

sudo ./add-client.sh

Skriptet beder om brugernavnet:
Eksempel på output:

Indtast VPN-brugernavn: 

Brugernes navne kan også gives som et parameter til skriptet (i dette tilfælde Alex@mobile):

sudo ./add-client.sh Alex@mobile

Som resultat af at skriptet kører, vil der i mappen med klientens navn blive oprettet en fil med klientens konfiguration /etc/wireguard/clients/{ИмяКлиента} , og der vil blive vist en QR-kode på terminalskærmen til konfiguration af mobile klienter samt indholdet af konfigurationsfilen. /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf4.2.1. Filen med brugerens konfiguration

Du kan vise indholdet af .conf-filen på skærmen til manuel konfiguration af klienten ved hjælp af kommandoen

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

resultatet af udførelsen:

udførelsesresultat:

[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

Beskrivelse af klientkonfigurationsfilen:

[Interface]
PrivateKey = Klientens private nøgle
Address = Klientens IP-adresse
DNS = DNS brugt af klienten

[Peer]
PublicKey = Serverens offentlige nøgle
PresharedKey = Fælles nøgle for server og klient
AllowedIPs = Tilladte adresser for tilslutning (alle - 0.0.0.0/0, ::/0)
Endpoint = IP-adresse og port for tilslutning

4.2.2. QR-kode for klientkonfiguration

QR-koden for konfigurationen af den tidligere oprettede klient kan vises på terminalen ved hjælp af kommandoen qrencode -t ansiutf8 (i dette eksempel bruges klienten med navnet Alex@mobile):

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

5. Konfiguration af VPN-klienter

5.1. Opsætning af mobilklient til Android

Den officielle Wireguard-klient til Android kan installeres fra den officielle Google Play-butik

Efterfølgende skal konfigurationen importeres ved at scanne QR-koden med klientkonfigurationen (se punkt 4.2.2) og give den et navn:

Gratis VPN-tjeneste Wireguard på AWS

Efter en vellykket import af konfigurationen kan VPN-tunnelen aktiveres. En succesfuld forbindelse vil blive angivet af et ikon i systemstatuslinjen på Android.

Gratis VPN-tjeneste Wireguard på AWS

5.2. Opsætning af Windows-klienten

Først skal du downloade og installere programmet TunSafe til Windows — det er Wireguard-klienten til Windows.

5.2.1. Oprettelse af konfigurationsfil til import

Højreklik for at oprette en tekstfil på skrivebordet.

Gratis VPN-tjeneste Wireguard på AWS

5.2.2. Kopiering af indholdet af konfigurationsfilen fra serveren

Derefter vender vi tilbage til Putty-terminalen og viser indholdet af konfigurationsfilen for den ønskede bruger, som beskrevet i trin 4.2.1.
Derefter markerer du teksten i konfigurationen i Putty-terminalen med højre musetast; når markeringen er afsluttet, kopieres den automatisk til udklipsholderen.

Gratis VPN-tjeneste Wireguard på AWS

5.2.3. Kopiering af konfigurationen til lokal konfigurationsfil

Efter dette vender vi tilbage til den tekstfil, vi tidligere oprettede på skrivebordet, og indsætter teksten fra udklipsholderen.

Gratis VPN-tjeneste Wireguard på AWS

5.2.4. Gemme den lokale konfigurationsfil

Gem filen med filtypen .conf (i dette tilfælde med navnet london.conf)

Gratis VPN-tjeneste Wireguard på AWS

5.2.5. Importere den lokale konfigurationsfil

Derefter skal konfigurationsfilen importeres i programmet TunSafe.

Gratis VPN-tjeneste Wireguard på AWS

5.2.6. Oprettelse af VPN-forbindelse

Vælg denne konfigurationsfil og forbind ved at trykke på knappen Forbind.
Gratis VPN-tjeneste Wireguard på AWS

6. Kontrol af tilslutningssucces

For at kontrollere tilslutningssucces gennem VPN-tunnelen skal du åbne din browser og gå til hjemmesiden https://2ip.ua/ru/

Gratis VPN-tjeneste Wireguard på AWS

Den viste IP-adresse skal være den samme som den, vi fik i trin 2.2.3.
Hvis det er tilfældet, fungerer VPN-tunnelen korrekt.

Fra terminalen i Linux kan du kontrollere din IP-adresse ved at indtaste kommandoen:

curl http://zx2c4.com/ip

Eller du kan bare gå på en pornosite, hvis du befinder dig i Kasakhstan.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster