WireGuard - Njia ya VPN ya haraka, ya kisasa na salama ya Linux


WireGuard ni utekelezaji wa VPN wa kisasa, salama, wa jukwaa mtambuka na wa madhumuni ya jumla unaotumia mfumo wa siri wa hali ya juu. Inalenga kuwa haraka, rahisi, konda na kufanya kazi zaidi kuliko IPsec na inakusudia kufanya kazi zaidi kuliko OpenVPN.

Imeundwa kwa matumizi katika hali mbalimbali na inaweza kutumwa kwenye violesura vilivyopachikwa, vipanga njia vya uti wa mgongo vilivyopakiwa kikamilifu, na kompyuta kubwa sawa; na hutumika kwenye Linux, Windows, macOS, BSD, iOS, na mifumo ya uendeshaji ya Android.

Imependekezwa Soma: Huduma 13 Bora za VPN zilizo na Usajili wa Maisha

Inatoa kiolesura cha msingi sana lakini chenye nguvu ambacho kinalenga kuwa rahisi, rahisi kusanidi na kupeleka kama SSH. Vipengele vyake muhimu ni pamoja na kiolesura rahisi cha mtandao, uelekezaji wa ufunguo wa crypto, uzururaji uliojengewa ndani na usaidizi wa chombo.

Kumbuka kwamba wakati wa kuandika, ni chini ya maendeleo makubwa: baadhi ya sehemu zake zinafanya kazi kuelekea kutolewa kwa 1.0 imara, wakati wengine tayari kuna (kufanya kazi vizuri).

Katika makala hii, utajifunza jinsi ya kusakinisha na kusanidi WireGuard katika Linux ili kuunda handaki ya VPN kati ya wapangishi wawili wa Linux.

Kwa mwongozo huu, usanidi wetu (jina la mwenyeji na IP ya umma) ni kama ifuatavyo:

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

Jinsi ya Kufunga WireGuard katika Usambazaji wa Linux

Ingia kwenye nodi zako zote mbili na usakinishe WireGuard ukitumia amri ifuatayo inayofaa kwa usambazaji wako wa Linux kama ifuatavyo.

$ 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

Kusanidi Njia ya VPN ya WireGuard Kati ya Vipangishi viwili vya Linux

Wakati usakinishaji wa wireguard umekamilika kwenye nodi zote mbili, unaweza kuwasha upya nodi zako au kuongeza moduli ya wireguard kutoka kwa kinu cha Linux kwa kutumia amri ifuatayo kwenye nodi zote mbili.

$ sudo modprobe wireguard
OR
# modprobe wireguard

Ifuatayo, toa funguo za umma na za kibinafsi zilizosimbwa kwa base64 kwa kutumia matumizi ya wg kwenye nodi zote mbili kama inavyoonyeshwa.

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

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

Ifuatayo, unahitaji kuunda kiolesura cha mtandao (k.m. wg0) kwa wiregaurd kwenye programu zingine kama inavyoonyeshwa hapa chini. Kisha upe anwani za IP kwenye kiolesura kipya cha mtandao kilichoundwa (kwa mwongozo huu, tutatumia mtandao 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

Kutazama miingiliano ya mtandao iliyoambatishwa kwenye rika na anwani zao za IP, tumia amri ifuatayo ya IP.

$ ip ad

Ifuatayo, toa ufunguo wa faragha kwa kila rika kwenye kiolesura cha mtandao cha wg0 na ulete kiolesura kama inavyoonyeshwa.

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

Sasa kwa kuwa viungo vyote viwili viko juu kila moja ikiwa na funguo za kibinafsi zinazohusiana nazo, endesha matumizi ya wg bila hoja zozote ili kupata usanidi wa miingiliano ya WireGuard kwenye programu zingine. Kisha unda handaki yako ya wireguard VPN kama ifuatavyo.

Rika (ufunguo wa umma), ips zinazoruhusiwa (kinyago cha mtandao/subnet) na sehemu ya mwisho (ip ya umma: bandari) ni za rika tofauti.

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

Kujaribu Tunnel ya WireGuard VPN Kati ya Mifumo ya Linux

Mara tu handaki ya VPN ya wireguard imeundwa, piga rika kinyume kwa kutumia anwani ya kiolesura cha mtandao wa wireguard. Kisha endesha matumizi ya wg kwa mara nyingine tena ili kuthibitisha kupeana mkono kati ya wenzao kama inavyoonyeshwa.

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

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

Ni hayo kwa sasa! WireGuard ni suluhisho la kisasa, salama, rahisi lakini lenye nguvu na rahisi kusanidi VPN kwa siku zijazo. Inafanyiwa maendeleo mazito hivyo kazi inaendelea. Unaweza kupata maelezo zaidi hasa kuhusu utendakazi wake wa ndani na chaguo zingine za usanidi kutoka kwa ukurasa wa nyumbani wa WireGuard.