WireGuard - kiire, kaasaegne ja turvaline VPN-tunnel Linuxile


WireGuard on kaasaegne, turvaline, platvormidevaheline ja üldotstarbeline VPN-rakendus, mis kasutab tipptasemel krüptograafiat. Selle eesmärk on olla kiire, lihtsam, kergem ja funktsionaalsem kui IPsec ning kavatseb olla toimivam kui OpenVPN.

See on mõeldud kasutamiseks erinevates olukordades ja seda saab kasutada nii sisseehitatud liidestel, täielikult koormatud selgroogaruuteritel kui ka superarvutitel; ja töötab Linuxi, Windowsi, macOSi, BSD, iOSi ja Androidi operatsioonisüsteemides.

Soovitatav lugemine: 13 parimat VPN-teenust eluaegse tellimusega

See esitleb ülimalt lihtsat, kuid võimsat liidest, mille eesmärk on olla lihtne, sama hõlpsasti konfigureeritav ja juurutatav kui SSH. Selle põhifunktsioonide hulka kuulub lihtne võrguliides, krüptovõtmete marsruutimine, sisseehitatud rändlus ja konteinerite tugi.

Pange tähele, et selle kirjutamise ajal on see tõsises arengus: mõned selle osad töötavad stabiilse 1.0 väljalaske poole, teised aga juba seal (töötavad hästi).

Sellest artiklist saate teada, kuidas installida ja konfigureerida WireGuard Linuxis VPN-tunneli loomiseks kahe Linuxi hosti vahel.

Selle juhendi jaoks on meie seadistus (hosti nimi ja avalik IP) järgmine:

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

Kuidas installida WireGuard Linuxi jaotustesse

Logige sisse oma mõlemasse sõlme ja installige WireGuard, kasutades oma Linuxi jaotuste jaoks järgmist sobivat käsku järgmiselt.

$ 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
$ 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
$ 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
$ sudo dnf install wireguard-tools
# 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
$ sudo add-apt-repository ppa:wireguard/wireguard
$ sudo apt-get update
$ sudo apt-get install wireguard
$ sudo zypper addrepo -f obs://network:vpn:wireguard wireguard
$ sudo zypper install wireguard-kmp-default wireguard-tools

WireGuardi VPN-tunneli konfigureerimine kahe Linuxi hosti vahel

Kui juhtmekaitse installimine on mõlema sõlme lõpule jõudnud, saate oma sõlmed taaskäivitada või lisada juhtmekaitse mooduli Linuxi tuumast, kasutades mõlemas sõlmes järgmist käsku.

$ sudo modprobe wireguard
OR
# modprobe wireguard

Järgmisena genereerige base64 kodeeritud avalikud ja privaatvõtmed, kasutades mõlemas sõlmes asuvat utiliiti wg, nagu näidatud.

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

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

Järgmisena peate looma eakaaslaste jaoks traaduri jaoks võrguliidese (nt wg0), nagu allpool näidatud. Seejärel määrake loodud uuele võrguliidesele IP-aadressid (selle juhendi jaoks kasutame võrku 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

Lisakaaslaste võrguliideste ja nende IP-aadresside kuvamiseks kasutage järgmist IP-käsku.

$ ip ad

Seejärel määrake wg0 võrguliidesele iga partneri jaoks privaatne võti ja avage liides, nagu näidatud.

---------- 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

Nüüd, kui mõlemad lingid on üleval ja nendega on seotud privaatvõtmed, käivitage WireGuardi liideste konfiguratsiooni hankimiseks eakaaslastelt wg utiliit ilma argumentideta. Seejärel looge oma traadikaitse VPN-tunnel järgmiselt.

Peer (avalik võti), lubatud ips (võrgu/alamvõrgu mask) ja lõpp-punkt (avalik ip: port) on vastupidise eakaaslasega.

----------  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

WireGuardi VPN-tunneli testimine Linuxi süsteemide vahel

Kui traaditaitse VPN-tunnel on loodud, pingutage vastaskaaslast juhtmeta võrguliidese aadressi abil. Seejärel käivitage utiliit wg veel kord, et kinnitada eakaaslaste vahelist käepigistust, nagu näidatud.

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

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

Praegu on see kõik! WireGuard on kaasaegne, turvaline, lihtne, kuid samas võimas ja tulevikus hõlpsasti konfigureeritav VPN-lahendus. See on läbimas tugevat arengut ja seega pooleli. Lisateavet selle sisemise sisemise töö ja muude seadistusvõimaluste kohta saate WireGuardi kodulehelt.