WireGuard – praktyczny przewodnik

WireGuard to eksperymentalny protokół VPN, który generuje sporo emocji w świecie VPN.

Jest niezwykle lekki (zaledwie 3782 linii kodu), co czyni go znacznie szybszym niż tradycyjne protokoły VPN, takie jak OpenVPN i IPsec. Zwięzłość kodu ułatwia także audyt, a ponieważ używa sprawdzonych prymitywów kryptograficznych, powinien być bardzo bezpieczny.

WireGuard ma zatem duży potencjał, ale wciąż znajduje się w fazie eksperymentalnej i rozwojowej. Nie został jeszcze odpowiednio sprawdzony pod kątem problemów związanych z bezpieczeństwem, a brak bezpiecznego systemu współdzielenia kluczy między serwerami uniemożliwia powszechne wdrożenie komercyjne.

Ten ostatni problem można rozwiązać za pomocą bardziej tradycyjnego kryptosystemu klucza publicznego, takiego jak RSA, do dystrybucji kluczy. Ale zrobienie tego zwiększyłoby złożoność, a tym samym usunęło wiele zalet korzystania z WireGuard.

WireGuard jest więc w dużej mierze w toku. Jest jednak bardzo interesujące, że niektórzy dostawcy zaczynają eksperymentować z nowym protokołem. A dzięki specjalnym podziękowaniom dla NordVPN, jesteśmy bardzo podekscytowani, że mamy okazję przyjrzeć się temu z bliska.

Sprawdź także Co to jest protokół WireGuard VPN? aby uzyskać bardziej szczegółowe spojrzenie na teorię tego nowego protokołu VPN.

Korzystanie z WireGuard

Obecnie WireGuard jest oficjalnie dostępny dla systemów Android i Linux, chociaż wkrótce będzie obsługiwany system Windows i iOS. Jest również dostępny dla wiersza poleceń macOS przy użyciu Homebrew lub MacPorts.

Alternatywą dla oficjalnych klientów jest TunSafe. Zostało to opracowane jako przedsiębiorstwo komercyjne, a jego oprogramowanie było pierwotnie zamknięte. TunSafe nadal oferuje komercyjną usługę VPN wykorzystującą protokół WireGuard, który jest wbudowany we wszystkich swoich klientów (choć taki, który jest obecnie bezpłatny).

Jednak samo oprogramowanie zostało w pełni otwarte i można je skonfigurować przy użyciu plików konfiguracyjnych innych firm.

Jak zobaczymy, oprogramowanie TunSafe jest często w pełni funkcjonalne niż oficjalni klienci. Jest dostępny w pełnej formie GUI dla systemów Windows, Android i iOS.

Można go również uruchomić z wiersza poleceń Linux, macOS lub FreeBSD. Wymaga to kompilacji ze źródła, ale podano w tym celu proste i łatwe do wykonania instrukcje.

Linux

Oficjalny klient WireGuard

WireGuard został zaprojektowany specjalnie dla jądra Linux. Oficjalnym klientem WireGuard jest tylko wiersz poleceń, działający jako usługa w Terminalu.

Poza koniecznością naprawienia niektórych problemów związanych z zależnościami ($ sudo apt install wireguard openresolv linux-headers - $ (uname -r) wireguard-dkms wireguard-tools załatwiło sprawę), instalacja i użycie jest bardzo proste.

Protokół WireGuard ma pełne trasowanie IPv4 i IPv6 w tunelu VPN. Nie wykryliśmy żadnych wycieków DNS podczas używania go na dowolnej platformie, ale zgłaszane jest, że TunSafe dla Windows może wyciekać IPv6 przez interfejs Tun) więcej na ten temat później).

Nie ma wbudowanego przełącznika zabijania jako takiego, ale można go utworzyć, dodając polecenia iptables do pliku konfiguracyjnego.

