Varför?
Med ökningen av internetcensur frÄn auktoritÀra regimer blockeras allt fler anvÀndbara internetresurser och webbplatser. Detta inkluderar teknisk information.
DÀrmed blir det omöjligt att fullt ut anvÀnda internet och det grundlÀggande mÀnskliga rÀttigheten till yttrandefrihet, som faststÀlls i .
Artikel 19
Varje individ har rÀtt till yttrandefrihet och att fritt uttrycka sina Äsikter; denna rÀtt innefattar friheten att utan hinder hÄlla fast vid sina Äsikter samt friheten att söka, ta emot och sprida information och idéer med vilket som helst medel och oavsett statliga grÀnser.
I denna guide kommer vi i 6 steg att sÀtta upp vÄr egen kostnadsfria* baserad pÄ teknik , i molninfrastrukturen (AWS), med hjÀlp av ett kostnadsfritt konto (i 12 mÄnader), pÄ en instans (virtuell maskin) som körs med .
Jag har försökt att göra denna steg-för-steg-guide sÄ anvÀndarvÀnlig som möjligt för personer som Àr ovana vid IT. Det enda som krÀvs Àr tÄlamod att följa stegen som beskrivs nedan.
AnmÀrkning
- AWS erbjuder under 12 mÄnader, med en begrÀnsning pÄ 15 gigabyte trafik per mÄnad.
- Den mest aktuella versionen av denna guide finns pÄ adressen
Steg
- Registrera ett kostnadsfritt AWS-konto
- Skapa en AWS-instans
- Ansluta till AWS-instansen
- Konfigurera Wireguard
- Konfigurera VPN-klienter
- Kontrollera installationens korrekthet av VPN
Nyttiga lÀnkar
1. Registrera ett AWS-konto
För att registrera ett kostnadsfritt AWS-konto krÀvs ett giltigt telefonnummer och ett betalande kreditkort av typen Visa eller Mastercard. Jag rekommenderar att anvÀnda de virtuella kort som gratis tillhandahÄlls av eller . För att verifiera kortets giltighet debiteras 1 dollar vid registrering, vilket senare Äterbetalas.
1.1. Ăppna AWS hanteringskonsol
Ăppna en webblĂ€sare och gĂ„ till följande adress:
Klicka pÄ knappen 'Registrera'

1.2. Fyll i personlig information
Fyll i uppgifterna och klicka pÄ knappen 'FortsÀtt'

1.3. Fyll i kontaktinformation
Fyll i kontaktuppgifterna.

1.4. Ange betalningsinformation.
Kortnummer, utgÄngsdatum och innehavarens namn.

1.5. BekrÀftelse av kontot
I det hÀr steget bekrÀftas telefonnumret och en avgift pÄ 1 $ dras frÄn betalningskortet. PÄ datorskÀrmen visas en fyrsiffrig kod och ett samtal frÄn Amazon kommer till det angivna telefonnumret. Under samtalet behöver du slÄ in koden som visas pÄ skÀrmen.

1.6. Val av tariffplan.
Vi vĂ€ljer â Grundplan (gratis)

1.7. Inloggning till kontrollpanelen

1.8. Val av datacenterplats

1.8.1. Hastighetstest
Innan du vÀljer datacenter rekommenderas det att testa hastigheten till nÀrmaste datacenter genom hastigheten för Ätkomst till de nÀrmaste datacentren, i min plats Àr resultaten:
- Singapore

- Paris

- Frankfurt

- Stockholm

- London

BÀsta resultaten visar datacentret i London. DÀrför har jag valt det för vidare instÀllning.
2. Skapa en AWS-instans
2.1. Skapa en virtuell maskin
2.1.1. VĂ€lj instanstyp
Som standard Àr instansen t2.micro vald, och det Àr vad vi behöver, vi trycker bara pÄ knappen Next: Konfigurera instansdetaljer

2.1.2. Konfigurera instansparametrar
Vidare kommer vi att koppla en permanent offentlig IP till vÄr instans, sÄ pÄ det hÀr steget avaktiverar vi automatisk tilldelning av offentlig IP och trycker pÄ knappen Next: LÀgg till lagring

2.1.3. Ansluta lagring
Ange storleken pÄ "hÄrddisken". För vÄra syften rÀcker det med 16 gigabyte, och vi trycker pÄ knappen Next: LÀgg till taggar

