Wyszukiwanie w witrynie

WireGuard - szybki, nowoczesny i bezpieczny tunel VPN dla systemu Linux


WireGuard to nowoczesna, bezpieczna, wieloplatformowa implementacja VPN ogólnego przeznaczenia, która wykorzystuje najnowocześniejszą kryptografię. Ma być szybki, prostszy, oszczędniejszy i bardziej funkcjonalny niż IPsec, a także ma być bardziej wydajny niż OpenVPN.

Jest przeznaczony do użytku w różnych okolicznościach i można go wdrożyć na wbudowanych interfejsach, w pełni obciążonych routerach szkieletowych i superkomputerach; i działa na systemach operacyjnych Linux, Windows, macOS, BSD, iOS i Android.

Zalecana lektura: 13 najlepszych usług VPN z dożywotnią subskrypcją

Prezentuje niezwykle prosty, ale potężny interfejs, który ma być prosty, tak łatwy w konfiguracji i wdrażaniu jak SSH. Jego kluczowe funkcje obejmują prosty interfejs sieciowy, routing kluczy kryptograficznych, wbudowany roaming i obsługę kontenerów.

Należy pamiętać, że w chwili pisania tego tekstu jest on w fazie intensywnego rozwoju: niektóre jego części pracują nad stabilną wersją 1.0, podczas gdy inne już tam są (działają dobrze).

W tym artykule dowiesz się, jak zainstalować i skonfigurować WireGuard w systemie Linux, aby utworzyć tunel VPN pomiędzy dwoma hostami z systemem Linux.

Środowisko testowe

W tym przewodniku nasza konfiguracja (nazwa hosta i publiczny adres IP) wygląda następująco:

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

Jak zainstalować WireGuard w dystrybucjach Linuksa

Zaloguj się do obu węzłów i zainstaluj WireGuard, używając następującego polecenia odpowiedniego dla Twoich dystrybucji Linuksa w następujący sposób.

Zainstaluj WireGuard w RHEL 8

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

Zainstaluj WireGuard w CentOS 8

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

Zainstaluj WireGuard w RHEL/CentOS 7

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

Zainstaluj WireGuard w Fedorze

sudo dnf install wireguard-tools

Zainstaluj WireGuard w Debianie

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

Zainstaluj WireGuard w Ubuntu

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

Zainstaluj WireGuard w OpenSUSE

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

Konfigurowanie tunelu VPN WireGuard pomiędzy dwoma hostami z systemem Linux

Po zakończeniu instalacji wireguard na obu węzłach możesz zrestartować węzły lub dodać moduł wireguard z jądra Linuksa, używając następującego polecenia na obu węzłach.

sudo modprobe wireguard
OR
modprobe wireguard

Następnie wygeneruj klucze publiczne i prywatne zakodowane w formacie Base64 za pomocą narzędzia wg na obu węzłach, jak pokazano.

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

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

Następnie musisz utworzyć interfejs sieciowy (np. wg0) dla wiregaurd na urządzeniach równorzędnych, jak pokazano poniżej. Następnie przypisz adresy IP do nowo utworzonego interfejsu sieciowego (w tym poradniku będziemy korzystać z sieci 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

Aby wyświetlić podłączone interfejsy sieciowe na urządzeniach równorzędnych i ich adresy IP, użyj następującego polecenia IP.

ip ad

Następnie przypisz klucz prywatny każdemu partnerowi do interfejsu sieciowego wg0 i wywołaj interfejs, jak pokazano.

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

Teraz, gdy oba łącza są już uruchomione, każde z powiązanymi z nimi kluczami prywatnymi, uruchom narzędzie wg bez żadnych argumentów, aby pobrać konfigurację interfejsów WireGuard na urządzeniach równorzędnych. Następnie utwórz tunel Wireguard VPN w następujący sposób.

Partner (klucz publiczny), dozwolony-ips (maska sieci/podsieci) i punkt końcowy (publiczny ip:port) należą do przeciwnego partnera .

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

Testowanie tunelu WireGuard VPN pomiędzy systemami Linux

Po utworzeniu tunelu Wireguard VPN, wykonaj polecenie ping do przeciwnego partnera, używając adresu interfejsu sieciowego Wireguard. Następnie ponownie uruchom narzędzie wg, aby potwierdzić uścisk dłoni między urządzeniami równorzędnymi, jak pokazano.

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

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

To wszystko na teraz! WireGuard to nowoczesne, bezpieczne, proste, a jednocześnie wydajne i łatwe w konfiguracji rozwiązanie VPN na przyszłość. Jest w fazie intensywnego rozwoju, dlatego prace w toku. Więcej informacji, zwłaszcza na temat jego wewnętrznego działania i innych opcji konfiguracyjnych, można uzyskać na stronie głównej WireGuard.