Dobry przykład tego, jak to zrobić ręcznie, który powinien mieć zastosowanie do wszystkich plików konfiguracyjnych WireGuard, można znaleźć na stronie konfiguracji WireGuarda Mullvada. Lub dostawca VPN może po prostu dodać polecenia do swoich standardowych plików konfiguracyjnych.

Jak już wspomniano, podstawowy klient WireGuard można również uruchomić w systemie macOS za pomocą Homebrew lub MacPorts.

TunSafe

Aby uruchomić TunSafe w systemie Linux, musisz samodzielnie skompilować kod źródłowy. Na szczęście nie jest to tak przerażające, jak się wydaje. Instrukcje na stronie są bardzo jasne, a my uruchomiliśmy demona wiersza poleceń w kilka minut.

Trzeba jednak powiedzieć, że nie widzimy przewagi używania TunSafe nad oficjalnym klientem Linuksa. TunSafe można również skompilować ze źródła dla systemu macOS i FreeBSD.

Android

Oficjalna aplikacja WireGuard

Oficjalna aplikacja na system Android jest dostępna na stronie F-Droid.

To, czego aplikacja nie ma w funkcjach (tak naprawdę jej nie ma), rekompensuje łatwość użytkowania. Używając tego, co według nas stanie się standardowym sposobem konfiguracji ustawień WireGuard, NordVPN dostarczył nam obrazy zawierające kody QR dla eksperymentalnych serwerów WireGuard.

Wszystko, co musieliśmy zrobić, to zeskanować ten kod dla każdego serwera za pomocą aparatu naszego telefonu i ta-da! Konfiguracja została zakończona. Możliwe jest również ręczne dodawanie plików instalacyjnych, a nawet tworzenie własnych.

I to wszystko, co naprawdę jest w aplikacji. Po skonfigurowaniu połączył się natychmiast i działał dokładnie tak, jak powinien.

Aplikacja TunSafe VPN

Teraz, gdy jest open source, TunSafe stanowi dobrą alternatywę dla oficjalnej aplikacji na Androida. Podstawowa funkcjonalność aplikacji jest prawie identyczna z oficjalną aplikacją open source, na której jest oparta. Jako taki, można go skonfigurować do łączenia się z dowolnymi serwerami WireGuard za pomocą kodu QR, plików konfiguracyjnych lub tworzenia z nowego.

Główną różnicą jest to, że TunSafe obsługuje również usługę VPN, więc domyślnie masz opcję łączenia się z serwerami VPN TunSafe. Chociaż ostatecznie jest to przedsiębiorstwo komercyjne, w tej chwili TunSafe VPN jest w 100% darmowy. Jednak po 30 dniach przepustowość serwerów TunSafe jest ograniczona do 1 GB / dzień.

Podczas korzystania z plików konfiguracyjnych innych firm nie ma ograniczeń, które przekraczają opłaty pobierane przez operatorów serwerów. Zgodnie z polityką prywatności, TunSafe VPN jest usługą bez dzienników.

W przeciwieństwie do oficjalnej aplikacji, TunSafe dla Androida posiada przełącznik zabijania i tunelowanie dzielone („wykluczone aplikacje”). Może także wyświetlać czasy pingów na własnych serwerach, ale nie na serwerach innych firm. Dla zaawansowanych użytkowników możliwe jest samodzielne skonfigurowanie serwera WireGuard w systemie Linux.

Windows

TunSafe

W chwili pisania tego artykułu jedynym sposobem uruchomienia WireGuard w systemie Windows jest użycie TunSafe. Podobnie jak OpenVPN, TunSafe dla Windows wymaga adaptera Ethernet TAP do działania.

Głównym problemem jest to, że adapter TAP może wyciekać żądania DNS IPv6 poza interfejsem VPN. Dlatego zdecydowanie zaleca się wyłączenie protokołu IPv6 w systemie Windows podczas korzystania z TunSafe dla systemu Windows.

Innym problemem jest to, że użycie adaptera TAP zwiększa złożoność prostoty WireGuard. Co działa nieco przeciwko jednej z głównych zalet korzystania z WireGuard.

