Med den stigende censur af internettet fra autoritære regimer blokeres et stigende antal nyttige internetressourcer og websteder. Herunder teknisk information.
Det bliver således umuligt fuldt ud at bruge internettet og krænker den grundlæggende ret til ytringsfrihed, som er nedfældet i Verdenserklæringen om menneskerettigheder.
Artikel 19
Enhver har ret til menings- og ytringsfrihed; denne ret omfatter frihed til at have meninger uden indblanding og til at søge, modtage og videregive information og ideer gennem alle medier og uanset grænser
I denne guide vil vi implementere vores eget freeware* i 6 trin. VPN-tjeneste baseret på teknologi Trådbeskyttelse, i cloud-infrastruktur Amazon Web Services (AWS), ved hjælp af en gratis konto (i 12 måneder), på en instans (virtuel maskine) administreret af Ubuntu Server 18.04LTS.
Jeg har forsøgt at gøre denne gennemgang så venlig over for ikke-it-folk som muligt. Det eneste, der kræves, er vedholdenhed i at gentage trinene beskrevet nedenfor.
Bemærk
AWS giver gratis brugsniveau i en periode på 12 måneder, med en grænse på 15 gigabyte trafik pr. måned.
Tilmelding til en gratis AWS-konto kræver et rigtigt telefonnummer og et gyldigt Visa- eller Mastercard-kreditkort. Jeg anbefaler at bruge virtuelle kort, der leveres gratis Yandex eller qiwi pung. For at kontrollere kortets gyldighed trækkes 1 $ ved registreringen, som senere returneres.
På dette tidspunkt bekræftes telefonnummeret, og 1 $ debiteres direkte fra betalingskortet. En 4-cifret kode vises på computerskærmen, og den angivne telefon modtager et opkald fra Amazon. Under et opkald skal du indtaste den kode, der vises på skærmen.
1.6. Valg af takstplan.
Vælg - Grundplan (gratis)
1.7. Log ind på administrationskonsollen
1.8. Valg af placering af datacenteret
1.8.1. Hastighedstest
Inden du vælger et datacenter, anbefales det at teste igennem https://speedtest.net hastighed for adgang til de nærmeste datacentre, i min placering følgende resultater:
Singapore
Paris
Frankfurt
Stockholm
London
Datacentret i London viser de bedste resultater i forhold til hastighed. Så jeg valgte det til yderligere tilpasning.
2. Opret en AWS-instans
2.1 Opret en virtuel maskine
2.1.1. Valg af en instanstype
Som standard er t2.micro-forekomsten valgt, vi har brug for den, bare tryk på knappen Næste: Konfigurer instansdetaljer
2.1.2. Indstilling af instansindstillinger
I fremtiden vil vi forbinde en permanent offentlig IP til vores instans, så på dette tidspunkt slår vi automatisk tildeling af en offentlig IP fra og trykker på knappen Næste: Tilføj lagerplads
2.1.3. Lagerforbindelse
Angiv størrelsen på "harddisken". Til vores formål er 16 gigabyte nok, og vi trykker på knappen Næste: Tilføj tags
2.1.4. Opsætning af tags
Hvis vi oprettede flere forekomster, kunne de grupperes efter tags for at lette administrationen. I dette tilfælde er denne funktionalitet overflødig, tryk straks på knappen Næste: Konfigurer sikkerhedsgruppe
2.1.5. Åbning af porte
I dette trin konfigurerer vi firewallen ved at åbne de nødvendige porte. Sættet af åbne porte kaldes sikkerhedsgruppen. Vi skal oprette en ny sikkerhedsgruppe, give den et navn, beskrivelse, tilføje en UDP-port (Custom UDP Rule), i feltet Ror Range skal du tildele et portnummer fra området dynamiske porte 49152-65535. I dette tilfælde valgte jeg portnummer 54321.
Når du har udfyldt de nødvendige data, skal du klikke på knappen Gennemgå og start
2.1.6. Oversigt over alle indstillinger
På denne side er der en oversigt over alle indstillinger i vores instans, vi tjekker om alle indstillinger er i orden, og trykker på knappen Launch
2.1.7. Oprettelse af adgangsnøgler
Dernæst kommer en dialogboks, der tilbyder at enten oprette eller tilføje en eksisterende SSH-nøgle, som vi senere fjernforbindelse til vores instans med. Vi vælger muligheden "Opret et nyt nøglepar" for at oprette en ny nøgle. Giv den et navn, og klik på knappen Download nøgleparfor at downloade de genererede nøgler. Gem dem et sikkert sted på din lokale computer. Når den er downloadet, skal du klikke på knappen. Start tilfælde
2.1.7.1. Gemmer adgangsnøgler
Her vises trinnet med at gemme de genererede nøgler fra det forrige trin. Efter vi trykkede på knappen Download nøglepar, gemmes nøglen som en certifikatfil med filtypenavnet *.pem. I dette tilfælde gav jeg den et navn wireguard-awskey.pem
2.1.8. Oversigt over resultater for oprettelse af instanser
Dernæst ser vi en besked om den vellykkede lancering af den instans, vi lige har oprettet. Vi kan gå til listen over vores forekomster ved at klikke på knappen se forekomster
2.2. Oprettelse af en ekstern IP-adresse
2.2.1. Starter oprettelsen af en ekstern IP
Dernæst skal vi oprette en permanent ekstern IP-adresse, hvorigennem vi vil oprette forbindelse til vores VPN-server. For at gøre dette skal du vælge elementet i navigationspanelet i venstre side af skærmen Elastiske IP'er fra kategori NETVÆRK & SEKTION og tryk på knappen Tildel ny adresse
2.2.2. Konfiguration af oprettelse af en ekstern IP
I det næste trin skal vi aktivere muligheden Amazon pool (aktiveret som standard), og klik på knappen Afsætte
2.2.3. Oversigt over resultaterne af oprettelse af en ekstern IP-adresse
Den næste skærm viser den eksterne IP-adresse, vi modtog. Det anbefales at huske det, og det er bedre endda at skrive det ned. det vil være nyttigt mere end én gang i processen med yderligere opsætning og brug af VPN-serveren. I denne guide bruger jeg IP-adressen som eksempel. 4.3.2.1. Når du har indtastet adressen, skal du trykke på knappen Luk
2.2.4. Liste over eksterne IP-adresser
Dernæst får vi en liste over vores permanente offentlige IP-adresser (elastics IP).
2.2.5. Tildeling af en ekstern IP til en instans
På denne liste vælger vi den IP-adresse, vi modtog, og trykker på højre museknap for at få en rullemenu frem. I den skal du vælge elementet associeret adressefor at tildele den til den instans, vi oprettede tidligere.
2.2.6. Ekstern IP-tildelingsindstilling
I næste trin skal du vælge vores forekomst fra rullelisten og trykke på knappen Associate
2.2.7. Oversigt over eksterne IP-tildelingsresultater
Derefter kan vi se, at vores instans og dens private IP-adresse er bundet til vores permanente offentlige IP-adresse.
Nu kan vi oprette forbindelse til vores nyoprettede instans udefra, fra vores computer via SSH.
3. Opret forbindelse til en AWS-instans
SSH er en sikker protokol til fjernstyring af computerenheder.
3.1. Tilslutning via SSH fra en Windows-computer
For at oprette forbindelse til en Windows-computer skal du først downloade og installere programmet Putty.
3.1.1. Importer privat nøgle til Putty
3.1.1.1. Efter installation af Putty, skal du køre PuTTYgen-værktøjet, der følger med, for at importere certifikatnøglen i PEM-format i et format, der er egnet til brug i Putty. For at gøre dette skal du vælge punktet i topmenuen Konverteringer->Importer nøgle
3.1.1.2. Valg af en AWS-nøgle i PEM-format
Vælg derefter den nøgle, som vi tidligere gemte i trin 2.1.7.1, i vores tilfælde dens navn wireguard-awskey.pem
3.1.1.3. Indstilling af nøgleimportindstillinger
På dette trin skal vi angive en kommentar til denne nøgle (beskrivelse) og angive en adgangskode og bekræftelse for sikkerheden. Det vil blive anmodet om, hver gang du opretter forbindelse. Således beskytter vi nøglen med en adgangskode mod upassende brug. Du behøver ikke angive et kodeord, men det er mindre sikkert, hvis nøglen falder i de forkerte hænder. Efter at vi har trykket på knappen Gem privat nøgle
3.1.1.4. Gemmer en importeret nøgle
En gem fildialog åbnes, og vi gemmer vores private nøgle som en fil med filtypenavnet .ppkvelegnet til brug i programmet Putty.
Angiv navnet på nøglen (i vores tilfælde wireguard-awskey.ppk) og tryk på knappen Bevar.
3.1.2. Oprettelse og konfiguration af en forbindelse i Putty
3.1.2.1. Opret en forbindelse
Åbn Putty-programmet, vælg en kategori Session (det er åbent som standard) og i feltet Host Name indtast den offentlige IP-adresse på vores server, som vi modtog i trin 2.2.3. I marken Gemt session indtast et vilkårligt navn for vores forbindelse (i mit tilfælde wireguard-aws-london), og tryk derefter på knappen Gem for at gemme de ændringer, vi har lavet.
3.1.2.2. Opsætning af brugerautologin
Mere i kategorien Forbindelse, vælg en underkategori data og i marken Auto-login brugernavn indtast brugernavn ubuntu er standardbrugeren af instansen på AWS med Ubuntu.
3.1.2.3. Valg af en privat nøgle til tilslutning via SSH
Gå derefter til underkategorien Forbindelse/SSH/Auth og ved siden af marken Privat nøglefil til godkendelse tryk på knappen Gennemse ... for at vælge en fil med et nøglecertifikat.
3.1.2.4. Åbning af en importeret nøgle
Angiv nøglen, som vi importerede tidligere i trin 3.1.1.4, i vores tilfælde er det en fil wireguard-awskey.ppk, og tryk på knappen åbne.
3.1.2.5. Gemmer indstillinger og starter en forbindelse
Vender tilbage til kategorisiden Session tryk på knappen igen Gem, for at gemme de ændringer, vi lavede tidligere i de foregående trin (3.1.2.2 - 3.1.2.4). Og så trykker vi på knappen Åbne for at åbne den eksterne SSH-forbindelse, vi oprettede og konfigurerede.
3.1.2.7. Oprettelse af tillid mellem værter
På næste trin, første gang vi forsøger at oprette forbindelse, får vi en advarsel, vi har ikke konfigureret tillid mellem de to computere, og spørger, om vi skal have tillid til fjerncomputeren. Vi trykker på knappen Ja, og derved tilføje den til listen over betroede værter.
3.1.2.8. Indtastning af en adgangskode for at få adgang til nøglen
Derefter åbnes et terminalvindue, hvor du bliver bedt om adgangskoden til nøglen, hvis du indstillede den tidligere i trin 3.1.1.3. Når du indtaster en adgangskode, sker der ingen handling på skærmen. Hvis du laver en fejl, kan du bruge nøglen Backspace.
3.1.2.9. Velkomstbesked om vellykket forbindelse
Efter at have indtastet adgangskoden, får vi vist en velkomsttekst i terminalen, som fortæller os, at fjernsystemet er klar til at udføre vores kommandoer.
4. Konfiguration af Wireguard Server
De mest opdaterede instruktioner til installation og brug af Wireguard ved hjælp af de scripts, der er beskrevet nedenfor, kan findes i depotet: https://github.com/isystem-io/wireguard-aws
4.1. Installation af WireGuard
Indtast følgende kommandoer i terminalen (du kan kopiere til udklipsholderen og indsætte terminalen ved at trykke på højre museknap):
Kør som administrator (rodbruger) Wireguard-installationsscriptet
sudo ./initial.sh
Installationsprocessen vil bede om visse data, der kræves for at konfigurere Wireguard
4.1.3.1. Tilslutningspunkt input
Indtast den eksterne IP-adresse og åben port på Wireguard-serveren. Vi fik serverens eksterne IP-adresse i trin 2.2.3, og åbnede porten i trin 2.1.5. Vi angiver dem sammen og adskiller dem for eksempel med et kolon 4.3.2.1:54321og tryk derefter på tasten Indtast Eksempel output:
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. Indtastning af den interne IP-adresse
Indtast IP-adressen på Wireguard-serveren på det sikre VPN-undernet, hvis du ikke ved hvad det er, skal du blot trykke på Enter-tasten for at indstille standardværdien (10.50.0.1) Eksempel output:
Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):
4.1.3.3. Angivelse af en DNS-server
Indtast IP-adressen på DNS-serveren, eller tryk bare på Enter-tasten for at indstille standardværdien 1.1.1.1 (Offentlig Cloudflare DNS) Eksempel output:
Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):
4.1.3.4. Angivelse af WAN-grænsefladen
Dernæst skal du indtaste navnet på den eksterne netværksgrænseflade, der vil lytte på den interne VPN-netværksgrænseflade. Bare tryk på Enter for at indstille standardværdien for AWS (eth0) Eksempel output:
Enter the name of the WAN network interface ([ENTER] set to default: eth0):
4.1.3.5. Angivelse af klientens navn
Indtast navnet på VPN-brugeren. Faktum er, at Wireguard VPN-serveren ikke vil være i stand til at starte, før der er tilføjet mindst én klient. I dette tilfælde indtastede jeg navnet Alex@mobile Eksempel output:
Enter VPN user name: Alex@mobile
Derefter skal der vises en QR-kode med konfigurationen af den nyligt tilføjede klient på skærmen, som skal læses ved hjælp af Wireguard-mobilklienten på Android eller iOS for at konfigurere den. Og også under QR-koden vil teksten i konfigurationsfilen blive vist i tilfælde af manuel konfiguration af klienter. Hvordan man gør dette vil blive diskuteret nedenfor.
4.2. Tilføjelse af en ny VPN-bruger
For at tilføje en ny bruger skal du udføre scriptet i terminalen add-client.sh
sudo ./add-client.sh
Scriptet beder om et brugernavn: Eksempel output:
Enter VPN user name:
Navnet på brugere kan også videregives som en scriptparameter (i dette tilfælde Alex@mobile):
sudo ./add-client.sh Alex@mobile
Som et resultat af scriptudførelsen, i mappen med klientens navn langs stien /etc/wireguard/clients/{ИмяКлиента} klientkonfigurationsfil vil blive oprettet /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, og terminalskærmen vil vise en QR-kode til opsætning af mobilklienter og indholdet af konfigurationsfilen.
4.2.1. Brugerkonfigurationsfil
Du kan vise indholdet af .conf-filen på skærmen til manuel konfiguration af klienten ved hjælp af kommandoen cat
[Interface]
PrivateKey = Приватный ключ клиента
Address = IP адрес клиента
DNS = ДНС используемый клиентом
[Peer]
PublicKey = Публичный ключ сервера
PresharedKey = Общи ключ сервера и клиента
AllowedIPs = Разрешенные адреса для подключения (все - 0.0.0.0/0, ::/0)
Endpoint = IP адрес и порт для подключения
4.2.2. QR-kode til klientkonfiguration
Du kan vise en QR-konfigurationskode for en tidligere oprettet klient på terminalskærmen ved hjælp af kommandoen qrencode -t ansiutf8 (i dette eksempel bruges klienten ved navn Alex@mobile):
Derefter er det nødvendigt at importere konfigurationen ved at læse QR-koden med klientkonfigurationen (se afsnit 4.2.2) og give den et navn:
Efter vellykket import af konfigurationen kan du aktivere VPN-tunnelen. En vellykket forbindelse indikeres af en nøgleopbevaring i Android-systembakken
5.2. Windows klient opsætning
Først skal du downloade og installere programmet TunSafe til Windows er Wireguard-klienten til Windows.
5.2.1. Oprettelse af en importkonfigurationsfil
Højreklik for at oprette en tekstfil på skrivebordet.
5.2.2. Kopier 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.
Højreklik derefter på konfigurationsteksten i Putty-terminalen, efter at valget er afsluttet, kopieres den automatisk til udklipsholderen.
5.2.3. Kopiering af konfigurationen til en lokal konfigurationsfil
I dette felt vender vi tilbage til den tekstfil, vi oprettede tidligere på skrivebordet, og indsætter konfigurationsteksten i den fra udklipsholderen.
5.2.4. Gemmer en lokal konfigurationsfil
Gem filen med filtypenavnet .konf (i dette tilfælde navngivet london.conf)
5.2.5. Import af en lokal konfigurationsfil
Dernæst skal du importere konfigurationsfilen til TunSafe-programmet.
5.2.6. Opsætning af en VPN-forbindelse
Vælg denne konfigurationsfil og tilslut ved at klikke på knappen Tilslut.
6. Kontrollerer, om forbindelsen var vellykket
For at kontrollere succesen af forbindelsen gennem VPN-tunnelen skal du åbne en browser og gå til webstedet https://2ip.ua/ru/
Den viste IP-adresse skal svare til den, vi modtog i trin 2.2.3.
Hvis ja, så fungerer VPN-tunnelen med succes.
Fra Linux-terminalen kan du kontrollere din IP-adresse ved at skrive:
curl http://zx2c4.com/ip
Eller du kan bare gå til pornhub, hvis du er i Kasakhstan.