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.