
WireGuard VPN jest nowym solidnym i bardzo szybkim protokołem do tworzenia wirtualnych sieci prywatnych. W tym artykule widzieliśmy, jak jest w stanie podwoić, a nawet potroić prędkość OpenVPN lub IPsec. Ten nowy protokół VPN jest idealny do konfiguracji dostępu zdalnego z klientami mobilnymi, czy to smartfonami, tabletami czy laptopami, ponieważ zużywa bardzo mało zasobów, a połączenie jest naprawdę szybkie. System operacyjny pfSense w wersji 2.5.0 oficjalnie włączył tę nową sieć VPN, wraz z IPsec, L2TP i OpenVPN. Dzisiaj pokażemy, jak skonfigurować WireGuard VPN od podstaw w pfSense 2.5.0, aby łączyć się zdalnie.
Funkcje WireGuard VPN
WireGuardVPN to bardzo lekkie oprogramowanie, które pozwoli nam szybko i łatwo skonfigurować tunel VPN, domyślnie korzysta z najnowocześniejszej kryptografii, bez konieczności wybierania różnych algorytmów szyfrowania asymetrycznego, asymetrycznego czy haszowego, domyślnie mamy bezpieczny domyślnie, w przeciwieństwie do innych protokołów VPN. Celem WireGuard jest stać się najlepsza sieć VPN zarówno dla użytkowników domowych, jak i biznesowych, i jest to skuteczne, ponieważ zostało już zintegrowane z Linux Kernel, aby zapewnić nam najlepszą możliwą wydajność.
Jeśli chodzi o zastosowaną kryptografię, mamy ChaCha20 dla szyfrowania symetrycznego, uwierzytelnione za pomocą Poly1305 , więc mamy AEAD. Wykorzystuje również Curve25519 dla ECDH, BLAKE2 do mieszania SipHash24 dla kluczy hashtable oraz HKDF do wyprowadzenia klucza. Jak widzieliście, mamy najnowocześniejsze algorytmy kryptograficzne używane domyślnie i nie możemy w tej chwili zmienić tego dla innych, muszą to być te tak lub tak.
Dzięki tej nowej sieci VPN nie będziemy musieli zarządzać połączeniami ani dokonywać trudnych konfiguracji, działa ona tylko w trybie tunelowania, ponieważ jest to L3 VPN i używa protokołu UDP jako warstwy transportowej i nie pozwala na wybór TCP, co możemy zrobić jest modyfikacją portu nasłuchiwania dla kogokolwiek chcemy. Oczywiście serwer WireGuard może bez problemów znajdować się za NAT, wystarczyłoby tylko przekierowanie portu. Innymi interesującymi cechami są to, że umożliwia szybki i łatwy roaming między sieciami, aby zawsze być połączony z dowolną WiFi lub sieci 4G / LTE bez przerywania połączenia. Ponadto możemy również włączyć wyłącznik awaryjny, aby zapobiec wyciekom danych w przypadku awarii sieci VPN.
Wreszcie, ta nowa sieć VPN jest kompatybilna z wieloma systemami operacyjnymi, takimi jak Windows, Linuksa, MacOS, FreeBSD, Android, i również iOS . Teraz zespół programistów pfSense 2.5.0 domyślnie włączył WireGuard do swojego systemu, chociaż wcześniej mogliśmy go również zainstalować, ale nie mieliśmy oficjalnego wsparcia.
Konfiguracja serwera WireGuard VPN
Przed wydaniem pfSense 2.5.0, gdybyśmy chcieli mieć WireGuard na tym kompletnym zapora, musieliśmy ręcznie zainstalować go w systemie, pobierając pakiety kompatybilne z FreeBSD. Dzięki zespołowi programistów pfSense od wersji 2.5.0 jest już domyślnie zintegrowany z graficznym interfejsem użytkownika.
Pierwszą rzeczą, którą musimy zrobić, jest udanie się do ” VPN/WireGuard ”, Aby wprowadzić konfigurację tego nowego protokołu VPN. Gdy tylko wejdziemy do menu, klikamy „Dodaj tunel”.

