WireGuard je VPN opće namjene (virtualna privatna mreža) koji koristi najsuvremeniju kriptografiju. U usporedbi s drugim popularnim VPN rješenjima, kao što su IPsec i OpenVPN, WireGuard je općenito brži, lakši za konfiguriranje i ima manji trag. Višestruka je platforma i može raditi gotovo bilo gdje, uključujući Linux, Windows, Android i macOS.
Wireguard je peer-to-peer VPN; ne koristi model klijent-poslužitelj. Ovisno o konfiguraciji, peer može djelovati kao tradicionalni poslužitelj ili klijent. Djeluje stvaranjem mrežnog sučelja na svakom ravnopravnom uređaju koji djeluje kao tunel. Vršnjaci se međusobno provjeravaju razmjenom i provjerom valjanosti javnih ključeva, oponašajući SSH model. Javni ključevi mapiraju se s popisom IP adresa koje su dopuštene u tunelu. VPN promet je enkapsuliran u UDP.
Ovaj članak objašnjava kako instalirati i konfigurirati WireGuard na Debian 10 koji će djelovati kao VPN poslužitelj. Pokazat ćemo vam i kako konfigurirati WireGuard kao klijenta na Linuxu, Windowsu i macOS-u. Klijentov promet preusmjeravat će se putem poslužitelja Debian 10.
Ova se postavka može koristiti kao zaštita od napada Čovjeka u sredini, anonimno surfanje webom, zaobilaženje geo-ograničenog sadržaja ili omogućavanje vašim kolegama koji rade od kuće da se sigurno povežu s mrežom tvrtke.
Preduvjeti #
Da biste slijedili ovaj vodič, trebat će vam stroj s instaliranim Debianom 10. Također vam je potreban root ili [sudo pristup] (https: // linuxize.com / post / how-to-create-a-sudo-user-on-debian / za instaliranje paketa i uvođenje promjena u sustav.
Postavljanje WireGuard poslužitelja #
Započet ćemo s instaliranjem WireGuard paketa na Debian stroj i postaviti ga da djeluje kao poslužitelj. Također ćemo konfigurirati sustav za usmjeravanje prometa klijenata kroz njega.
Instalirajte WireGuard na Debian 10 #
WireGuard je dostupan iz spremišta za pozadine Debian. Da biste spremište dodali u svoj sustav, pokrenite:
echo 'deb http: // ftp.debian.org / debian buster-backports glavni '| sudo tee / etc / apt / sources.popis.d / zaleđa.popis
Nakon što je spremište omogućeno, ažurirajte odgovarajuću predmemoriju i instalirajte WireGuard modul i alate:
WireGuard radi kao modul jezgre.sudo apt ažuriranje
sudo apt instalirati žičanu zaštitu
Konfiguriranje WireGuard #
Možete konfigurirati i upravljati sučeljima WireGuard s wg
i wg-brzo
alati naredbenog retka.
Svaki uređaj u mreži WireGuard VPN mora imati privatni i javni ključ. Pokrenite sljedeću naredbu za generiranje para ključeva:
wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Datoteke se generiraju u / etc / wireguard
imenik. Koristiti mačka
ili manje
naredbe za pregled sadržaja datoteka. Privatni ključ nikada ne treba dijeliti ni s kime i uvijek ga treba čuvati na sigurnom.
Wireguard također podržava unaprijed podijeljeni ključ, koji dodaje dodatni sloj kriptografije simetričnog ključa. Ova je tipka neobavezna i mora biti jedinstvena za svaki par vršnjaka.
Sljedeći je korak konfiguriranje tunelskog uređaja koji će usmjeravati VPN promet.
Uređaj se može postaviti bilo iz naredbenog retka pomoću ip
i wg
naredbe ili ručnim stvaranjem konfiguracijske datoteke. Konfiguraciju ćemo stvoriti pomoću uređivača teksta.
Otvorite svoj uređivač i stvorite novu datoteku s imenom wg0.konf
sa sljedećim sadržajima:
sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf[Sučelje] Adresa = 10.0.0.1/24 SaveConfig = true ListenPort = 51820 PrivateKey = SERVER_PRIVATE_KEY PostUp = iptables -A NAPRIJED -i% i -j PRIHVAĆAM; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D NAPRIJED -i% i -j PRIHVATI; iptables -t nat -D POSTROUTING -o ens3 -j MASKERADA
Sučelju možete dati ime kako god želite. Međutim, preporuča se koristiti nešto poput wg0
ili wgvpn0
.
Postavke u odjeljku sučelja imaju sljedeće značenje:
Adresa - Popis odvojenih zarezom v4 ili v6 IP adresa za
wg0
sučelje. Možete pronaći IP adresu iz raspona koji je rezerviran za privatne mreže (10.0.0.0/8, 172.16.0.0/12 ili 192.168.0.0/16).ListenPort - port za slušanje.
PrivateKey - privatni ključ koji generira
wg genkey
naredba. (Da biste vidjeli sadržaj datoteke:sudo mačka / etc / wireguard / privatekey
)SaveConfig - Kada se postavi na true, trenutno stanje sučelja sprema se u konfiguracijsku datoteku prilikom isključivanja.
PostUp - naredba ili skripta koja se izvršava prije podizanja sučelja. U ovom primjeru koristimo iptables da omogućimo maskiranje. To omogućuje prometu da napusti poslužitelj, pružajući VPN klijentima pristup Internetu.
Obavezno zamijenite
ens3
nakon-POSTROUTING
kako bi odgovarao imenu vašeg sučelja javne mreže. Sučelje možete lako pronaći sa:ip -o -4 ruta prikaži prema zadanim | awk 'print $ 5'
PostDown - naredba ili skripta koja se izvršava prije rušenja sučelja. Pravila iptables uklonit će se nakon što sučelje ne radi.
The wg0.konf
i privatni ključ
datoteke ne bi trebale biti čitljive uobičajenim korisnicima. Koristiti chmod
za postavljanje dozvola za datoteke 600
:
sudo chmod 600 / etc / wireguard / privatekey, wg0.conf
Kad završite, ponesite wg0
sučelje pomoću atributa navedenih u konfiguracijskoj datoteci:
sudo wg-ubrzanje wg0
Izlaz će izgledati otprilike ovako:
[#] ip link dodaj wg0 type wireguard [#] wg setconf wg0 / dev / fd / 63 [#] ip -4 adresa dodaj 10.0.0.1/24 dev wg0 [#] ip link postavljen mtu 1420 gore dev wg0 [#] iptables -A NAPRIJED -i wg0 -j PRIHVATI; iptables -t nat -A POSTROUTING -o ens3 -j MASKERADA
Da biste provjerili stanje i konfiguraciju sučelja, pokrenite:
sudo wg emisija wg0
sučelje: wg0 javni ključ: + Vpyku + gjVJuXGR / OXXt6cmBKPdc06Qnm3hpRhMBtxs = privatni ključ: (skriveni) port za slušanje: 51820
Također možete provjeriti stanje sučelja pomoću ip emisija wg0
:
ip emisija wg0
4: wg0: mtu 1420 qdisc noqueue stanje NEPOZNATO zadana grupa qlen 1000 veza / nema inet 10.0.0.1/24 opsega globalno wg0 valid_lft zauvijek preferirano_lft zauvijek
WireGuardom se može upravljati pomoću Systemda. Da biste pri pokretanju pokrenuli sučelje WireGuard, pokrenite sljedeću naredbu:
sudo systemctl omogući wg-quick @ wg0
Mreža poslužitelja i konfiguracija vatrozida #
Prosljeđivanje IP-a mora biti omogućeno da bi NAT mogao raditi. Otvori / etc / sysctl.konf
datoteku i dodajte ili raskomentirajte sljedeći redak:
sudo nano / etc / sysctl.konf
/ etc / sysctl.konfneto.ipv4.ip_forward = 1
Spremite datoteku i primijenite promjenu:
sudo sysctl -p
neto.ipv4.ip_forward = 1
Ako za upravljanje vatrozidom koristite UFW, morate otvoriti UDP promet na portu 51820
:
sudo ufw dopustiti 51820 / udp
To je to. Postavljen je Debianov vršnjak koji će se ponašati kao poslužitelj.
Postavljanje klijenata za Linux i macOS #
Upute za instalaciju svih podržanih platformi dostupne su na https: // wireguard.com / install / . Na Linux sustavima možete instalirati paket pomoću upravitelja distribucijskog paketa i na macOS s skuhati
.
Jednom instalirani, slijedite korake u nastavku za konfiguriranje klijentskog uređaja.
Proces postavljanja klijenta za Linux i macOS gotovo je isti kao i za poslužitelj. Prvo generirajte javne i privatne ključeve:
wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Stvorite datoteku wg0.konf
i dodajte sljedeći sadržaj:
sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf[Sučelje] PrivateKey = CLIENT_PRIVATE_KEY Adresa = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Krajnja točka = SERVER_IP_ADDRESS: 51820 AllowedIPs = 0.0.0.0/0
Postavke u odjeljku sučelja imaju isto značenje kao prilikom postavljanja poslužitelja:
- Adresa - Popis odvojenih zarezom v4 ili v6 IP adresa za
wg0
sučelje. - PrivateKey - Da biste vidjeli sadržaj datoteke na klijentskom stroju, pokrenite:
sudo mačka / etc / wireguard / privatekey
Odjeljak za uspoređivanje sadrži sljedeća polja:
- PublicKey - javni ključ vršnjaka s kojim se želite povezati. (Sadržaj poslužitelja
/ etc / wireguard / publickey
datoteka). - Krajnja točka - IP ili naziv hosta vršnjaka s kojim se želite povezati, nakon čega slijedi dvotačka, a zatim broj porta na kojem udaljeni peer sluša.
- AllowedIPs - Popis v4 ili v6 IP adresa odvojenih zarezom s kojih je dopušten dolazni promet za ravnopravnu osobu i na koji je usmjeren odlazni promet za taj peer. Koristimo 0.0.0.0/0 jer usmjeravamo promet i želimo da poslužitelj ravnopravno šalje pakete s bilo kojim izvornim IP-om.
Ako trebate konfigurirati dodatne klijente, samo ponovite iste korake koristeći drugu privatnu IP adresu.
Postavljanje klijenata sustava Windows #
Preuzmite i instalirajte Windows msi paket s web mjesta WireGuard .
Jednom instalirani, otvorite aplikaciju WireGuard i kliknite na „Dodaj tunel“ -> „Dodaj prazan tunel ...“ kao što je prikazano na donjoj slici:
Par javnih tipki automatski se stvara i prikazuje na zaslonu.
Unesite naziv tunela i uredite konfiguraciju kako slijedi:
[Sučelje] PrivateKey = CLIENT_PRIVATE_KEY Adresa = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Krajnja točka = SERVER_IP_ADDRESS: 51820 AllowedIPs = 0.0.0.0/0
U odjeljak sučelja dodajte novi redak za definiranje adrese tunela klijenta.
U odjeljak za ravnopravne korisnike dodajte sljedeća polja:
- PublicKey - javni ključ Debian poslužitelja (
/ etc / wireguard / publickey
datoteka). - Krajnja točka - IP adresa Debian poslužitelja praćena dvotočkom i portom WireGuard (51820).
- Dopušteni IP-ovi - 0.0.0.0/0
Kada završite, kliknite gumb "Spremi".
Dodajte klijentsku mrežu na poslužitelj #
Posljednji korak je dodavanje klijentovog javnog ključa i IP adrese na poslužitelj. Da biste to učinili, pokrenite sljedeću naredbu na Debian poslužitelju:
sudo wg set wg0 peer CLIENT_PUBLIC_KEY dozvoljeno-ips 10.0.0.2
Svakako promijenite KLIJENT_PUBLIC_KEY
s javnim ključem koji ste generirali na klijentskom stroju (sudo mačka / etc / wireguard / publickey
) i prilagodite IP adresu klijenta ako je drugačija. Korisnici Windowsa mogu kopirati javni ključ iz aplikacije WireGuard.
Kad završite, vratite se na klijentski stroj i otvorite sučelje za tuneliranje.
Klijenti za Linux i macOS #
Pokrenite sljedeću naredbu za otvaranje sučelja:
sudo wg-ubrzanje wg0
Sada biste trebali biti povezani s Debian poslužiteljem, a promet s vašeg klijentskog računala trebao bi se usmjeriti kroz njega. Vezu možete provjeriti sa:
sudo wg
sučelje: wg0 javni ključ: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo = privatni ključ: (skriveni) port za slušanje: 53527 fwmark: 0xca6c peer: r3imyh3MCYggaZACmkx + CxlD6uAgICG88.XXX.XXX.XXX: 51820 dopuštenih ips: 0.0.0.0/0 najnovije rukovanje: prije 53 sekunde prijenos: 3.Primljeno 23 KiB, 3.Poslano 50 KiB
Također možete otvoriti svoj preglednik, upisati “what is my ip” i trebali biste vidjeti IP adresu svog Debian poslužitelja.
Da biste zaustavili tuneliranje, srušite wg0
sučelje:
sudo wg-brzo dolje wg0
Klijenti sustava Windows #
Ako ste WireGuard instalirali na Windows, kliknite gumb "Aktiviraj". Jednom kada se vršnjaci povežu, status tunela promijenit će se u Aktivno:
Zaključak #
Pokazali smo vam kako instalirati WireGuard na Debian 10 i konfigurirati ga kao VPN poslužitelj. Ova postavka omogućuje vam anonimno surfanje webom čuvajući privatne podatke o prometu.
Ako imate bilo kakvih problema, slobodno ostavite komentar.