WireGuard - brz, moderan i siguran VPN tunel za Linux


WireGuard je moderna, sigurna implementacija VPN za više platformi i opće namjene koja koristi najsuvremeniju kriptografiju. Cilj mu je biti brži, jednostavniji, lakši i funkcionalniji od IPsec-a i namjerava biti učinkovitiji od OpenVPN-a.

Dizajniran je za korištenje u različitim okolnostima i može se postaviti na ugrađena sučelja, potpuno opterećene glavne usmjerivače i superračunala; i radi na operativnim sustavima Linux, Windows, macOS, BSD, iOS i Android.

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

Predstavlja iznimno osnovno, ali moćno sučelje koje nastoji biti jednostavno, jednako lako konfigurirati i implementirati kao SSH. Njegove ključne značajke uključuju jednostavno mrežno sučelje, usmjeravanje kripto ključeva, ugrađeni roaming i podršku za kontejnere.

Imajte na umu da je u vrijeme pisanja ovog teksta u intenzivnom razvoju: neki njegovi dijelovi rade na stabilnom izdanju 1.0, dok su drugi već tamo (rade dobro).

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

Okruženje za testiranje

Za ovaj vodič naše postavke (naziv glavnog računala 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 svoja oba čvora i instalirajte WireGuard pomoću sljedeće odgovarajuće naredbe za vaše distribucije Linuxa 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 Fedori

sudo dnf install wireguard-tools

Instalirajte WireGuard u Debianu

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 instalacija wireguard završi na oba čvora, možete ponovno pokrenuti svoje čvorove ili dodati modul wireguard iz Linux kernela pomoću sljedeće naredbe na oba čvora.

sudo modprobe wireguard
OR
modprobe wireguard

Zatim generirajte javne i privatne ključeve kodirane base64 koristeći pomoćni program wg 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 stvoriti mrežno sučelje (npr. wg0) za wiregaurd na peerovima kao što je prikazano u nastavku. Zatim dodijelite IP adrese novom stvorenom 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

Za pregled priloženih mrežnih sučelja na peerovima i njihovih IP adresa, 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 s privatnim ključevima povezanim s njima, pokrenite uslužni program wg bez ikakvih argumenata za dohvaćanje konfiguracije WireGuard sučelja na peerovima. Zatim izradite svoj wireguard VPN tunel na sljedeći način.

Peer (javni ključ), allowed-ips (maska mreže/podmreže) i endpoint (javni ip:port) su suprotnog peera .

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

Nakon što je wireguard VPN tunel kreiran, pingajte suprotnom peeru koristeći adresu wireguard mrežnog sučelja. Zatim još jednom pokrenite uslužni program wg kako biste potvrdili rukovanje među ravnopravnim korisnicima 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 snažno VPN rješenje za budućnost koje se lako konfigurira. Prolazi kroz težak razvoj tako da je rad u tijeku. Na WireGuard početnoj stranici možete dobiti više informacija, posebno o unutarnjem unutarnjem radu i drugim opcijama konfiguracije.