WireGuard na pfSense – konfiguracja VPN dla pracy zdalnej krok po kroku
WireGuard to nowoczesny protokół VPN: szybki, prosty w konfiguracji i oparty na współczesnej kryptografii. Na pfSense możesz go uruchomić w kilkanaście minut i dać pracownikom bezpieczny dostęp do sieci firmowej z laptopa lub telefonu.
W tym poradniku skonfigurujemy dostęp zdalny (tzw. road warrior): pracownik łączy się z dowolnego miejsca do firewalla pfSense w biurze i ma dostęp do zasobów w sieci LAN.
Dlaczego WireGuard, a nie OpenVPN lub IPsec?
- Wydajność – WireGuard jest lekki i zwykle osiąga wyższe prędkości niż OpenVPN na tym samym sprzęcie.
- Prostota – zamiast certyfikatów i dziesiątek opcji masz parę kluczy i kilka pól do wypełnienia.
- Stabilność na urządzeniach mobilnych – połączenie płynnie przetrwa zmianę sieci, np. z Wi-Fi na LTE.
- Darmowi klienci na Windows, macOS, Linux, Android i iOS.
OpenVPN i IPsec nadal mają swoje zastosowania – np. gdy potrzebujesz uwierzytelniania przez RADIUS/LDAP albo łączysz się z urządzeniami innych producentów. Do prostego dostępu zdalnego dla kilku–kilkudziesięciu osób WireGuard jest jednak bardzo dobrym wyborem.
Zanim zaczniesz – zaplanuj adresację
Przygotuj kilka wartości. W przykładzie użyjemy:
| Publiczny adres IP firewalla (WAN) | 198.51.100.6 (lub nazwa DDNS, np. vpn.twojafirma.pl) |
| Port WireGuard | 51820/UDP |
| Sieć tunelu | 10.6.210.0/24 |
| Adres firewalla w tunelu | 10.6.210.1/24 |
| Adresy pracowników | 10.6.210.2, 10.6.210.3, 10.6.210.4… |
| Sieć LAN w biurze | 192.168.1.0/24 |
Ważne: sieć tunelu nie może pokrywać się z siecią LAN w biurze ani z typowymi sieciami domowymi (192.168.0.0/24, 192.168.1.0/24). Dlatego w biurze warto unikać tych najpopularniejszych zakresów – oszczędzi to problemów, gdy pracownik połączy się z domu.
Krok 1. Zainstaluj pakiet WireGuard
WireGuard w pfSense instaluje się jako pakiet. Upewnij się najpierw, że masz aktualną wersję pfSense Plus.
- Przejdź do System > Package Manager > Available Packages.
- Wyszukaj WireGuard i kliknij Install.
- Po instalacji pojawi się menu VPN > WireGuard.
Krok 2. Utwórz tunel
- Przejdź do VPN > WireGuard > Tunnels i kliknij Add Tunnel.
- Uzupełnij pola:
- Enable: zaznaczone
- Description:
Dostep zdalny - Listen Port:
51820 - Interface Keys: kliknij Generate – pfSense utworzy klucz prywatny i publiczny
- Interface Addresses:
10.6.210.1/24
- Kliknij Save Tunnel.
Skopiuj klucz publiczny tunelu – będzie potrzebny w konfiguracji klientów. Klucza prywatnego nigdy nikomu nie przekazuj.
Krok 3. Wygeneruj klucze dla pracownika
Każdy pracownik (a dokładniej: każde urządzenie) potrzebuje własnej pary kluczy. Najprościej wygenerować je w aplikacji WireGuard na urządzeniu pracownika:
- Windows / macOS: w aplikacji WireGuard wybierz Dodaj pusty tunel – aplikacja od razu wygeneruje klucze.
- Android / iOS: Utwórz od podstaw i kliknij ikonę generowania klucza.
Możesz też wygenerować klucze w pfSense: Diagnostics > Command Prompt, polecenie:
wg genkey | tee privatekey | wg pubkey > publickey
Każde urządzenie musi mieć unikalne klucze – nie kopiuj jednej konfiguracji na kilka laptopów.
Krok 4. Dodaj pracownika jako peer
- Przejdź do VPN > WireGuard > Peers i kliknij Add Peer.
- Uzupełnij pola:
- Enable: zaznaczone
- Tunnel: utworzony wcześniej tunel (
tun_wg0) - Description: np.
Jan Kowalski - laptop - Dynamic Endpoint: zaznaczone (pracownik łączy się z różnych miejsc)
- Keep Alive: zostaw puste
- Public Key: klucz publiczny z urządzenia pracownika
- Pre-shared Key: opcjonalnie – dodatkowa warstwa zabezpieczeń, musi być taka sama po obu stronach
- Allowed IPs:
10.6.210.2/32– adres tego pracownika w tunelu, z maską /32
- Kliknij Save Peer. Kolejnych pracowników dodajesz tak samo, z adresami .3/32, .4/32 itd.
Krok 5. Reguły firewalla
Bez reguł firewall zablokuje połączenia. Potrzebne są dwie.
Reguła na WAN – przepuść połączenia WireGuard
Firewall > Rules > WAN > Add (dodaj na górze listy):
- Action: Pass
- Protocol: UDP
- Source: any
- Destination: WAN address
- Destination Port Range: (other)
51820 - Description:
WireGuard - dostep zdalny
Reguła na WireGuard – co pracownik może zrobić w sieci
Firewall > Rules > WireGuard > Add. Na początek możesz przepuścić cały ruch (Protocol: Any, Source: any, Destination: any), a po sprawdzeniu, że wszystko działa – zawęzić dostęp, np. tylko do serwera plików i systemu księgowego.
Kliknij Save i Apply Changes.
Dobra praktyka: daj pracownikom dostęp tylko do tego, czego potrzebują. Reguła „any → any” jest wygodna do testów, ale w produkcji zwiększa skutki ewentualnego przejęcia laptopa.
Krok 6. Konfiguracja na komputerze pracownika
W aplikacji WireGuard uzupełnij konfigurację tunelu. Masz dwie opcje.
Opcja A: tunel dzielony (split tunnel) – zalecany
Przez VPN idzie tylko ruch do sieci firmowej, a zwykły internet – bezpośrednio z domowego łącza. To mniej obciąża łącze w biurze.
[Interface]
PrivateKey = <klucz prywatny pracownika>
Address = 10.6.210.2/24
[Peer]
PublicKey = <klucz publiczny tunelu z pfSense>
Endpoint = 198.51.100.6:51820
AllowedIPs = 10.6.210.1/32, 192.168.1.0/24
Opcja B: pełny tunel (full tunnel)
Cały ruch pracownika, łącznie z internetem, przechodzi przez firewall w biurze – podlega firmowym regułom i filtrowaniu. Przydatne np. przy pracy w publicznych sieciach Wi-Fi.
[Interface]
PrivateKey = <klucz prywatny pracownika>
Address = 10.6.210.2/24
DNS = 10.6.210.1
[Peer]
PublicKey = <klucz publiczny tunelu z pfSense>
Endpoint = 198.51.100.6:51820
AllowedIPs = 0.0.0.0/0
Plik konfiguracyjny zawiera klucz prywatny, więc przekazuj go bezpiecznym kanałem – nigdy zwykłym e-mailem.
Krok 7. Test połączenia
- Włącz tunel w aplikacji WireGuard.
- W pfSense przejdź do Status > WireGuard – przy peerze powinien pojawić się czas ostatniego połączenia (latest handshake) i rosnące liczniki ruchu.
- Z komputera pracownika wykonaj
ping 10.6.210.1, a potem spróbuj otworzyć zasób w sieci LAN.
Najczęstsze problemy
Brak „handshake” w Status > WireGuard
Sprawdź regułę na WAN (port 51820/UDP), poprawność adresu w polu Endpoint oraz klucze publiczne po obu stronach. Jeśli przed pfSense stoi router operatora, musi przekierowywać port 51820/UDP na pfSense albo pracować w trybie bridge.
Handshake jest, ale nie ma dostępu do LAN
Sprawdź regułę na zakładce WireGuard oraz czy sieć LAN jest wpisana w AllowedIPs po stronie klienta. Upewnij się też, że sieć tunelu i sieć LAN nie pokrywają się z siecią domową pracownika.
Pełny tunel: VPN działa, ale nie ma internetu
Sprawdź Firewall > NAT > Outbound. Jeśli ruch z sieci tunelu (10.6.210.0/24) nie jest NAT-owany na WAN, przełącz tryb na Hybrid Outbound NAT i dodaj regułę dla tej sieci na interfejsie WAN. Sprawdź też, czy klient ma ustawiony serwer DNS.
Połączenie zrywa się po kilku minutach bezczynności
Niektóre sieci (np. hotelowe lub komórkowe) zamykają nieaktywne połączenia UDP. Ustaw wtedy PersistentKeepalive = 25 w sekcji [Peer] u klienta.
Bezpieczeństwo – o czym pamiętać
- Jeden pracownik = jedno urządzenie = jedna para kluczy. Gdy pracownik odchodzi lub zgubi laptop, wyłączasz tylko jego peer.
- Ogranicz dostęp regułami – nie każdy musi widzieć całą sieć.
- Aktualizuj pfSense – na urządzeniach Netgate aktualizacje pfSense Plus są w cenie, dożywotnio.
- Prowadź listę peerów z opisem, do kogo należą. Pole Description bardzo w tym pomaga.
Jaki sprzęt do VPN dla firmy?
Wydajność VPN zależy przede wszystkim od procesora firewalla. Dla kilku osób pracujących zdalnie wystarczy kompaktowy Netgate 2100. Jeśli przez VPN pracuje kilkanaście lub kilkadziesiąt osób albo łączysz oddziały, wybierz Netgate 4200 – osiąga ok. 1 Gb/s przepustowości VPN IPsec przy realistycznym ruchu (wg danych producenta). Wszystkie modele porównasz w przewodniku po urządzeniach Netgate.
Wolisz, żeby ktoś zrobił to za Ciebie?
Jako autoryzowany partner Netgate konfigurujemy VPN dla firm: WireGuard, OpenVPN i IPsec, połączenia między oddziałami i dostęp zdalny z ograniczeniem uprawnień. Napisz do nas lub zadzwoń: 512 878 054.