W konfiguracji tunelu musimy włączyć tunel, nadać mu opis i wstawić:
- Adres: adres IPv4 lub IPv6 serwera VPN dla interfejsu tunelu.
- Port: domyślnie 51820 UDP, ale możemy zmienić na dowolny port UDP.
pfSense zawiera generator kluczy publicznych / prywatnych dla serwera VPN z WireGuard. Zalecamy, aby wygenerować kilka kluczy dla klienta VPN i ponownie kliknąć „Generuj”, aby drugie wygenerowane klucze należały do VPN serwer. Na przykład następujące klucze to te, których będziemy później używać w kliencie VPN. Możesz pomóc sobie notatnikiem lub Notepad ++, aby zapisać konfigurację.
Aby ułatwić konfigurację WireGuard za pomocą kluczy publicznych i prywatnych, możesz również użyć pliku narzędzie wireguardconfig co pozwoli nam automatycznie wygenerować zarówno serwer, jak i klientów, aby później dostosować go do pfSense.

A drugie wygenerowane to te z samego serwera VPN z WireGuard.

Kiedy już mamy klucze, musimy kliknąć „Zapisz” i utworzymy serwer VPN z poprzednią konfiguracją:

Kiedy już to mamy, teraz musimy zarejestrować „peerów”, czyli klientów VPN. Wracamy do konfiguracji serwera WireGuard i klikamy „Add Peer”, który jest zielony. Tutaj będziemy musieli wypełnić niektóre ustawienia, ale nie jest konieczne wypełnienie ich wszystkich.

Teraz wyjaśnimy, do czego służy każda z opcji:
- Opis: umieszczamy opis temu klientowi, na przykład nasze imię.
- Punkt końcowy: podajemy publiczny adres IP klienta VPN.
- Port punktu końcowego: umieszczamy port klienta VPN.
Jeśli zamierzasz skonfigurować klienta VPN, w którym zmienia się publiczny adres IP klienta i jego port, to musimy pozostawić opcje „Endpoint” i „Endpoint Port” puste . Te opcje muszą być wypełnione, jeśli mamy zamiar skonfigurować VPN typu Site-to-Site, ale w przypadku dostępu zdalnego (Roadwarrior) nie jest konieczne ich wypełnianie.
- Keep alive: wartość w sekundach, co jakiś czas sprawdza, czy tunel nadal działa, domyślnie jest wyłączony.
A teraz najważniejsze ustawienia:
- Klucz publiczny: musimy umieścić klucz publiczny klienta VPN, wcześniej widzieliście, jak jest generowany dla klienta, ponieważ tutaj umieścimy klucz publiczny.
- Dozwolone adresy IP: jeśli chcemy, aby było przekierowanie do Internetu i dostęp do wszystkich sieci, wstawiamy 0.0.0.0/0. Najbardziej normalną rzeczą jest to, że klienci sieci VPN dostępu zdalnego łączą się z Internetem przez samą sieć VPN, ale tutaj możemy skonfigurować określony dostęp do różnych sieci.
- Peer WireGuard Address: adres IP zarejestrowanego peera.
- Klucz wstępny: opcjonalnie, możesz dodać klucz współdzielony, aby jeszcze bardziej zwiększyć bezpieczeństwo.

W naszym przypadku nie umieściliśmy wstępnie udostępnionego klucza, ale jeśli go umieścisz, zarówno w pfSense, jak iw kliencie VPN, musi być dokładnie taki sam i musimy wygenerować ten klucz za pomocą niebieskiego przycisku, który znajduje się w pfSense. Nie możemy na przykład wstawić klucza współdzielonego „12345678”, musimy użyć generatora pfSense.
Po poprawnym skonfigurowaniu serwera WireGuard VPN w pfSense 2.5.0 zamierzamy skonfigurować część firewall, ponieważ domyślnie jest ona zawsze w trybie blokowania wszystkiego.
Konfiguracja zapory w sieci WAN i WireGuard
Przed podłączeniem pierwszego klienta VPN, musimy przejść do „Firewall / Rules” i dodać nową regułę do interfejsu internetowego WAN. Dodajemy nową regułę z następującymi informacjami:
- Akcja: Pass
- Interfejs: WAN
- Rodzina adresów: IPv4, IPv6 lub oba
- Protokół: UDP
- Źródło: dowolne (jeśli zamierzasz skonfigurować Site-to-Site z WireGuard, możesz umieścić źródłowy publiczny adres IP tutaj, aby poprawić bezpieczeństwo).
- Miejsce docelowe: adres WAN na porcie 51820

