WireGuard - ātrs, moderns un drošs VPN tunelis Linux


WireGuard ir moderna, droša, starpplatformu un vispārējas nozīmes VPN ieviešana, kurā tiek izmantota vismodernākā kriptogrāfija. Tās mērķis ir būt ātrai, vienkāršākai, vienkāršākai un funkcionālākai nekā IPsec, un tā ir iecerējusi darboties labāk nekā OpenVPN.

Tas ir paredzēts izmantošanai dažādos apstākļos, un to var izvietot gan iegultās saskarnēs, gan pilnībā noslogotos mugurkaula maršrutētājos, gan superdatoros; un darbojas operētājsistēmās Linux, Windows, macOS, BSD, iOS un Android.

Ieteicams lasīt: 13 labākie VPN pakalpojumi ar mūža abonementu

Tas piedāvā ārkārtīgi vienkāršu, tomēr spēcīgu saskarni, kuras mērķis ir būt vienkāršs, tikpat viegli konfigurējams un izvietojams kā SSH. Tās galvenās funkcijas ietver vienkāršu tīkla saskarni, šifrēšanas atslēgu maršrutēšanu, iebūvētu viesabonēšanu un konteineru atbalstu.

Ņemiet vērā, ka rakstīšanas laikā tas tiek nopietni attīstīts: dažas no tā daļām strādā pie stabilas 1.0 versijas, bet citas jau ir tur (darbojas labi).

Šajā rakstā jūs uzzināsiet, kā instalēt un konfigurēt WireGuard Linux, lai izveidotu VPN tuneli starp diviem Linux resursdatoriem.

Šajā ceļvedī mūsu iestatīšana (resursdatora nosaukums un publiskais IP) ir šāds:

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

Kā instalēt WireGuard Linux izplatījumos

Piesakieties abos mezglos un instalējiet WireGuard, izmantojot šādu atbilstošo komandu saviem Linux izplatījumiem šādi.

$ 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
$ 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
$ 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
$ sudo dnf install wireguard-tools
# 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
$ sudo add-apt-repository ppa:wireguard/wireguard
$ sudo apt-get update
$ sudo apt-get install wireguard
$ sudo zypper addrepo -f obs://network:vpn:wireguard wireguard
$ sudo zypper install wireguard-kmp-default wireguard-tools

WireGuard VPN tuneļa konfigurēšana starp diviem Linux saimniekiem

Kad wireguard instalēšana ir pabeigta abos mezglos, jūs varat atsāknēt mezglus vai pievienot wireguard moduli no Linux kodola, izmantojot šādu komandu abos mezglos.

$ sudo modprobe wireguard
OR
# modprobe wireguard

Pēc tam ģenerējiet base64 kodētās publiskās un privātās atslēgas, izmantojot wg utilītu abos mezglos, kā parādīts.

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

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

Pēc tam jums ir jāizveido tīkla interfeiss (piemēram, wg0) wiregaurd vienaudžiem, kā parādīts zemāk. Pēc tam piešķiriet IP adreses jaunajam izveidotajam tīkla interfeisam (šai rokasgrāmatai mēs izmantosim tīklu 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

Lai skatītu pievienotos tīkla interfeisus vienaudžos un viņu IP adreses, izmantojiet šo IP komandu.

$ ip ad

Pēc tam katram vienaudžam piešķiriet privāto atslēgu wg0 tīkla saskarnei un izsauciet saskarni, kā parādīts.

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

Tagad, kad abas saites ir izveidotas, un ar tām ir saistītas privātas atslēgas, palaidiet wg utilītu bez jebkādiem argumentiem, lai vienaudžos izgūtu WireGuard saskarņu konfigurāciju. Pēc tam izveidojiet savu vadu VPN tuneli šādi.

Vienādranga lietotājs (publiskā atslēga), atļautais ips (tīkla/apakštīkla maska) un galapunkts (publiskais ip: ports) ir pretēja vienaudža.

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

WireGuard VPN tuneļa testēšana starp Linux sistēmām

Kad vadu aizsargu VPN tunelis ir izveidots, veiciet ping pretējo vienaudžu, izmantojot vadu tīkla saskarnes adresi. Pēc tam vēlreiz palaidiet wg utilītu, lai apstiprinātu rokasspiedienu starp vienaudžiem, kā parādīts.

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

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

Pagaidām tas ir viss! WireGuard ir mūsdienīgs, drošs, vienkāršs, tomēr spēcīgs un viegli konfigurējams VPN risinājums nākotnei. Tas notiek smagā attīstībā, tādējādi notiek darbs. WireGuard mājas lapā varat iegūt vairāk informācijas, īpaši par tā iekšējo iekšējo darbību un citām konfigurācijas iespējām.