În acest articol, vă voi îndruma, pas cu pas, prin procesul de configurare a unui WireGuard VPN pe un server Linux. Vă va permite să accesați resurse securizate de internet din locuri nesigure, precum cafenelele.

Dar de ce un VPN? Și de ce WireGuard?

Ori de câte ori vă conectați la, să spunem, site-ul băncii dvs. dintr-o locație la distanță, riscați să expuneți parola și alte informații sensibile oricui ascultă în rețea.

Sperăm, desigur, site-ul web al băncii în sine va fi criptat, ceea ce înseamnă că datele cheie care curg între bancă și computerul sau smartphone-ul dvs. vor fi ilizibile pentru oricine le ascultă pe parcurs.

Și ce zici dacă te conectezi de acasă sau de la birou? Cu un VPN, puteți fi destul de sigur că acele elemente de date care nu sunt ascunse de criptarea regulată nu vor fi văzute de persoanele greșite.

Dar dacă vă conectați printr-un router WiFi public la un aeroport sau cafenea? Sunteți sigur că rețeaua nu a fost compromisă sau că nu există hackeri care urmăresc neobservați?

Pentru a contracara această amenințare foarte reală, puteți deschide o conexiune pe laptop sau telefon la un server VPN. În acest fel, toate transferurile dvs. de date au loc printr-un tunel virtual. Fiecare parte a conexiunilor dvs. sensibile va fi invizibilă pentru oricine din rețeaua locală de la care vă conectați.

WireGuard este cel mai nou dintre cei trei mari jucători din lumea VPN open source, ceilalți doi fiind IPsec și OpenVPN.

WireGuard este construit pentru a fi mai simplu, mai rapid și mai flexibil decât celelalte. Este noul copil din bloc, dar a luat rapid câțiva prieteni importanți. La îndemnul creatorului însuși Linus Torvalds, WireGuard a fost recent încorporat în nucleul Linux.

ad-banner

Unde să-ți construiești serverul VPN?

Sigur, puteți oricând să configurați un server VPN acasă și să configurați redirecționarea porturilor prin routerul ISP. Dar de multe ori va avea un sens mai practic să îl rulezi în cloud.

Nu-ți face griji. Vă asigur că acest mod va fi mult mai aproape de o configurație rapidă și nedureroasă de „setare și uitare”. Și este foarte puțin probabil ca orice să construiți acasă să fie la fel de fiabil – sau sigur – ca infrastructura furnizată de marii furnizori de cloud precum AWS.

Cu toate acestea, dacă se întâmplă să aveți un server de internet securizat profesional, care se află în jurul casei (sau sunteți dispus să riscați cu un Raspberry Pi de rezervă pe care îl aveți în jur), atunci va funcționa cam la fel.

Mulțumită WireGuard, fie în cloud, fie pe un server fizic, crearea propriului VPN de acasă nu a fost niciodată mai ușor. Întreaga configurare se poate face în jumătate de oră.

Se pregateste

Puneți în funcțiune instanța dvs. cloud, utilizând poate un tutorial de aici.

Asigurați-vă că portul 51820 este deschis serverului dvs. Acest lucru se face cu Grupuri de securitate pe AWS și a Firewall de rețea VPC pe Google Cloud.

Cu versiunile moderne Debian / Ubuntu, Wireguard este disponibil pentru a fi instalat de la managerii de pachete astfel:

sudo apt install wireguard

Sau cu yum, din depozitul EPEL:

sudo yum install kmod-wireguard wireguard-tools

Primul pas: creați cheile de criptare

În orice director de pe server în care doriți să creați fișiere care conțin cheile publice și private, utilizați această comandă:

umask 077; wg genkey | tee privatekey | wg pubkey > publickey

Faceți același lucru pentru client într-un director diferit sau pe mașina dvs. locală. Asigurați-vă că veți putea distinge mai târziu între diferitele seturi de chei.

Pentru configurare rapidă puteți utiliza un generator de chei online. Cu toate acestea, vă sugerez să o faceți manual prima dată. Asigurați-vă că fișierele au fost create cu hashuri cheie, deoarece le veți folosi în pasul următor.

Pasul doi: creați configurarea serverului

Trebuie să faci un .conf în directorul / etc / wireguard. Puteți avea chiar și mai multe VPN-uri care rulează în același timp folosind porturi diferite.

Lipiți următorul cod în noul fișier:

sudo nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
# use the server PrivateKey
PrivateKey = GPAtRSECRETLONGPRIVATEKEYB0J/GDbNQg6V0s=

# you can have as many peers as you wish
# remember to replace the values below with the PublicKey of the peer

[Peer]
PublicKey = NwsVexamples4sBURwFl6HVchellou6o63r2B0s=
AllowedIPs = 10.0.0.2/32

[Peer]
PublicKey = NwsexampleNbw+s4sBnotFl6HrealxExu6o63r2B0s=
AllowedIPs = 10.0.0.3/32

Porniți VPN

sudo systemctl start wg-quick@wg0

Dacă nu aveți systemd (ceea ce ar putea fi adevărat dacă instanța dvs. rulează Amazon Linux), puteți utiliza sudo wg-quick up wg0.

Pasul trei: creați configurarea clientului

Mai întâi instalați Wireguard pe computerul dvs. client, fie în același mod pe Linux, fie printr-un magazin de aplicații, dacă utilizați Windows, MacOS, Android sau iPhone.

Dacă ați folosit un generator de chei online sau un script QR în Pasul 1, atunci vă puteți conecta telefonul făcând o poză a codului QR.

Odată ce WireGuard este instalat pe client, configurați-l folosind aceste valori:

# Replace the PrivateKey value with the one from your client interface
[Interface]
Address = 10.0.0.2/24
ListenPort = 51820
PrivateKey = CNNjIexAmple4A6NMkrDt4iyKeYD1BxSstzer49b8EI=

#use the VPN server's PublicKey and the Endpoint IP of the cloud instance
[Peer]
PublicKey = WbdIAnOTher1208Uwu9P17ckEYxI1OFAPZ8Ftu9kRQw=
AllowedIPs = 0.0.0.0/0
Endpoint = 34.69.57.99:51820

Există multe suplimente opționale pe care le-ați putea dori în funcție de cazul dvs. de utilizare, cum ar fi specificarea cheilor DNS sau pre-partajate pentru un strat suplimentar de securitate.

Porniți clientul în același mod ca serverul dacă sunteți pe Linux sau prin aplicația însăși pe alte sisteme.

Testați-vă VPN-ul

Tastați „IP-ul meu” în browserul dvs. pentru a descoperi adresa IP publică. Dacă adresa IP pe care o obțineți este diferită de adresa pe care o avea computerul dvs. înainte de a porni VPN-ul, atunci ați avut succes!

(Și dacă ați uitat ce a fost înainte, încercați sudo systemctl stop wg-quick@wg0, verificarea și pornirea din nou.)

Ghid de depanare

Asigurați-vă că serverul dvs. este configurat pentru redirecționarea IP. Verificați fișierul /etc/sysctl.conf sau rulați:

echo 1 > /proc/sys/net/ipv4/ip_forward

Conexiunea ta moare des? Adăugați acest lucru la secțiunea peer din configurația clientului:

PersistentKeepalive = 25

Nu sunteți sigur de ce nu funcționează? Încerca sudo tcpdump -i eth pe server în timp ce încercați să utilizați clientul.

Vă mulțumim că ați citit acest ghid.

Dacă doriți să vă scufundați mai adânc, luați în considerare luarea cursul meu Manning plătit pe WireGuard VPN.