WireGuard - hiter, sodoben in varen VPN tunel za Linux


WireGuard je sodobna, varna, večplastna in splošna namestitev VPN, ki uporablja najsodobnejšo kriptografijo. Njegov cilj je biti hiter, preprostejši, vitkejši in bolj funkcionalen kot IPsec, namerava pa biti bolj zmogljiv kot OpenVPN.

Zasnovan je za uporabo v različnih okoliščinah in se lahko namesti na vdelane vmesnike, popolnoma naložene hrbtenične usmerjevalnike in superračunalnike; in deluje v operacijskih sistemih Linux, Windows, macOS, BSD, iOS in Android.

Priporočeno branje: 13 najboljših storitev VPN s doživljenjsko naročnino

Predstavlja izjemno osnovni, a zmogljiv vmesnik, katerega cilj je preprost, enostaven za konfiguriranje in uvajanje kot SSH. Njegove ključne značilnosti vključujejo preprost omrežni vmesnik, usmerjanje kripto ključev, vgrajeno gostovanje in podporo zabojnikom.

Upoštevajte, da je v času pisanja besedila v težkem razvoju: nekateri njegovi deli si prizadevajo za stabilno različico 1.0, drugi pa so že tam (dobro delajo).

V tem članku boste izvedeli, kako namestiti in konfigurirati WireGuard v Linuxu za ustvarjanje tunela VPN med dvema gostiteljema Linuxa.

V tem priročniku je naša nastavitev (ime gostitelja in javni IP) naslednja:

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

Kako namestiti WireGuard v distribucije Linuxa

Prijavite se v obe vozlišči in namestite WireGuard z naslednjim ustreznim ukazom za vaše distribucije Linuxa, kot sledi.

$ 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

Konfiguriranje WireGuard VPN tunela med dvema gostiteljema Linux

Ko je namestitev wireguard končana na obe vozlišči, lahko znova zaženete svoja vozlišča ali dodate modul wireguard iz jedra Linuxa z naslednjim ukazom na obeh vozliščih.

$ sudo modprobe wireguard
OR
# modprobe wireguard

Nato z uporabo pripomočka wg na obeh vozliščih ustvarite javne in zasebne ključe, kodirane z base64, kot je prikazano.

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

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

Nato morate ustvariti omrežni vmesnik (npr. Wg0) za wiregaurd na enakovrednih računalnikih, kot je prikazano spodaj. Nato ustvarjenemu novemu omrežnemu vmesniku dodelite naslove IP (za ta priročnik bomo uporabili omrežje 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

Če si želite ogledati priložene omrežne vmesnike na enakovrednih računalnikih in njihovih naslovih IP, uporabite naslednji ukaz IP.

$ ip ad

Nato omrežnemu vmesniku wg0 dodelite zasebni ključ za vsako enakovredno stran in odprite vmesnik, kot je prikazano.

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

Zdaj, ko sta obe povezavi pripravljeni, vsak z njima povezan zasebni ključ, zaženite pripomoček wg brez kakršnih koli argumentov, da pridobite konfiguracijo vmesnikov WireGuard na enakovrednih računalnikih. Nato ustvarite svoj tunel VPN tunel, kot sledi.

Peer (javni ključ), dovoljeni ips (maska omrežja/podomrežja) in končna točka (javni ip: vrata) so nasprotne vrstice.

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

Testiranje tunela WireGuard VPN med sistemi Linux

Ko je ustvarjen tunel VPN Wireguard, pingirajte nasprotnega vrstnika z uporabo naslova omrežnega vmesnika Wireguard. Nato znova zaženite pripomoček wg, da potrdite stisk roke med vrstniki, kot je prikazano.

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

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

Za zdaj je to! WireGuard je sodobna, varna, preprosta, a zmogljiva in enostavna za konfiguriranje rešitev VPN za prihodnost. Je v težkem razvoju, zato dela v teku. Več informacij, zlasti o notranjem delovanju in drugih možnostih konfiguracije, lahko dobite na domači strani WireGuard.