2.1.4. Konfigurera taggar
Om vi skulle skapa flera instanser skulle vi kunna gruppera dem med hjÀlp av taggar för att underlÀtta administrationen. I det hÀr fallet Àr denna funktionalitet överflödig, sÄ vi trycker direkt pÄ knappen Next: Konfigurera sÀkerhetsgrupp

2.1.5. Ăppna portar
I det hĂ€r steget konfigurerar vi brandvĂ€ggen genom att öppna nödvĂ€ndiga portar. MĂ€ngden öppna portar kallas "SĂ€kerhetsgrupp". Vi mĂ„ste skapa en ny sĂ€kerhetsgrupp, ge den ett namn, en beskrivning, lĂ€gga till UDP-porten (Anpassad UDP-regel), i Rort Range-fĂ€ltet mĂ„ste vi ange portnumret frĂ„n intervallet 49152â65535. I det hĂ€r fallet valde jag portnummer 54321.

Efter att ha fyllt i nödvÀndiga uppgifter trycker vi pÄ knappen Granska och starta
2.1.6. Granska alla instÀllningar
PÄ den hÀr sidan görs en översyn av alla instÀllningar för vÄr instans, vi kontrollerar att alla instÀllningar Àr korrekta och trycker pÄ knappen Starta

2.1.7. Skapa Ätkomstnycklar
DĂ€refter visas en dialogruta som erbjuder att antingen skapa ett nytt eller lĂ€gga till en befintlig SSH-nyckel, som vi senare kommer att anvĂ€nda för att ansluta till vĂ„r instans pĂ„ distans. Vi vĂ€ljer alternativet «Create a new key pair» för att skapa en ny nyckel. Vi anger ett namn för den och klickar pĂ„ knappen Ladda ner nyckelpar, för att ladda ner de skapade nycklarna. Spara dem pĂ„ en sĂ€ker plats pĂ„ din lokala dator. NĂ€r du har laddat ner â klicka pĂ„ knappen Starta instanser

2.1.7.1. Spara Ätkomstnycklar
HÀr visas steget dÀr de skapade nycklarna frÄn föregÄende steg sparas. Efter att vi tryckt pÄ knappen Ladda ner nyckelpar, sparas nyckeln som en certifikatfil med filÀndelsen *.pem. I det hÀr fallet gav jag den namnet wireguard-awskey.pem

2.1.8. Granskning av resultatet av instansskapandet
DÀrefter ser vi ett meddelande om att den instans vi just skapade har startats framgÄngsrikt. Vi kan gÄ till vÄr lista över instanser genom att klicka pÄ knappen Visa instanser

2.2. Skapa en extern IP-adress
2.2.1. Start av skapandet av en extern IP
Nu behöver vi skapa en permanent extern IP-adress, genom vilken vi kommer att ansluta till vĂ„r VPN-server. För detta mĂ„ste vi i navigeringsfĂ€ltet till vĂ€nster pĂ„ skĂ€rmen vĂ€lja punkten Elastic IPs frĂ„n kategorin NĂTVERK & SĂKERHET och klicka pĂ„ knappen Tilldela ny adress

2.2.2. InstÀllning av skapandet av en extern IP
PÄ nÀsta steg behöver vi se till att alternativet Amazon pool Àr aktiverat (aktiverat som standard), och klicka pÄ knappen Tilldela

2.2.3. Granskning av resultatet av skapandet av en extern IP-adress
PÄ nÀsta skÀrm visas den externa IP-adress som vi fÄtt. Det rekommenderas att komma ihÄg den, eller Ànnu bÀttre skriva ner den. Vi kommer att behöva den flera gÄnger under den pÄgÄende konfigurationen och anvÀndningen av VPN-servern. I den hÀr guiden anvÀnder jag som exempel IP-adressen 4.3.2.1. NÀr vi har skrivit ner adressen, klicka pÄ knappen StÀng

2.2.4. Lista över externa IP-adresser
DÀrefter öppnas en lista över vÄra permanenta offentliga IP-adresser (elastiska IP).

2.2.5. Tilldela extern IP till instansen
I den hÀr listan vÀljer vi den externa IP-adressen vi fÄtt och högerklickar för att visa en rullgardinsmeny. I den vÀljer vi punkten Tilldela adress, för att tilldela den till den instans vi tidigare har skapat.

2.2.6. InstÀllning av tilldelning av extern IP
I nÀsta steg vÀljer vi vÄr instans frÄn rullgardinsmenyn och klickar pÄ knappen Tilldela

