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.