WireGuard - Usa ka paspas, moderno ug luwas nga VPN Tunnel alang sa Linux


Ang WireGuard usa ka moderno, luwas, cross-platform ug kinatibuk-ang katuyoan nga pagpatuman sa VPN nga naggamit sa state-of-the-art nga cryptography. Kini nagtumong nga mahimong paspas, mas simple, mas lig-on ug mas magamit kay sa IPsec ug kini nagtinguha nga mahimong mas pasundayag kay sa OpenVPN.

Kini gidisenyo alang sa paggamit sa lain-laing mga kahimtang ug mahimong ipakatap sa embedded interface, bug-os nga loaded backbone routers, ug supercomputers managsama; ug midagan sa Linux, Windows, macOS, BSD, iOS, ug Android operating system.

Girekomenda nga Basaha: 13 Labing Maayo nga Serbisyo sa VPN nga adunay Kinabuhi nga Suskrisyon

Nagpakita kini usa ka labi ka sukaranan apan kusgan nga interface nga nagtumong nga mahimong yano, ingon kadali nga i-configure ug i-deploy sama sa SSH. Ang mga yawe nga bahin niini naglakip sa usa ka yano nga interface sa network, pag-ruta sa yawe sa crypto, built-in nga roaming ug suporta sa sulud.

Timan-i nga sa panahon sa pagsulat, kini ubos sa bug-at nga pag-uswag: ang pipila sa mga bahin niini nagtrabaho padulong sa usa ka lig-on nga pagpagawas sa 1.0, samtang ang uban anaa na (nagtrabaho nga maayo).

Niini nga artikulo, mahibal-an nimo kung giunsa ang pag-install ug pag-configure sa WireGuard sa Linux aron makahimo usa ka tunel sa VPN taliwala sa duha nga mga host sa Linux.

Alang niini nga giya, ang among setup (hostname ug public IP) mao ang mosunod:

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

Giunsa ang Pag-install sa WireGuard sa Mga Distribusyon sa Linux

Pag-log in sa imong duha ka node ug i-install ang WireGuard gamit ang mosunud nga angay nga mando alang sa imong mga distribusyon sa Linux ingon sa mosunod.

$ 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

Pag-configure sa usa ka WireGuard VPN Tunnel Taliwala sa Duha ka Linux Host

Kung kompleto na ang pag-instalar sa wireguard sa duha ka node, mahimo nimong i-reboot ang imong mga node o idugang ang wireguard module gikan sa Linux kernel gamit ang mosunod nga command sa duha ka node.

$ sudo modprobe wireguard
OR
# modprobe wireguard

Sunod, paghimo base64-encoded publiko ug pribado nga mga yawe gamit ang wg utility sa duha ka mga node sama sa gipakita.

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

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

Sunod, kinahanglan nimo nga maghimo usa ka interface sa network (eg wg0) para sa wiregaurd sa mga kaedad sama sa gipakita sa ubos. Dayon i-assign ang mga IP address sa bag-ong network interface nga gihimo (alang niini nga giya, atong gamiton ang network 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

Aron makita ang gilakip nga mga interface sa network sa mga kaedad ug sa ilang mga IP address, gamita ang mosunod nga IP command.

$ ip ad

Sunod, i-assign ang pribado nga yawe alang sa matag peer sa wg0 network interface ug ipataas ang interface sama sa gipakita.

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

Karon nga ang duha ka mga link anaa na sa matag usa nga adunay pribadong mga yawe nga may kalabutan niini, padagana ang wg utility nga walay bisan unsa nga mga argumento aron makuha ang configuration sa WireGuard interface sa mga kaedad. Dayon paghimo sa imong wireguard VPN tunnel sama sa mosunod.

Ang peer (public key), gitugotan-ips (network/subnet mask) ug endpoint (public ip:port) kay sa kaatbang nga 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

Pagsulay sa WireGuard VPN Tunnel Taliwala sa Linux Systems

Kung nahimo na ang wireguard VPN tunnel, i-ping ang kaatbang nga kaedad gamit ang adres sa wireguard network interface. Dayon padagana pag-usab ang wg utility aron makumpirma ang usa ka handshake tali sa mga kaubanan sama sa gipakita.

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

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

Mao na sa pagkakaron! Ang WireGuard usa ka moderno, luwas, yano apan kusgan ug dali nga ma-configure nga solusyon sa VPN alang sa umaabot. Nag-agi kini sa bug-at nga pag-uswag busa nagpadayon ang pag-uswag. Makakuha ka ug dugang nga kasayuran labi na bahin sa internal nga mga buhat sa sulod ug uban pang mga kapilian sa pag-configure gikan sa homepage sa WireGuard.