„WireGuard“ – greitas, modernus ir saugus VPN tunelis, skirtas „Linux“.


WireGuard – tai modernus, saugus kelių platformų ir bendros paskirties VPN diegimas, kuriame naudojama naujausia kriptografija. Siekiama, kad jis būtų greitesnis, paprastesnis, lengvesnis ir funkcionalesnis nei „IPsec“, o našesnis nei OpenVPN.

Jis skirtas naudoti įvairiomis aplinkybėmis ir gali būti įdiegtas įterptosiose sąsajose, visiškai įkeltuose pagrindiniuose maršrutizatoriuose ir superkompiuteriuose; ir veikia Linux, Windows, macOS, BSD, iOS ir Android operacinėse sistemose.

Rekomenduojamas skaitymas: 13 geriausių VPN paslaugų su prenumerata visam gyvenimui

Tai labai paprasta, tačiau galinga sąsaja, kurios tikslas yra būti paprastas, taip pat lengva konfigūruoti ir įdiegti kaip SSH. Pagrindinės jo funkcijos apima paprastą tinklo sąsają, kriptovaliutų raktų maršrutą, integruotą tarptinklinį ryšį ir konteinerių palaikymą.

Atkreipkite dėmesį, kad rašymo metu jis intensyviai tobulinamas: kai kurios jo dalys siekia stabilios 1.0 versijos, o kitos jau yra (veikia gerai).

Šiame straipsnyje sužinosite, kaip įdiegti ir konfigūruoti WireGuard sistemoje „Linux“, kad būtų sukurtas VPN tunelis tarp dviejų „Linux“ kompiuterių.

Testavimo aplinka

Šiame vadove mūsų sąranka (pagrindinio kompiuterio pavadinimas ir viešasis IP) yra tokia:

Node 1 : tecmint-appserver1: 		10.20.20.4
Node 2 : tecmint-dbserver1: 		10.20.20.3

Kaip įdiegti „WireGuard“ „Linux“ platinimuose

Prisijunkite prie abiejų mazgų ir įdiekite WireGuard naudodami šią atitinkamą komandą „Linux“ paskirstymui, kaip nurodyta toliau.

Įdiekite „WireGuard“ į RHEL 8

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
sudo yum copr enable jdoss/wireguard
sudo yum install wireguard-dkms wireguard-tools

Įdiekite „WireGuard“ „CentOS 8“.

sudo yum install epel-release
sudo yum config-manager --set-enabled PowerTools
sudo yum copr enable jdoss/wireguard
sudo yum install wireguard-dkms wireguard-tools

Įdiekite „WireGuard“ į RHEL/CentOS 7

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
sudo yum install wireguard-dkms wireguard-tools

Įdiekite „WireGuard“ į „Fedora“.

sudo dnf install wireguard-tools

Įdiekite „WireGuard“ į „Debian“.

echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
apt update
apt install wireguard

Įdiekite „WireGuard“ Ubuntu

sudo add-apt-repository ppa:wireguard/wireguard
sudo apt-get update
sudo apt-get install wireguard

Įdiekite „WireGuard“ „OpenSUSE“.

sudo zypper addrepo -f obs://network:vpn:wireguard wireguard
sudo zypper install wireguard-kmp-default wireguard-tools

„WireGuard“ VPN tunelio tarp dviejų „Linux“ kompiuterių konfigūravimas

Kai abiejuose mazguose bus įdiegta wireguard, galite iš naujo paleisti mazgus arba pridėti laidų apsaugos modulį iš „Linux“ branduolio naudodami šią komandą abiejuose mazguose.

sudo modprobe wireguard
OR
modprobe wireguard

Tada sugeneruokite „base64“ koduotus viešuosius ir privačiuosius raktus naudodami wg įrankį abiejuose mazguose, kaip parodyta.

---------- On Node 1 ---------- 
umask 077
wg genkey >private_appserver1

---------- On Node 2 ----------
umask 077
wg genkey >private_dbserver1
wg pubkey < private_dbserver1

Tada turite sukurti tinklo sąsają (pvz., wg0), skirtą lygiavertėms programoms, kaip parodyta toliau. Tada priskirkite IP adresus naujai sukurtai tinklo sąsajai (šiame vadove naudosime tinklą 192.168.10.0/24).

---------- On Node 1 ---------- 
sudo ip link add dev wg0 type wireguard
sudo ip addr add 192.168.10.1/24 dev wg0

---------- On Node 2 ----------
sudo ip link add dev wg0 type wireguard
sudo ip addr add 192.168.10.2/24 dev wg0

Norėdami peržiūrėti pridedamas tinklo sąsajas ir jų IP adresus, naudokite šią IP komandą.

ip ad

Tada priskirkite kiekvieno lygiaverčio privatųjį raktą wg0 tinklo sąsajai ir iškvieskite sąsają, kaip parodyta.

---------- On Node 1 ---------- 
sudo wg set wg0 private-key ./private_appserver1
sudo ip link set wg0 up

---------- On Node 2 ----------
sudo wg set wg0 private-key ./private_dbserver1
sudo ip link set wg0 up

Dabar, kai abi nuorodos yra sukurtos su privačiais raktais, paleiskite wg paslaugų programą be jokių argumentų, kad gautumėte „WireGuard“ sąsajų konfigūraciją lygiaverčiuose įrenginiuose. Tada sukurkite laidų apsaugos VPN tunelį taip.

Lygiavertis partneris (viešasis raktas), leistini IP (tinklo/potinklio kaukė) ir galinis taškas (viešasis IP: prievadas) yra priešingos lygiavertės programos .

----------  On Node1 (Use the IPs and Public Key of Node 2) ---------- 
sudo wg
sudo wg set wg0 peer MDaeWgZVULXP4gvOj4UmN7bW/uniQeBionqJyzEzSC0= allowed-ips 192.168.10.0/24  endpoint  10.20.20.3:54371

----------  On Node2 (Use the IPs and Public Key of Node 1) ----------
sudo wg
sudo wg set wg0 peer 6yNLmpkbfsL2ijx7z996ZHl2bNFz9Psp9V6BhoHjvmk= allowed-ips 192.168.10.0/24 endpoint  10.20.20.4:42930

„WireGuard“ VPN tunelio tarp „Linux“ sistemų testavimas

Sukūrę laidų apsaugos VPN tunelį, ping priešingam partneriui naudodami laidų apsaugos tinklo sąsajos adresą. Tada dar kartą paleiskite wg programą, kad patvirtintumėte bendraminčių rankų paspaudimą, kaip parodyta.

---------- On Node 1 ----------
ping 192.168.10.2
sudo wg

---------- On Node 2 ----------
ping 192.168.10.1
sudo wg

Tai kol kas! WireGuard yra modernus, saugus, paprastas, bet galingas ir lengvai konfigūruojamas ateities VPN sprendimas. Jis intensyviai vystomas, todėl darbas vyksta. Daugiau informacijos apie vidinį jo veikimą ir kitas konfigūravimo parinktis galite gauti WireGuard pagrindiniame puslapyje.