2.2.7. Ăversikt av resultatet av tilldelningen av extern IP
Efter detta kan vi se att vÄr instans Àr kopplad till vÄr permanenta publika IP-adress samt dess privata IP-adress.

Nu kan vi ansluta till vÄr nyss skapade instans frÄn utsidan, frÄn vÄr dator via SSH.
3. Anslutning till AWS-instans
Àr ett sÀkert protokoll för fjÀrrstyrning av datorer.
3.1. Anslutning via SSH frÄn en Windows-dator
För att ansluta frÄn en Windows-dator mÄste vi först ladda ner och installera programmet .
3.1.1. Import av privat nyckel för Putty
3.1.1.1. Efter installation av Putty, mÄste vi starta verktyget PuTTYgen som följer med i paketet för att importera certifikatnyckeln frÄn PEM-format till ett format som Àr anvÀndbart för Putty. För detta vÀljer vi i den övre menyn punkten Conversions->Import Key

3.1.1.2. Val av AWS-nyckel i PEM-format
DÀrefter vÀljer vi nyckeln som vi tidigare sparade i steg 2.1.7.1, i vÄrt fall heter den wireguard-awskey.pem

3.1.1.3. Ange parametrar för nyckelimport
I det hÀr steget behöver vi ange en kommentar för denna nyckel (beskrivning) och ange ett lösenord och bekrÀftelse för sÀkerhet. Det kommer att begÀras vid varje anslutning. PÄ sÄ sÀtt skyddar vi nyckeln med ett lösenord mot otillÄten anvÀndning. Lösenordet kan utelÀmnas, men det Àr mindre sÀkert om nyckeln hamnar i fel hÀnder. Tryck sedan pÄ knappen Save private key

3.1.1.4. Spara den importerade nyckeln
Ett dialogfönster för att spara filen öppnas, och vi sparar vÄr privata nyckel som en fil med tillÀgget .ppk, anvÀndbar för programmet Putty.
Ange nyckelns namn (i vÄrt fall wireguard-awskey.ppk) och tryck pÄ knappen Spara.

3.1.2. Skapa och konfigurera anslutningen i Putty
3.1.2.1. Skapa anslutning
Ăppna programmet Putty, vĂ€lj kategorin Session (den Ă€r öppnad som standard) och i fĂ€ltet Host Name anger den offentliga IP-adressen för vĂ„r server, som vi fick i steg 2.2.3. I fĂ€ltet Saved Session anger ett godtyckligt namn för vĂ„r anslutning (i mitt fall wireguard-aws-london), och tryck sedan pĂ„ knappen Save för att spara de Ă€ndringar vi gjort.

3.1.2.2. InstÀllning av automatisk inloggning för anvÀndaren
Vidare i kategorin Connection, vĂ€lj underkategorin Data och i fĂ€ltet Auto-login username anger anvĂ€ndarnamnet ubuntu â detta Ă€r en standardanvĂ€ndare för instansen pĂ„ AWS med Ubuntu.

3.1.2.3. Val av privat nyckel för USB-anslutning.
Sedan gÄr vi till underkategorin Anslutning/SSH/Auktorisering och bredvid fÀltet Privat nyckelfil för autentisering trycker vi pÄ knappen BlÀddra⊠för att vÀlja filen med certifikatnyckeln.

3.1.2.4. Ăppning av den importerade nyckeln
Vi anger nyckeln som vi importerade tidigare i steg 3.1.1.4, i vĂ„rt fall Ă€r det filen wireguard-awskey.ppk, och trycker pĂ„ knappen Ăppna.

3.1.2.5. Spara instÀllningarna och starta anslutningen
NĂ€r vi gĂ„r tillbaka till kategorisidan Session trycker vi Ă„terigen pĂ„ knappen Save, för att spara de Ă€ndringar vi gjorde tidigare i stegen (3.1.2.2 â 3.1.2.4). Och sedan trycker vi pĂ„ knappen Ăppen för att öppna den skapade och konfigurerade fjĂ€rranslutningen via SSH.

3.1.2.7. Konfiguration av förtroende mellan vÀrdar
I nÀsta steg, vid första försöket att ansluta, fÄr vi en varning, eftersom förtroende mellan de tvÄ datorerna inte Àr instÀllt, och man frÄgar om vi litar pÄ den fjÀrrdatorn. Vi kommer att trycka pÄ knappen Ja, vilket lÀgger till den i listan över betrodda vÀrdar.

