Jak skonfigurować Wireguard VPN na Linuksie
Wireguard to potężny demon wirtualnej sieci prywatnej (VPN) typu open source, który może działać zarówno na komputerach stacjonarnych, jak i urządzeniach mobilnych. Zapewnia szybką i lekką alternatywę dla tradycyjnych rozwiązań VPN, takich jak IPsec i OpenVPN. Tutaj pokazujemy, jak zainstalować Wireguard i utworzyć prostą konfigurację VPN przy użyciu trzech maszyn Linux.
Dlaczego warto wybrać Wireguard jako rozwiązanie VPN?
Jedną z największych zalet Wireguard jest to, że jest to szybki i lekki demon VPN. W przeciwieństwie do tradycyjnych rozwiązań, Wireguard nie dodaje wiele narzutu do Twojej sieci. Powoduje to mniejsze opóźnienie i wysoką ogólną przepustowość w Twoich węzłach.
Kolejną kluczową cechą Wireguard jest to, że jest to moduł wewnątrz jądra Linux. Dzięki temu może działać bez zajmowania dodatkowych zasobów systemowych komputera, co czyni go idealnym wyborem do wdrażania na urządzeniach low-end i SOC.
Na koniec, Wireguard korzysta również z nowoczesnych standardów kryptograficznych i praktyk rozwojowych. Przeszedł również wiele formalnych weryfikacji, które potwierdzają poprawność kodu Wireguard, gwarancje bezpieczeństwa i zdolność do przeciwstawiania się atakom.
Uzyskanie Wireguard
Pierwszym krokiem do skonfigurowania Wireguard na Linuksie jest pobranie jego podstawowych narzędzi z repozytorium dystrybucji. Pozwala to kontrolować wbudowany moduł jądra Wireguard za pomocą poleceń przestrzeni użytkownika.
Aby zainstalować podstawowe narzędzia w Ubuntu i Debianie, uruchom następujące polecenie:
W Fedorze możesz użyć dnf
menedżera pakietów:
pacman
W przypadku Arch Linux podstawowe narzędzia Wireguard można pobrać, uruchamiając :
Potwierdź, że poprawnie zainstalowałeś narzędzia Wireguard, otwierając ekran pomocy:
Konfigurowanie serwera Wireguard
Założenie: W tym artykule zakładamy, że instalujesz serwer Wireguard w systemie Linux z publicznie dostępnym adresem IPv4. Instrukcje nadal będą działać na serwerze za NAT, ale nie znajdzie on węzłów poza swoją podsiecią.
Dzięki podstawowemu zestawowi narzędzi Wireguard na komputerach z systemem Linux możesz teraz skonfigurować węzeł serwera VPN. Będzie on służył jako brama internetowa dla węzłów klienckich w sieci.
Zacznij od przejścia do katalogu konfiguracji Wireguard i ustawienia domyślnych uprawnień na „tylko root”:
Wygeneruj klucz publiczny i prywatny dla swojego serwera Wireguard:
Utwórz plik konfiguracyjny serwera korzystając z ulubionego edytora tekstu:
Wklej następujący blok kodu do pliku konfiguracyjnego serwera:
Otwórz nową sesję terminala, a następnie wydrukuj prywatny klucz Wireguard swojego serwera:
Skopiuj klucz prywatny serwera do schowka.
Zastąp wartość zmiennej PrivateKey
kluczem ze schowka.
Znajdź interfejs sieciowy, który ma dostęp do Internetu, korzystając z polecenia ip
:
Ustaw wartość flagi -o
w obu zmiennych PostUp
i PostDown
na interfejs z dostępem do Internetu, a następnie zapisz plik konfiguracyjny.
Otwórz plik serwera „/etc/sysctl.conf” za pomocą ulubionego edytora tekstu:
Przewiń w dół do wiersza zawierającego net.ipv4.ip_forward=1
, a następnie usuń znak funta (#) znajdujący się przed nim.
Załaduj ponownie nową konfigurację sysctl, uruchamiając: sudo sysctl -p
.
Konfigurowanie i podłączanie klienta Wireguard
W tym momencie masz już poprawnie skonfigurowany serwer Wireguard bez żadnych równorzędnych serwerów. Aby go użyć, musisz skonfigurować i podłączyć swojego pierwszego klienta Wireguard.
Przejdź do katalogu konfiguracyjnego Wireguard w systemie klienckim i ustaw jego domyślne uprawnienia:
Wygeneruj parę kluczy Wireguard swojego klienta, używając następującego polecenia:
Utwórz plik konfiguracyjny Wireguard klienta przy użyciu ulubionego edytora tekstu:
Wklej następujący blok kodu do pliku konfiguracyjnego klienta:
Zastąp PrivateKey
zmienną prywatnym kluczem klienta.
Otwórz sesję terminala serwera Wireguard, a następnie wydrukuj jego klucz publiczny:
Ustaw wartość zmiennej PublicKey
na klucz publiczny swojego serwera.
Zmień Endpoint
zmienną na adres IP serwera Wireguard.
Zapisz plik konfiguracyjny, a następnie użyj polecenia wg-quick
, aby uruchomić klienta Wireguard:
Łączenie serwera Wireguard z klientem
Przejdź do sesji terminala serwera Wireguard i otwórz jego plik konfiguracyjny:
Wklej poniższy blok kodu po [Interface]
sekcji:
Ustaw PublicKey
zmienną na klucz publiczny swojego klienta Wireguard.
Zapisz plik konfiguracyjny, a następnie uruchom następujące polecenie, aby uruchomić usługę Wireguard na swoim serwerze:
Dodawanie drugiego klienta do serwera
Jedną z kluczowych cech każdej usługi VPN jest to, że może ona łączyć ze sobą wiele maszyn z różnych sieci. Jest to przydatne, jeśli masz komputery w różnych lokalizacjach lub chcesz hostować prywatny serwer gier dla swoich znajomych.
Aby to zrobić w Wireguard, musisz utworzyć plik konfiguracyjny dla nowego interfejsu VPN na swoim serwerze. Najłatwiejszym sposobem na to jest skopiowanie bieżącej konfiguracji serwera i nadanie kopii nowej nazwy:
Otwórz nowy plik konfiguracyjny za pomocą ulubionego edytora tekstu:
Ustaw ListenPort
zmienną na 60102. Zapobiegnie to wszelkim kolizjom portów pomiędzy interfejsami VPN wg0 i wg1.
Przejdź do [Peer]
sekcji i zmień AllowedIPs
zmienną z „10.0.0.2/32” na „10.0.0.3/32”, a następnie zapisz plik konfiguracyjny.
Konfigurowanie drugiego klienta Wireguard
Zaloguj się na drugim komputerze, a następnie przygotuj katalog konfiguracyjny Wireguard:
Wygeneruj nową parę kluczy Wireguard przy użyciu następującego polecenia:
Utwórz nowy plik konfiguracyjny przy użyciu swojego ulubionego edytora tekstu:
Wklej następujący blok kodu do nowego pliku konfiguracyjnego:
Ustaw PrivateKey
zmienną na klucz prywatny drugiego komputera, a następnie zmień PublicKey
zmienną na klucz publiczny swojego serwera.
Zastąp zmienną Endpoint adresem IP swojego serwera, a następnie „:60102”.
Zapisz plik konfiguracyjny, a następnie uruchom klienta Wireguard na drugim komputerze:
Łączenie drugiego klienta z serwerem Wireguard
Zaloguj się ponownie do serwera Wireguard, a następnie otwórz konfigurację interfejsu VPN dla drugiego klienta:
Przewiń w dół do [Peer]
sekcji, a następnie zamień PublicKey
zmienną na klucz publiczny drugiego klienta.
Zapisz plik konfiguracyjny, a następnie uruchom drugi interfejs VPN za pomocą polecenia wg-quick:
Sprawdź, czy pierwszy i drugi klient Wireguard wyświetlają się prawidłowo na serwerze, uruchamiając wg
.
Testowanie sieci Wireguard
Mając zarówno serwer, jak i klientów w sieci Wireguard, możesz teraz przetestować łączność i opóźnienie między węzłami. Aby to zrobić, upewnij się, że masz zainstalowane narzędzia diagnostyki sieci w swoim systemie:
W systemie Fedora wystarczy zainstalować tylko kilka curl
narzędzi sieciowych, ponieważ są one dostarczane od razu po instalacji:
W przypadku Arch Linux możesz pacman
zainstalować narzędzia sieciowe i curl
:
Zacznij od śledzenia trasy pakietu między dwoma klientami. Poniżej pokazano, jak pakiet IP przechodzi z „10.0.0.2” do „10.0.0.3”:
Sprawdź, czy którykolwiek z Twoich węzłów ma dostęp do publicznego Internetu, wysyłając polecenie ping na wspólny adres IP:
Na koniec sprawdź, czy Twoje węzły współdzielą ten sam publiczny adres IP z serwerem Wireguard:
Nauka konfiguracji sieci Wireguard w systemie Linux to pierwszy krok w eksploracji fascynującego świata sieci VPN. Zanurz się głęboko i zapoznaj z naszymi typami najlepszych dostawców sieci VPN skoncentrowanych na bezpieczeństwie, których możesz otrzymać już dziś.
Źródło obrazu: Kari Shea przez Unsplash i Wikimedia Commons . Wszystkie zmiany i zrzuty ekranu autorstwa Ramces Red.
Dodaj komentarz