WireGuard - Brz, moderan i siguran VPN tunel za Linux


WireGuard je moderna, sigurna, višeplatformska i opća primjena VPN implementacija koja koristi najsavremeniju kriptografiju. Cilj mu je da bude brži, jednostavniji, štedljiviji i funkcionalniji od IPsec-a i ima za cilj da bude učinkovitiji od OpenVPN-a.

Dizajniran je za upotrebu u različitim okolnostima i može se postaviti na ugrađene interfejse, potpuno učitane okosne rutere i superračunare; i radi na operativnim sistemima Linux, Windows, macOS, BSD, iOS i Android.

Preporučeno čitanje: 13 najboljih VPN usluga s doživotnom pretplatom

Predstavlja izuzetno osnovno, ali moćno sučelje koje ima za cilj da bude jednostavno, lako za konfiguraciju i implementaciju kao i SSH. Njegove ključne karakteristike uključuju jednostavno mrežno sučelje, rutiranje kripto ključeva, ugrađeni roaming i podršku za kontejnere.

Imajte na umu da je u vrijeme pisanja bio u intenzivnom razvoju: neki od njegovih dijelova rade na stabilnom izdanju 1.0, dok su drugi već tu (funkcionišu dobro).

U ovom članku ćete naučiti kako instalirati i konfigurirati WireGuard u Linuxu za kreiranje VPN tunela između dva Linux hosta.

Testing Environment

Za ovaj vodič, naše postavke (ime hosta i javni IP) su sljedeće:

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

Kako instalirati WireGuard u Linux distribucijama

Prijavite se na oba čvora i instalirajte WireGuard koristeći sljedeću odgovarajuću naredbu za vaše Linux distribucije kako slijedi.

Instalirajte WireGuard u 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

Instalirajte WireGuard u 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

Instalirajte WireGuard u 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

Instalirajte WireGuard u Fedora

sudo dnf install wireguard-tools

Instalirajte WireGuard u 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

Instalirajte WireGuard u Ubuntu

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

Instalirajte WireGuard u OpenSUSE

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

Konfiguriranje WireGuard VPN tunela između dva Linux hosta

Kada je instalacija wireguard završena na oba čvora, možete ponovo pokrenuti svoje čvorove ili dodati modul wireguard iz Linux kernela koristeći sljedeću naredbu na oba čvora.

sudo modprobe wireguard
OR
modprobe wireguard

Zatim generirajte javne i privatne ključeve kodirane base64 koristeći wg uslužni program na oba čvora kao što je prikazano.

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

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

Zatim morate kreirati mrežno sučelje (npr. wg0) za wiregaurd na ravnopravnim uređajima kao što je prikazano ispod. Zatim dodijelite IP adrese novom kreiranom mrežnom sučelju (za ovaj vodič koristit ćemo mrežu 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

Da vidite priključena mrežna sučelja na ravnopravnim korisnicima i njihove IP adrese, koristite sljedeću IP naredbu.

ip ad

Zatim dodijelite privatni ključ za svaki peer mrežnom sučelju wg0 i otvorite sučelje kao što 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

Sada kada su obje veze otvorene, svaka sa privatnim ključevima pridruženim njima, pokrenite uslužni program wg bez ikakvih argumenata da biste dohvatili konfiguraciju WireGuard sučelja na kolegama. Zatim kreirajte svoj wireguard VPN tunel na sljedeći način.

Peer (javni ključ), dozvoljeni-ips (mrežna/podmrežna maska) i krajnja tačka (javni ip:port) su suprotni peer .

----------  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 WireGuard VPN tunela između Linux sistema

Jednom kada je bežični VPN tunel kreiran, pingirajte suprotni peer koristeći adresu wireguard mrežnog sučelja. Zatim još jednom pokrenite uslužni program wg da potvrdite stisak ruke između kolega kao što je prikazano.

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

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

To je to za sada! WireGuard je moderno, sigurno, jednostavno, ali moćno VPN rješenje za budućnost koje se lako konfiguriše. On je u intenzivnom razvoju, tako da je rad u toku. Više informacija posebno o njegovom unutrašnjem radu i drugim opcijama konfiguracije možete dobiti na početnoj stranici WireGuard.