3.1.2.8. Ange lösenord för Ätkomst till nyckeln
Efter detta öppnas ett terminalfönster dÀr lösenordet till nyckeln efterfrÄgas, om du har stÀllt in det tidigare i steg 3.1.1.3. NÀr du anger lösenordet hÀnder inget pÄ skÀrmen. Om du gör ett misstag kan du anvÀnda tangenten Backspace.

3.1.2.9. VĂ€lkomstmeddelande om lyckad anslutning
Efter att ha angivit lösenordet framgÄngsrikt visas ett vÀlkomstmeddelande i terminalen som meddelar att det fjÀrrsystemet Àr redo att utföra vÄra kommandon.

4. Konfigurera Wireguard-servern
Den mest aktuella instruktionen för installation och anvÀndning av Wireguard med hjÀlp av de nedan beskrivna skripten kan ses i repositoryt:
4.1. Installation av Wireguard
I terminalen skriver vi in följande kommandon (kan kopieras till urklipp och klistras in i terminalen med höger musknapp):
4.1.1. Klona repositoryt
Vi klonar repositoryt med installationsskripten för Wireguard
git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws4.1.2. GĂ„ till katalogen med skripten
Vi gÄr till katalogen med det klonade repositoryt
cd wireguard_aws4.1.3 Kör installationsskriptet
Vi kör installationsskriptet för Wireguard som administratör (root-anvÀndare)
sudo ./initial.shUnder installationen kommer vissa uppgifter att efterfrÄgas som behövs för att konfigurera Wireguard
4.1.3.1. Ange anslutningspunkt
Ange den externa IP-adressen och den öppna porten för Wireguard-servern. Den externa IP-adressen för servern fick vi vid steg 2.2.3, och porten öppnades vid steg 2.1.5. Ange dem sammanhÀngande, separerade med ett kolon, till exempel 4.3.2.1:54321, och tryck sedan pÄ tangenten Enter
Exempel pÄ utdata:
Ange endpointen (extern ip och port) i formatet [ipv4:port] (t.ex. 4.3.2.1:54321): 4.3.2.1:543214.1.3.2. Ange den interna IP-adressen
Ange IP-adressen för Wireguard-servern i den skyddade VPN-undernÀtet, om du inte vet vad detta Àr, tryck bara pÄ tangenten Enter för att anvÀnda standardvÀrdet (10.50.0.1)
Exempel pÄ utdata:
Ange serveradressen i VPN-undernÀtet (CIDR-format) ([ENTER] sÀtt till standard: 10.50.0.1):4.1.3.3. Ange DNS-servern
Ange IP-adressen för DNS-servern, eller tryck bara pÄ tangenten Enter för att anvÀnda standardvÀrdet 1.1.1.1 (Cloudflare offentlig DNS)
Exempel pÄ utdata:
Ange IP-adressen för DNS-servern (CIDR-format) ([ENTER] sÀtt till standard: 1.1.1.1):4.1.3.4. Ange WAN-grÀnssnitt
DÀrefter mÄste du ange namnet pÄ det externa nÀtverksgrÀnssnitt som kommer att lyssna pÄ det interna VPN-nÀtverksgrÀnssnittet. Tryck bara pÄ Enter för att anvÀnda standardvÀrdet för AWS (eth0)
Exempel pÄ utdata:
Ange namnet pÄ WAN-nÀtverksgrÀnssnittet ([ENTER] sÀtt till standard: eth0):4.1.3.5. Ange klientnamn
Ange namnet pÄ VPN-anvÀndaren. Wireguard VPN-servern kan inte startas förrÀn minst en klient har lagts till. I det hÀr fallet angav jag namnet Alex@mobile
Exempel pÄ utdata:
Ange VPN-anvÀndarnamn: Alex@mobileEfter detta ska en QR-kod med konfigurationen för den just tillagda klienten visas pÄ skÀrmen, som mÄste lÀsas av med den mobila Wireguard-klienten pÄ Android eller iOS för att stÀllas in. Dessutom kommer texten i konfigurationsfilen att visas under QR-koden i hÀndelse av manuell konfiguration av klienterna. Hur detta görs kommer att förklaras nedan.