Klient korzysta z prostego GUI, dzięki czemu importowanie pliku .conf WireGuard jest bardzo łatwe. Nie ma opcji importowania plików za pomocą kodu QR, ale jest to zrozumiałe, ponieważ wiele komputerów z systemem Windows nie ma kamer.

Oferuje także przełącznik killswitch, który może wykorzystywać albo reguły routingu (oparte na kliencie), albo reguły systemowe (firewall) do działania. Lub oba. Co jest bardzo przydatne.

GUI Pre-Alpha

W maju 2020 r. Edge Security ogłosił oficjalną pre-alphę WireGuard dla Windows. Nadal są bardzo wczesne dni, ale klient GUI wskazuje kierunek, w którym zmierza projekt.

Najważniejszą rzeczą do zapamiętania jest to, że w przeciwieństwie do klienta TunSafe, nie jest wymagany adapter OpenVPN TAP. Zamiast tego klient używa Wintun, minimalnego sterownika TUN warstwy 3 dla Windows, który został również opracowany przez zespół WireGuard.

Na uwagę zasługuje również (i nie jest to oczywiste z GUI) fakt, że klient ma wbudowaną funkcję automatyczną "wyłącznik awaryjny" aby zablokować ruch poza tunelem VPN.

Ponadto możemy potwierdzić, że przełączanie między tunelami jest bardzo płynnym procesem. Wszystko wygląda więc bardzo obiecująco!

Testy prędkości

Poza prostotą samą w sobie, jedną z największych zalet WireGuard w porównaniu z OpenVPN jest to, że dodatkowa prostota powinna również znacznie przyspieszyć WireGuard Więc przeprowadziliśmy kilka testów...

Zdecydowaliśmy się użyć do tego Mullvad, ponieważ Mullvad w pełni obsługuje Linux. Obsługuje również WireGuard i OpenVPN na tych samych serwerach (lub co najmniej bardzo podobnych lokalizacjach serwerów), co pozwala na dobre porównanie jak dla podobnego.

Testy przeprowadzono przy użyciu speedtest.net, ponieważ nasz własny system testowania prędkości wymaga do działania plików OpenVPN. Wszystkie testy wykonane z Wielkiej Brytanii. Średnie wskaźniki ping (opóźnienia) są pokazane w nawiasach.

WireGuard powinien teoretycznie być znacznie szybszy niż OpenVPN. Ale nie potwierdzają tego te testy. Należy jednak pamiętać, że to wciąż bardzo wczesne dni na faktyczną implementację WireGuarda i że Mullvad płonie szybko, jeśli chodzi o wydajność OpenVPN.

Wniosek

WireGuard nie został jeszcze wystarczająco zbadany i przetestowany pod kątem penetracji, aby zalecać jako poważną alternatywę dla bezpiecznych protokołów VPN, takich jak OpenVPN i IKEv2. Ale rzeczywiście wygląda bardzo obiecująco.

Jest łatwy w konfiguracji i obsłudze, aw naszych testach szybko się połączył i utrzymał bardzo stabilne połączenie.

Na papierze WireGuard jest znacznie bardziej funkcjonalny niż OpenVPN. Nasze wyniki testów mogą wynikać z faktu, że pełna implementacja jest wciąż na etapie prototypu lub z powodu ograniczeń naszego środowiska testowego.

Zostały one wykonane przez WiFi, a jedynym dostępnym obecnie łączem Wi-Fi, które jest kompatybilne z Linuksem, jest (nieco ironicznie) bardzo tani klucz sieciowy 802.11g, który kosztuje około 5 USD.

Zrób więc, co chcesz z naszych wyników testu prędkości. Poza tym byliśmy pod dużym wrażeniem postępów WireGuard i nie możemy się doczekać, aż przejdzie dalsze testy ulepszeń. Dla każdego, kto podziela ten entuzjazm, mile widziane są darowizny na projekt.

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me