WireGuard je splošni namen VPN (navidezno zasebno omrežje), ki uporablja sodobno kriptografijo. V primerjavi z drugimi priljubljenimi rešitvami VPN, kot sta IPsec in OpenVPN, je WireGuard na splošno hitrejši, lažji za konfiguracijo in ima manjši odtis. Je večplastna in deluje skoraj povsod, vključno z Linuxom, Windowsom, Androidom in macOS.
Wireguard je enakovredna VPN; ne uporablja modela odjemalec-strežnik. Glede na konfiguracijo lahko vrstnik deluje kot tradicionalni strežnik ali odjemalec. Deluje tako, da na vsaki enakovredni napravi, ki deluje kot predor, ustvari omrežni vmesnik. Vrstniki drug drugega potrjujejo z izmenjavo in potrjevanjem javnih ključev, posnemajoč model SSH. Javni ključi so preslikani s seznamom naslovov IP, ki so dovoljeni v predoru. Promet VPN je vključen v UDP.
V tem članku je razloženo, kako namestiti in konfigurirati WireGuard na Debian 10, ki bo deloval kot strežnik VPN. Pokazali vam bomo tudi, kako nastaviti WireGuard kot odjemalca v sistemih Linux, Windows in macOS. Strankin promet bo preusmerjen prek strežnika Debian 10.
To nastavitev lahko uporabite kot zaščito pred napadi Man in the Middle, anonimno brskate po spletu, obidete geografsko omejeno vsebino ali omogočite svojim kolegom, ki delajo od doma, da se varno povežejo z omrežjem podjetja.
Pogoji #
Če želite slediti tem navodilom, potrebujete računalnik z nameščenim Debian 10. Potrebujete tudi root ali [sudo dostop] (https: // linuxize.com / post / how-to-create-a-sudo-user-on-debian / za namestitev paketov in spreminjanje sistema.
Nastavitev strežnika WireGuard #
Začeli bomo z namestitvijo paketa WireGuard na stroj Debian in ga nastavili tako, da deluje kot strežnik. Sistem bomo konfigurirali tudi za usmerjanje prometa strank prek njega.
Namestite WireGuard na Debian 10 #
WireGuard je na voljo v skladiščih Debian backports. Če želite shrambo dodati v svoj sistem, zaženite:
echo 'deb http: // ftp.debian.org / debian buster-backports main '| sudo tee / etc / apt / sources.seznam.d / buster-backports.seznam
Ko je repozitorij omogočen, posodobite predpomnilnik in namestite modul in orodja WireGuard:
WireGuard deluje kot jedrski modul.posodobitev sudo apt
sudo apt namestite žično zaščito
Konfiguriranje št. WireGuard
Vmesnike WireGuard lahko konfigurirate in upravljate z wg
in wg-hitro
orodja ukazne vrstice.
Vsaka naprava v omrežju WireGuard VPN mora imeti zasebni in javni ključ. Za generiranje para ključev zaženite naslednji ukaz:
wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Datoteke so ustvarjene v / etc / wireguard
imenik. Uporabi mačka
ali manj
ukazov za ogled vsebine datotek. Zasebnega ključa nikoli ne smete deliti z nikomer in ga je treba vedno varovati.
Wireguard podpira tudi ključ v skupni rabi, ki dodaja dodatno plast kriptografije simetričnih ključev. Ta ključ ni obvezen in mora biti enoličen za vsak par vrstnikov.
Naslednji korak je konfiguriranje tunelske naprave, ki bo usmerjala promet VPN.
Napravo lahko nastavite v ukazni vrstici z uporabo ip
in wg
ukazov ali z ročnim ustvarjanjem konfiguracijske datoteke. Konfiguracijo bomo ustvarili z urejevalnikom besedil.
Odprite urejevalnik in ustvarite novo datoteko z imenom wg0.conf
z naslednjo vsebino:
sudo nano / etc / wireguard / wg0.conf
/ etc / wireguard / wg0.conf[Vmesnik] Naslov = 10.0.0.1/24 SaveConfig = true ListenPort = 51820 PrivateKey = SERVER_PRIVATE_KEY PostUp = iptables -A NAPRED -i% i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D NAPRED -i% i -j SPREJEM; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
Vmesniku lahko poimenujete kar koli želite. Vendar je priporočljivo uporabiti nekaj takega wg0
ali wgvpn0
.
Nastavitve v odseku vmesnika imajo naslednji pomen:
Naslov - z vejicami ločen seznam naslovov IP v4 ali v6 za
wg0
vmesnik. Lahko naslov IP iz obsega, ki je rezerviran za zasebna omrežja (10.0.0.0/8, 172.16.0.0/12 ali 192.168.0.0/16).ListenPort - vrata za poslušanje.
PrivateKey - Zasebni ključ, ki ga ustvari
wg genkey
ukaz. (Če si želite ogledati vsebino vrste datoteke:sudo mačka / etc / wireguard / privatekey
)SaveConfig - če je nastavljeno na true, se trenutno stanje vmesnika ob zaustavitvi shrani v konfiguracijsko datoteko.
PostUp - ukaz ali skript, ki se izvede, preden se vmesnik dvigne. V tem primeru uporabljamo iptables, da omogočimo maskiranje. To omogoča, da promet zapusti strežnik in odjemalcem VPN omogoči dostop do interneta.
Ne pozabite zamenjati
ens3
po-POSTROUTING
da se ujema z imenom vašega javnega omrežnega vmesnika. Vmesnik lahko enostavno najdete z:ip -o -4 pot prikaže na privzeto | awk 'print $ 5'
PostDown - ukaz ali skript, ki se izvede, preden se vmesnik izklopi. Pravila iptables bodo odstranjena, ko vmesnik ne deluje.
The wg0.conf
in privatekey
datoteke ne bi smele biti berljive običajnim uporabnikom. Uporaba chmod
, da nastavite dovoljenja za datoteke 600
:
sudo chmod 600 / etc / wireguard / privatekey, wg0.conf
Ko končate, prinesite wg0
vmesnik z uporabo atributov, določenih v konfiguracijski datoteki:
sudo wg-hitri gor wg0
Rezultat bo videti približno tako:
[#] ip link add wg0 type wireguard [#] wg setconf wg0 / dev / fd / 63 [#] ip -4 naslov add 10.0.0.1/24 dev wg0 [#] ip link set mtu 1420 up dev wg0 [#] iptables -A NAPREJ -i wg0 -j SPREJEM; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
Če želite preveriti stanje in konfiguracijo vmesnika, zaženite:
sudo wg show wg0
vmesnik: wg0 javni ključ: + Vpyku + gjVJuXGR / OXXt6cmBKPdc06Qnm3hpRhMBtxs = zasebni ključ: (skriti) vrata za poslušanje: 51820
Stanje vmesnika lahko preverite tudi z ip a show wg0
:
ip a show wg0
4: wg0: mtu 1420 qdisc noqueue state NEZNANO privzeta skupina qlen 1000 link / noben inet 10.0.0.1/24 obseg globalno wg0 veljaven_lft za vedno prednost_lft za vedno
WireGuard je mogoče upravljati s sistemom Systemd. Če želite vmesnik WireGuard vključiti med zagonom, zaženite naslednji ukaz:
sudo systemctl omogoči wg-quick @ wg0
Konfiguracija omrežja strežnikov in požarnega zidu
Posredovanje IP mora biti omogočeno, da NAT deluje. Odprite / etc / sysctl.conf
datoteko in dodajte ali razkomentirajte naslednjo vrstico:
sudo nano / etc / sysctl.conf
/ etc / sysctl.confmreža.ipv4.ip_forward = 1
Shranite datoteko in uporabite spremembo:
sudo sysctl -p
mreža.ipv4.ip_forward = 1
Če za upravljanje požarnega zidu uporabljate UFW, morate na vratih odpreti promet UDP 51820
:
sudo ufw dopusti 51820 / udp
To je to. Nastavljen je vrstnik Debian, ki bo deloval kot strežnik.
Nastavitev odjemalcev za Linux in macOS
Navodila za namestitev vseh podprtih platform so na voljo na https: // wireguard.com / install / . V sistemih Linux lahko paket namestite z upraviteljem distribucijskega paketa in na macOS z pivo
.
Po namestitvi sledite spodnjim korakom za konfiguriranje odjemalske naprave.
Postopek nastavitve odjemalca Linux in macOS je skoraj enak kot pri strežniku. Najprej ustvarite javne in zasebne ključe:
wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Ustvari datoteko wg0.conf
in dodajte naslednjo vsebino:
sudo nano / etc / wireguard / wg0.conf
/ etc / wireguard / wg0.conf[Vmesnik] PrivateKey = CLIENT_PRIVATE_KEY Naslov = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Končna točka = SERVER_IP_ADDRESS: 51820 AllowedIPs = 0.0.0.0/0
Nastavitve v razdelku vmesnika imajo enak pomen kot pri nastavitvi strežnika:
- Naslov - z vejicami ločen seznam naslovov IP v4 ali v6 za
wg0
vmesnik. - PrivateKey - Če želite videti vsebino datoteke na odjemalskem računalniku, zaženite:
sudo mačka / etc / wireguard / privatekey
Oddelek enakovrednih vrst vsebuje naslednja polja:
- PublicKey - javni ključ vrstnika, s katerim se želite povezati. (Vsebina strežnika
/ etc / wireguard / publickey
mapa). - Končna točka - IP ali ime gostitelja vrstnika, s katerim se želite povezati, čemur sledi dvopičje in nato številka vrat, na katerih posluša oddaljeni vrstnik.
- Dovoljeni IP-ji - z vejicami ločen seznam naslovov IP v4 ali v6, s katerih je dovoljen dohodni promet za enakovredno stran in na katerega je usmerjen odhodni promet za to enakovredno stran. Uporabljamo 0.0.0.0/0, ker usmerjamo promet in želimo, da strežniški vmesnik pošilja pakete s katerim koli izvornim IP-jem.
Če morate konfigurirati dodatne odjemalce, ponovite iste korake z drugim zasebnim naslovom IP.
Nastavitev odjemalcev sistema Windows
Prenesite in namestite paket Windows msi s spletnega mesta WireGuard .
Ko je nameščen, odprite aplikacijo WireGuard in kliknite »Dodaj predor« -> »Dodaj prazen predor ...«, kot je prikazano na spodnji sliki:
Par javnih tipk se samodejno ustvari in prikaže na zaslonu.
Vnesite ime predora in uredite konfiguracijo, kot sledi:
[Vmesnik] PrivateKey = CLIENT_PRIVATE_KEY Naslov = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Končna točka = SERVER_IP_ADDRESS: 51820 AllowedIPs = 0.0.0.0/0
V odsek vmesnika dodajte novo vrstico, da določite naslov odjemalskega tunela.
V odsek enakovrednih dodajte naslednja polja:
- PublicKey - javni ključ strežnika Debian (
/ etc / wireguard / publickey
mapa). - Končna točka - naslov IP strežnika Debian, ki mu sledi dvopičje in vrata WireGuard (51820).
- Dovoljeni IP-ji - 0.0.0.0/0
Ko končate, kliknite gumb »Shrani«.
Dodajanje odjemalca v strežnik #
Zadnji korak je dodajanje odjemalčevega javnega ključa in naslova IP strežniku. Če želite to narediti, na strežniku Debian zaženite naslednji ukaz:
sudo wg set wg0 peer CLIENT_PUBLIC_KEY dovoljen-ips 10.0.0.2
Ne pozabite spremeniti CLIENT_PUBLIC_KEY
z javnim ključem, ki ste ga ustvarili na odjemalskem računalniku (sudo mačka / etc / wireguard / publickey
) in prilagodite naslov IP odjemalca, če je drugačen. Uporabniki sistema Windows lahko kopirajo javni ključ iz aplikacije WireGuard.
Ko končate, se vrnite na odjemalski stroj in odprite vmesnik za tuneliranje.
Odjemalci za Linux in macOS
Zaženite naslednji ukaz za sprožitev vmesnika:
sudo wg-hitri gor wg0
Zdaj bi morali biti povezani s strežnikom Debian in promet z vaše odjemalske naprave naj bo usmerjen prek njega. Povezavo lahko preverite z:
sudo wg
vmesnik: wg0 javni ključ: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo = zasebni ključ: (skrito) vrata za poslušanje: 53527 fwmark: 0xca6c peer: r3imyh3MCYggaZACmkx + CxlD6uAgICG8QQCG8QQC8C.XXX.XXX.XXX: 51820 dovoljenih ips: 0.0.0.0/0 zadnji stisk roke: pred 53 sekundami prenos: 3.23 KiB prejetih, 3.Poslano 50 KiB
Lahko tudi odprete svoj brskalnik, vtipkate “what is my ip” in videli bi naslov IP svojega strežnika Debian.
Če želite ustaviti predore, spustite wg0
vmesnik:
sudo wg-hitro navzdol wg0
Odjemalci sistema Windows
Če ste WireGuard namestili v sistem Windows, kliknite gumb »Aktiviraj«. Ko so vrstniki povezani, se stanje predora spremeni v Aktivno:
Zaključek #
Pokazali smo vam, kako namestite WireGuard na Debian 10 in ga konfigurirate kot strežnik VPN. Ta nastavitev vam omogoča anonimno brskanje po spletu, tako da vaše podatke o prometu ohranite zasebne.
Če imate kakršne koli težave, pustite komentar.