WireGuard - Nopea, moderni ja turvallinen VPN-tunneli Linuxille


WireGuard on moderni, turvallinen, monialustainen ja yleiskäyttöinen VPN-toteutus, joka käyttää uusinta salaustekniikkaa. Sen tavoitteena on olla nopeampi, yksinkertaisempi, kevyempi ja toimivampi kuin IPsec, ja sen on tarkoitus olla tehokkaampi kuin OpenVPN.

Se on suunniteltu käytettäväksi erilaisissa olosuhteissa, ja sitä voidaan käyttää niin sulautetuissa liitännöissä, täysin ladatuissa runkoreitittimissä kuin supertietokoneissakin; ja toimii Linux-, Windows-, macOS-, BSD-, iOS- ja Android-käyttöjärjestelmissä.

Suositeltu luku: 13 parasta VPN-palvelua elinikäisellä tilauksella

Se on erittäin yksinkertainen mutta tehokas käyttöliittymä, jonka tavoitteena on olla yksinkertainen, yhtä helppo määrittää ja ottaa käyttöön kuin SSH. Sen tärkeimpiä ominaisuuksia ovat yksinkertainen verkkoliitäntä, kryptoavaimen reititys, sisäänrakennettu verkkovierailu ja konttituki.

Huomaa, että tätä kirjoitettaessa sitä kehitetään voimakkaasti: jotkut sen osista työskentelevät kohti vakaata 1.0-julkaisua, kun taas toiset ovat jo olemassa (toimivat hyvin).

Tässä artikkelissa opit asentamaan ja määrittämään WireGuardin Linuxissa VPN-tunnelin luomiseksi kahden Linux-isännän välille.

Testausympäristö

Tämän oppaan asetukset (isäntänimi ja julkinen IP) ovat seuraavat:

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

Kuinka asentaa WireGuard Linux-jakeluihin

Kirjaudu molempiin solmuihin ja asenna WireGuard käyttämällä seuraavaa Linux-jakeluille sopivaa komentoa seuraavasti.

Asenna WireGuard RHEL 8:aan

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

Asenna WireGuard CentOS 8:aan

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

Asenna WireGuard RHEL/CentOS 7:ään

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

Asenna WireGuard Fedoraan

sudo dnf install wireguard-tools

Asenna WireGuard Debianiin

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

Asenna WireGuard Ubuntuun

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

Asenna WireGuard OpenSUSEen

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

WireGuard VPN -tunnelin määrittäminen kahden Linux-isännän välillä

Kun wireguard-asennus on valmis molemmissa solmuissa, voit käynnistää solmut uudelleen tai lisätä Wireguard-moduulin Linux-ytimestä käyttämällä seuraavaa komentoa molemmissa solmuissa.

sudo modprobe wireguard
OR
modprobe wireguard

Luo seuraavaksi base64-koodatut julkiset ja yksityiset avaimet wg-apuohjelman avulla molemmissa solmuissa kuvan osoittamalla tavalla.

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

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

Seuraavaksi sinun on luotava verkkoliitäntä (esim. wg0) vertaislaitteiden wiregaurdille alla kuvatulla tavalla. Määritä sitten IP-osoitteet luodulle uudelle verkkoliittymälle (tässä oppaassa käytämme verkkoa 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

Voit tarkastella vertaislaitteiden liitettyjä verkkoliitäntöjä ja niiden IP-osoitteita käyttämällä seuraavaa IP-komentoa.

ip ad

Määritä seuraavaksi yksityinen avain kullekin vertaiselle wg0-verkkoliittymälle ja tuo liitäntä näkyviin kuvan mukaisesti.

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

Nyt kun molemmat linkit ovat ylhäällä ja niihin on liitetty yksityisiä avaimia, suorita wg-apuohjelma ilman argumentteja hakeaksesi WireGuard-liitäntöjen määritykset vertaisversioista. Luo sitten Wireguard VPN -tunneli seuraavasti.

Vertaisversio (julkinen avain), allowed-ips (verkko/aliverkon peite) ja päätepiste (julkinen ip:portti) ovat vastakkaisen vertaistyypin .

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

Testataan WireGuard VPN -tunnelia Linux-järjestelmien välillä

Kun Wireguard VPN -tunneli on luotu, lähetä ping vastakkaiselle kumppanille käyttämällä Wireguard-verkkoliitännän osoitetta. Suorita sitten wg-apuohjelma uudelleen vahvistaaksesi kättelyn vertaisten välillä kuvan mukaisesti.

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

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

Siinä se toistaiseksi! WireGuard on moderni, turvallinen, yksinkertainen mutta tehokas ja helposti konfiguroitava tulevaisuuden VPN-ratkaisu. Se on kovassa kehitystyössä, joten työ on käynnissä. Saat lisätietoja erityisesti sen sisäisestä toiminnasta ja muista konfigurointivaihtoehdoista WireGuardin kotisivulta.