Šiame straipsnyje bus išsamiai aprašyta, kaip serveryje nustatyti „Wireguard VPN“. Tai gali būti virtualus arba privatus serveris – tai nėra labai svarbu.
Šis VPN Wireguard sąrankos vadovas skirtas vartotojams, kurie neturi daug patirties, todėl visi veiksmai bus gana išsamūs, o po jų bus rodomos ekrano kopijos.
Srautas, einantis per mūsų tunelį, bus užšifruotas, o internetas rodys mūsų VPN serverio IP adresą, o ne tiekėjo, per kurį pasiekiame tinklą, adresą.
Manoma, kad jau turite VPS. Jei ne, galite kad tai iš mūsų.
Savo serveryje įdiegsime Ubuntu 22.04 operacinę sistemą. Jei turite serverį su kita OS, galite lengvai jį iš naujo įdiegti vadovaudamiesi instrukcijos.
Taigi, serveris su Ubuntu 22.04 OS paruoštas, dabar jungiamės prie jo per SSH. Jei staiga anksčiau nesusidūrėte su šiuo protokolu, jums padės straipsnis, kuriame šis procesas išsamiai aprašytas. Antroji pastraipa straipsnis skirtas Linux OS, trečiasis skirtas Windows OS.
Nustatykite „Wireguard“ serverį
Po sėkmingo prisijungimo parašysiu kelias komandas ir aprašysiu, ką jos gamina, kad suprasčiau procesą:
Atnaujiname saugyklose esančių paketų sąrašą
apt update
Pačių pakuočių atnaujinimas
apt upgrade -y
Įdiekite vielos apsaugos paketą
apt install -y wireguard
Mūsų konfigūracija bus saugoma /etc/wireguard/ kataloge, turime įvesti katalogą:
cd /etc/wireguard/
Mums reikės viešojo ir privataus mūsų serverio rakto. Jas sugeneruosime nustatę teisingas teises kurdami failus ir katalogus su komandomis:
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
Dabar nustatome privataus rakto teises:
chmod 600 privatekey
Prieš kurdami konfigūracijos failą, mums reikia mūsų tinklo sąsajos pavadinimo. Norėdami jį atrasti, naudokite komandą:
ip a
Mums reikia sąsajos su IP adresu, kuris naudojamas dabartiniam ryšiui. Jūsų atveju jis tikriausiai bus vadinamas ens3, bet gali būti ir kitas pavadinimas.
Mums taip pat reikės viešojo ir privataus rakto. Norėdami juos parodyti, naudoju uodegą
tail privatekey publickey
Ji atrodo taip:
Redaguoti galite naudoti bet kurį Linux teksto redaktorius. Naudosiu nano. Norėdami jį įdiegti, turite paleisti komandą:
apt install -y nano
Redaguojame konfigūracijos failą:
nano /etc/wireguard/wg0.conf
pastabos
Norėdami išsaugoti failą, naudojame klavišų kombinaciją ctrl + o
išeiti - ctrl+x
Tai turėtų atrodyti taip:
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
Mano atveju tai atrodo taip
Įjungiame ip persiuntimą
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
Paleiskite laidų apsaugos paslaugą:
systemctl start [email protected]
Jei norime, kad paslauga būtų paleista iš naujo paleidus serverį, atliekame šiuos veiksmus:
systemctl enable [email protected]
Norėdami peržiūrėti paslaugos būseną:
systemctl status [email protected]
Būsena turi būti aktyvi, kaip parodyta ekrano kopijoje:
Jei atidžiai sekėte mūsų instrukcijas, šiame etape turite viską, ko reikia, kad serveris veiktų VPN Wireguard dalimi.
„Wireguard“ kliento nustatymas
Liko tik sukonfigūruoti kliento dalį. Pavyzdžiui ir dėl paprastumo sugeneruosiu kliento dalies raktus ir serveryje. Tačiau saugumo sumetimais teisingiau būtų generuoti raktus kliento pusėje. Aš naudoju komandas generavimui:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
Taip pat sugeneruosiu raktus naudoti VPN telefone:
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
Pažymėtina, kad visa tai būtina padaryti būnant kataloge
/etc/wireguard/
Taip pat galite paleisti kitame kataloge. Tačiau dėl paprastumo vykdome instrukcijas /etc/wireguard/
Naudojame komandą ls norėdami įtraukti failus į katalogą. Gavau taip:
Parodykime viešuosius raktus ekrane. Mums jų prireiks norint pridėti mazgų prie tinklo:
tail mypc_publickey myphone_publickey
Man tai atrodo taip:
Redaguojame savo konfigūracijos failą:
nano wg0.conf
Įtraukite šias eilutes:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
Dabar konfigūracijos failas atrodo taip:
Išsaugokite failą ir paleiskite paslaugą iš naujo:
systemctl restart wg-quick@wg0
Patikrinkime, ar viskas pavyko:
systemctl status wg-quick@wg0
Būsena turi būti aktyvi
Kiekvieną kartą redagavus serverio konfigūracijos failą (wg0.conf) reikia iš naujo įkelti paslaugą
Toliau sukursime konfigūracijas klientams (mano atveju, mano kompiuteriui ir telefonui). Tą patį padarysiu ir serveryje.
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
Lauke Endpoint galite matyti serverio IP adresą – tai IP adresas, kurį naudojome prisijungdami per SSH. Norėdami pamatyti sąsajas ir adresus, galite naudoti komandą ip a.
Nustatykite „Wireguard“ mobiliesiems
Panašią konfigūraciją kuriame ir savo telefonui. Tiesiog reikia pakeisti adresą. PC buvo 10.30.0.2/32, o telefono konfigūracijoje padarysime 10.30.0.3/32. Be to, jei norime naudoti VPN kituose įrenginiuose, kurdami konfigūracijas turėtume įtraukti kitus adresus į lauką Adresas konfigūracijos failuose ir wg0.conf serverio konfigūracijos failą, lauką AllowedIPs.
Mano atveju failai atrodo taip:
mypc.conf
myphone.conf
Prisijungimui įdiegiame wireguard klientą https://www.wireguard.com/install/
„Windows“ programoje pridedame naują tunelį ir įvedame mypc.conf faile sukurtą konfigūraciją
Paleidžiame tunelį ir einame į naršyklę į svetainę, kurioje rodomas mūsų adresas
Norėdami patogiai pridėti VPN prie savo telefono, serveryje įdiekite qr kodų generavimo programą:
apt install -y qrencode
Būdami konfigūracijos kataloge, atlikite šį veiksmą:
qrencode -t ansiutf8 -r myphone.conf
Tada telefone įeiname į Wireguard programėlę, spaudžiame + sukurti naują tunelį, pasirenkame nuskaityti QR kodą, nuskaityti, įjungti VPN. Tada patikrinsime, ar rodome savo serverio adresą, naudodami bet kurį išteklį, kuriame rodomas išvesties IP adresas.
Tu tai padarei!