4.2. LÀgga till ny VPN-anvÀndare
För att lÀgga till en ny anvÀndare mÄste du köra skriptet i terminalen add-client.sh
sudo .\/add-client.shSkriptet frÄgar efter anvÀndarnamn:
Exempel pÄ utdata:
Ange VPN-anvÀndarnamn: Du kan ocksÄ ange anvÀndarnamnet som en parameter till skriptet (i det hÀr fallet Alex@mobile):
sudo .\/add-client.sh Alex@mobileSom ett resultat av att skriptet kördes skapas en fil med klientens konfiguration i katalogen med namnet klient, pĂ„ sökvĂ€gen /etc/wireguard/clients/{ĐĐŒŃĐĐ»ĐžĐ”ĐœŃа} en fil med klientkonfiguration /etc/wireguard/clients/{ĐĐŒŃĐĐ»ĐžĐ”ĐœŃа}/{ĐĐŒŃĐĐ»ĐžĐ”ĐœŃа}.conf, och pĂ„ terminalskĂ€rmen visas en QR-kod för att stĂ€lla in mobila klienter och innehĂ„llet i konfigurationsfilen.
4.2.1. Fil för anvÀndarkonfiguration
För att visa innehÄllet i .conf-filen pÄ skÀrmen för manuell klientinstÀllning kan du anvÀnda kommandot cat
sudo cat \/etc\/wireguard\/clients\/Alex@mobile\/Alex@mobile.confresultatet av utförandet:
[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:54321Beskrivning av klientkonfigurationsfilen:
[Interface]
PrivateKey = Klientens privata nyckel
Address = Klientens IP-adress
DNS = DNS som anvÀnds av klienten
[Peer]
PublicKey = Serverns offentliga nyckel
PresharedKey = Gemensam nyckel för server och klient
AllowedIPs = TillÄtna adresser för anslutning (alla - 0.0.0.0/0, ::/0)
Endpoint = IP-adress och port för anslutning4.2.2. QR-kod för klientkonfiguration
För att visa QR-koden för klientkonfiguration pÄ terminalen, kan man anvÀnda kommandot qrencode -t ansiutf8 (i detta exempel anvÀnds en klient med namnet Alex@mobile):
sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf85. Konfigurera VPN-klienter
5.1. InstÀllning av mobilklienten Android
Den officiella Wireguard-klienten för Android kan
DÀrefter mÄste konfigurationen importeras genom att skanna QR-koden för klientkonfigurationen (se avsnitt 4.2.2) och ge den ett namn:

Efter en lyckad import av konfigurationen kan VPN-tunneln aktiveras. En lyckad anslutning indikeras av en nyckelsymbol pÄ Androids systempanel.

5.2. InstÀllning av klienten Windows
Först mĂ„ste programmet â det Ă€r Wireguard-klienten för Windows.
5.2.1. Skapa en konfigurationsfil för import
Högerklicka pÄ skrivbordet och skapa en textfil.

5.2.2. Kopiera innehÄllet i konfigurationsfilen frÄn servern
GÄ sedan tillbaka till Putty-terminalen och visa innehÄllet i konfigurationsfilen för den aktuella anvÀndaren, som beskrivs i steg 4.2.1.
Markera texten i konfigurationen i Putty-terminalen med höger musknapp; nÀr markeringen slÀpps kopieras den automatiskt till urklipp.

5.2.3. Kopiera konfigurationen till den lokala konfigurationsfilen
DÀrefter gÄr vi tillbaka till den textfil vi skapade tidigare pÄ skrivbordet och klistrar in konfigurationstexten frÄn urklippet.

5.2.4. Spara den lokala konfigurationsfilen
Spara filen med Àndelsen .conf (i detta fall med namnet london.conf)

5.2.5. Importera den lokala konfigurationsfilen
DÀrefter mÄste konfigurationsfilen importeras till programmet TunSafe.

5.2.6. Installera VPN-anslutningen
VÀlj den hÀr konfigurationsfilen och anslut genom att trycka pÄ knappen. Anslut.

6. Kontroll av anslutningens framgÄng
För att kontrollera anslutningens framgÄng via VPN-tunneln, öppna webblÀsaren och gÄ till webbplatsen

Den visade IP-adressen bör stÀmma överens med den vi fick vid steg 2.2.3.
Om sÄ Àr fallet, fungerar VPN-tunneln framgÄngsrikt.
FrÄn terminalen i Linux kan du kontrollera din IP-adress genom att skriva in kommandot:
curl http://zx2c4.com/ipEller sÄ kan du bara gÄ in pÄ en porrsajt om du befinner dig i Kazakstan.
KĂ€lla: habr.com