Po skonfigurowaniu klikamy „Zapisz”, aby zapisać tę regułę i zastosować zmiany, jak zawsze, gdy dodajemy nową regułę do zapory.
Gdy to zrobisz, musimy teraz przejść do Interfejs «WireGuard» który został utworzony automatycznie w « Zapora / Zasady «, Tutaj będziemy musieli zezwolić na całą komunikację po połączeniu lub tylko na to, czego chcemy, tak jak OpenVPN lub IPsec.
W poniższej konfiguracji widać, że mamy regułę o następującej konfiguracji:
- Akcja: Pass
- Interfejs: WireGuard
- Rodzina adresów: IPv4, IPv6 lub oba
- Protokół: dowolny
- Źródło: dowolne
- Miejsce docelowe: dowolne

Klikamy „Zapisz” i jak zwykle wprowadzamy zmiany. W tym momencie jesteśmy gotowi do skonfigurowania klientów VPN za pomocą WireGuard.
Skonfiguruj klientów WireGuard VPN i połącz się z pfSense
Konfiguracja klientów VPN z WireGuard jest taka sama na wszystkich platformach, będziemy potrzebować dokładnie tych samych informacji. W naszym przypadku użyliśmy smartfona z Androidem, poniżej możesz pobrać oficjalną aplikację WireGuard na Androida i iOS:
Ale mamy go również dla innych systemów operacyjnych, takich jak Windows, bezpośrednio z oficjalnej strony internetowej tego protokołu VPN. Po zainstalowaniu będziemy mogli łatwo skonfigurować klienta.
Jak powiedzieliśmy wcześniej, zalecamy, aby podczas generowania kluczy w pfSense skopiować te klucze do notatnika, zarówno klucz publiczny, jak i prywatny. Ponadto musisz również skopiować klucz publiczny serwera. Gdy to zrobimy, otwieramy WireGuard i przystępujemy do dodania nowego tunelu VPN, mamy trzy opcje:
- Zaimportuj całą konfigurację z pliku, jeśli zamierzasz skonfigurować kilka klientów, takich jak Windows, Linux itp., Normalne jest posiadanie szablonu z różnymi konfiguracjami.
- Skanuj z kodu QR: jeśli korzystamy z narzędzia WireGuardConfig, możemy to łatwo zrobić.
- Utwórz od podstaw: to jest opcja, którą wybraliśmy.



Dodając nową sieć VPN, musimy podać wszystkie lub prawie wszystkie informacje, o które prosi nas, jest to klient VPN:
- Nazwa: umieścimy opis tunelu VPN, opisową nazwę w przypadku, gdy mamy kilka.
- Klucz prywatny: umieszczamy klucz prywatny, który wcześniej skopiowaliśmy z notatnika.
- Klucz publiczny: podczas wpisywania klucza prywatnego generuje go automatycznie
- Adresy: IPv4 lub IPv6 klienta, w tym przypadku wcześniej skonfigurowaliśmy 10.9.0.2/32, umieściliśmy to.
- Port: zostawiamy puste
- Serwery DNS: możemy umieścić konkretny serwer DNS lub bezpośrednio, który rozwiązuje tunel.
- MTU: zostawiamy to puste.
Teraz klikamy dodaj parę i zostanie wyświetlonych więcej konfiguracji, te konfiguracje są konfiguracjami serwera VPN.
- Peers - klucz publiczny serwera VPN.
- Klucz wstępny: jeśli nie skonfigurowaliśmy, zostawiamy go pustym, jeśli skonfigurowaliśmy, kopiujemy go dokładnie tak samo.
- Trwała konserwacja: utrzymywać przy życiu, zaleca się pozostawić to puste.
- Punkt końcowy: musimy wstawić składnię „IP: port”, dlatego możemy wpisać: „vpn.redeszone.net:51820”.
- Dozwolone adresy IP: jeśli chcemy umieścić je wszystkie, wstawiamy 0.0.0.0/0. Mamy również przycisk do wykluczania prywatnych adresów IP.
Gdy już to zrobimy, klikamy Zapisz i będziemy mogli zobaczyć wszystkie wprowadzone ustawienia.


Po dodaniu i sprawdzeniu, że wszystko jest w porządku, przystępujemy do połączenia i zobaczymy, że istnieje wymiana ruchu i że VPN działa idealnie.

Jeśli nie otrzymaliśmy pakietów, oznacza to, że coś jest nie tak i tunel WireGuard VPN nie został poprawnie ustanowiony. Jeśli tak się stanie, będziesz musiał przejrzeć całą dokonaną konfigurację i przejrzeć dzienniki pfSense, aby zobaczyć, co się dzieje.
Mamy nadzieję, że dzięki temu samouczkowi udało Ci się skonfigurować serwer WireGuard VPN we wspaniałym pfSense 2.5.0