W dzisiejszym cyfrowym świecie, gdzie praca zdalna i rozproszona infrastruktura stają się normą, bezpieczny dostęp do zasobów sieciowych jest nie tyle luksusem, co absolutną koniecznością. Wirtualne Sieci Prywatne (VPN) od dawna stanowią odpowiedź na te potrzeby, jednak tradycyjne rozwiązania bywają skomplikowane i powolne. Na scenę wkracza WireGuard – nowoczesny protokół VPN, który rewolucjonizuje sposób, w jaki myślimy o bezpiecznych tunelach. W połączeniu z potęgą systemu TrueNAS Scale i prostotą aplikacji WG-Easy, możemy stworzyć niezwykle wydajne i łatwe w zarządzaniu rozwiązanie.
Ten artykuł to kompleksowy przewodnik, który krok po kroku przeprowadzi Cię przez proces konfiguracji bezpiecznego tunelu VPN WireGuard. Połączymy serwer TrueNAS Scale, działający w Twojej sieci domowej lub firmowej, z flotą publicznych serwerów VPS. Naszym celem jest stworzenie inteligentnej komunikacji typu „split-tunnel”, dzięki której tylko niezbędny ruch będzie kierowany przez VPN, zachowując maksymalną wydajność połączenia internetowego.
Czym Jest WireGuard i Dlaczego Zmienia Zasady Gry?
Zanim zagłębimy się w techniczną konfigurację, warto zrozumieć, dlaczego WireGuard zyskuje tak ogromną popularność. Zaprojektowany od podstaw z myślą o prostocie i wydajności, stanowi on powiew świeżości w porównaniu do starszych, ociężałych protokołów jak OpenVPN czy IPsec.
Główne zalety WireGuard to:
- Minimalizm i Prostota: Kod źródłowy WireGuard liczy zaledwie kilka tysięcy linii, w przeciwieństwie do setek tysięcy w przypadku konkurencji. To nie tylko ułatwia audyt bezpieczeństwa, ale także znacząco redukuje potencjalną powierzchnię ataku.
- Niezrównana Wydajność: Dzięki działaniu na poziomie jądra systemu operacyjnego i wykorzystaniu nowoczesnej kryptografii, WireGuard oferuje znacznie wyższe prędkości transferu i niższe opóźnienia. W praktyce oznacza to płynniejszy dostęp do plików i usług.
- Nowoczesna Kryptografia: WireGuard korzysta z najnowszych, sprawdzonych algorytmów kryptograficznych, takich jak ChaCha20, Poly1305, Curve25519, BLAKE2s i SipHash24, zapewniając najwyższy poziom bezpieczeństwa.
- Łatwość Konfiguracji: Model oparty na wymianie kluczy publicznych, podobnie jak w przypadku SSH, jest znacznie bardziej intuicyjny niż skomplikowane zarządzanie certyfikatami w innych systemach VPN.
Potęga TrueNAS Scale i Wygoda WG-Easy
TrueNAS Scale to nowoczesny, darmowy system operacyjny do budowy serwerów plików (NAS), oparty na solidnych fundamentach Linuksa. Jego największą zaletą jest wsparcie dla aplikacji w kontenerach (Docker/Kubernetes), co pozwala na łatwe rozszerzanie jego funkcjonalności. Uruchomienie serwera WireGuard bezpośrednio na urządzeniu, które i tak działa 24/7 i przechowuje nasze dane, jest rozwiązaniem niezwykle efektywnym energetycznie i kosztowo.
Z pomocą przychodzi aplikacja WG-Easy – graficzny interfejs użytkownika, który transformuje proces zarządzania serwerem WireGuard z edycji plików konfiguracyjnych w terminalu w proste klikanie w przeglądarce. Dzięki WG-Easy możemy w kilka chwil tworzyć profile dla nowych urządzeń, generować dla nich konfiguracje i monitorować stan połączeń.
Krok 1: Projektowanie Architektury Sieci – Fundament Stabilności
Zanim uruchomimy jakiekolwiek oprogramowanie, musimy stworzyć solidny plan. Prawidłowe zaprojektowanie topologii i adresacji IP jest kluczem do stabilnego i bezpiecznego rozwiązania.
Model „Hub-and-Spoke”: Twoje Centrum Dowodzenia
Nasza sieć będzie działać w oparciu o model „hub-and-spoke” (piasta i szprychy).
- Hub (Piasta): Centralnym punktem (serwerem) naszej sieci będzie TrueNAS Scale. To do niego będą łączyć się wszystkie inne urządzenia.
- Spokes (Szprychy): Nasze serwery VPS będą klientami (peerami), czyli „szprychami” podłączonymi do centralnej piasty.
W tym modelu cała komunikacja domyślnie przepływa przez serwer TrueNAS. Oznacza to, że aby jeden VPS mógł skomunikować się z drugim, ruch ten musi przejść przez centralny hub.
Aby uniknąć chaosu, tworzymy dedykowaną podsieć dla naszej wirtualnej sieci. W tym poradniku użyjemy 10.8.0.0/24.
Rola Urządzenia | Identyfikator Hosta | Adres IP w VPN |
Serwer (Hub) | TrueNAS-Scale | 10.8.0.1 |
Klient 1 (Spoke) | VPS1 | 10.8.0.2 |
Klient 2 (Spoke) | VPS2 | 10.8.0.3 |
Klient 3 (Spoke) | VPS3 | 10.8.0.4 |
Fundamentalna Zasada: Jeden Klient, Jedna Tożsamość
Pojawia się kusząca myśl: czy można stworzyć jeden plik konfiguracyjny dla wszystkich serwerów VPS? Absolutnie nie. Byłoby to złamanie fundamentalnej zasady bezpieczeństwa WireGuard. Tożsamość w tej sieci nie jest oparta na loginie i haśle, ale na unikalnej parze kluczy kryptograficznych. Użycie tej samej konfiguracji na wielu maszynach jest jak danie tego samego klucza do domu wielu różnym osobom – serwer nie byłby w stanie ich odróżnić, co doprowadziłoby do chaosu w routingu i załamania bezpieczeństwa.
Krok 2: Warunek Wstępny – Otwarcie Bramy na Świat
Najczęstsza pułapka przy konfiguracji domowego serwera to zapominanie o routerze. Twój serwer TrueNAS znajduje się w sieci lokalnej (LAN) i ma prywatny adres IP (np. 192.168.0.13), co czyni go niewidocznym z internetu. Aby serwery VPS mogły się z nim połączyć, musisz skonfigurować na swoim routerze przekierowanie portów (port forwarding).
Musisz utworzyć regułę, która pakiety przychodzące z internetu na konkretny port skieruje prosto do Twojego serwera TrueNAS.
- Protokół: UDP (WireGuard używa wyłącznie UDP)
- Port Zewnętrzny: 51820 (standardowy port WireGuard)
- Adres IP Wewnętrzny: Adres IP Twojego serwera TrueNAS w sieci LAN
- Port Wewnętrzny: 51820
Bez tej reguły Twój serwer VPN nigdy nie zadziała.
Krok 3: Konfiguracja Huba – Uruchamiamy Serwer na TrueNAS
Uruchom aplikację WG-Easy na swoim serwerze TrueNAS. Proces konfiguracji sprowadza się do utworzenia osobnego profilu dla każdego klienta (każdego serwera VPS).
Kliknij „New” i wypełnij formularz dla pierwszego VPS-a, zwracając szczególną uwagę na poniższe pola:
Nazwa Pola w WG-Easy | Przykładowa Wartość (dla VPS1) | Wyjaśnienie |
Name | VPS1-Public | Czytelna etykieta, która pomoże Ci zidentyfikować klienta. |
IPv4 Address | 10.8.0.2 | Unikalny adres IP dla tego VPS-a wewnątrz sieci VPN, zgodnie z naszym planem. |
Allowed IPs | 192.168.0.0/24, 10.8.0.0/24 | To jest serce konfiguracji „split-tunnel”. Mówi klientowi (VPS), że tylko ruch do Twojej sieci lokalnej (LAN) oraz do innych urządzeń w sieci VPN ma być przesyłany przez tunel. Cała reszta ruchu (np. do Google) poleci standardową drogą. |
Server Allowed IPs | 10.8.0.2/32 | Krytyczne ustawienie bezpieczeństwa. Informuje serwer TrueNAS, że od tego konkretnego klienta ma akceptować pakiety tylko z jego przypisanego adresu IP. Maska /32 zapobiega podszywaniu się. |
Persistent Keepalive | 25 | Instrukcja dla klienta, aby co 25 sekund wysyłał mały pakiet „podtrzymujący życie”. Jest to niezbędne, aby połączenie nie zostało zerwane przez routery i firewalle po drodze. |

Po wypełnieniu pól zapisz konfigurację. Powtórz ten proces dla każdego kolejnego serwera VPS, pamiętając o nadaniu im kolejnych adresów IP (10.8.0.3, 10.8.0.4 itd.).
Po zapisaniu profilu, WG-Easy wygeneruje dla Ciebie plik konfiguracyjny .conf
. Traktuj ten plik jak hasło – zawiera on klucz prywatny klienta! Pobierz go i przygotuj do wgrania na serwer VPS.
Krok 4: Konfiguracja Szprych – Aktywacja Klientów na Serwerach VPS
Teraz czas ożywić nasze „szprychy”. Zakładając, że Twoje serwery VPS działają na Linuksie (np. Debian/Ubuntu), proces jest bardzo prosty.
- Zainstaluj narzędzia WireGuard:
sudo apt update && sudo apt install wireguard-tools -y
- Wgraj i zabezpiecz plik konfiguracyjny:Skopiuj pobrany wcześniej plik wg0.conf na serwer VPS do katalogu /etc/wireguard/. Następnie zmień jego uprawnienia, aby tylko administrator mógł go odczytać:
# Na serwerze VPS: sudo mv /sciezka/do/pliku/wg0.conf /etc/wireguard/wg0.conf sudo chmod 600 /etc/wireguard/wg0.conf
- Uruchom tunel:Użyj prostego polecenia, aby aktywować połączenie. Nazwa interfejsu (wg0) pochodzi od nazwy pliku konfiguracyjnego.
sudo wg-quick up wg0
- Zapewnij automatyczny start:Aby tunel VPN uruchamiał się automatycznie po każdym restarcie serwera, włącz odpowiednią usługę systemową:
sudo systemctl enable wg-quick@wg0.service
Powtórz te kroki na każdym serwerze VPS, używając unikalnego pliku konfiguracyjnego wygenerowanego dla każdego z nich.
Krok 5: Weryfikacja i Diagnostyka – Sprawdzamy, Czy Wszystko Działa
Po zakończeniu konfiguracji czas na ostateczny test.
Kontrola Stanu Połączenia
Zarówno na serwerze TrueNAS, jak i na każdym VPS, wykonaj polecenie:
sudo wg show
Poszukaj w wyniku dwóch kluczowych informacji:
latest handshake
: Powinien pokazywać niedawny czas (np. „kilka sekund temu”). To dowód, że klient i serwer pomyślnie się połączyły.transfer
: Wartościreceived
isent
większe od zera oznaczają, że dane faktycznie płyną przez tunel.
Ostateczny Test: Walidacja „Split-Tunnel”
To jest test, który potwierdzi, że osiągnęliśmy nasz główny cel. Zaloguj się na jeden z serwerów VPS i wykonaj następujące testy:
- Test łączności wewnątrz VPN: Spróbuj spingować serwer TrueNAS po jego adresach w sieci VPN i LAN.
ping 10.8.0.1 # Adres VPN serwera TrueNAS ping 192.168.0.13 # Adres LAN serwera TrueNAS (użyj swojego)
Jeśli otrzymujesz odpowiedzi, oznacza to, że ruch do Twojej sieci lokalnej jest poprawnie kierowany przez tunel. - Test ścieżki do internetu: Użyj narzędzia
traceroute
, aby sprawdzić, jaką drogą pakiety wędrują do publicznej strony.traceroute google.com
Wynik tego polecenia jest kluczowy. Pierwszy „przeskok” (hop) na trasie musi być adresem bramy domyślnej Twojego dostawcy hostingu VPS, a nie adresem Twojego serwera VPN (10.8.0.1). Jeśli tak jest – gratulacje! Twoja konfiguracja „split-tunnel” działa idealnie.
Rozwiązywanie Typowych Problemów
- Brak „handshake”: Najczęstsza przyczyna to problem z połączeniem. Sprawdź dokładnie konfigurację przekierowania portu UDP 51820 na routerze oraz wszelkie firewalle po drodze (na TrueNAS, na VPS i w panelu dostawcy chmury).
- Jest „handshake”, ale ping nie działa: Zazwyczaj problem leży w konfiguracji
AllowedIPs
. Upewnij się, że serwer ma wpisany poprawny adres VPN klienta (np.10.8.0.2/32
), a klient ma w swojej konfiguracji sieci, do których próbuje się dostać (np.192.168.0.0/24
). - Cały ruch przechodzi przez VPN (full-tunnel): Oznacza to, że w pliku konfiguracyjnym klienta, w sekcji
[Peer]
, poleAllowedIPs
jest ustawione na0.0.0.0/0
. Popraw to ustawienie w interfejsie WG-Easy, pobierz nowy plik konfiguracyjny i zaktualizuj go na kliencie.
Stworzenie własnego, bezpiecznego i wydajnego serwera VPN na bazie TrueNAS Scale i WireGuard jest w zasięgu ręki. To potężne rozwiązanie, które nie tylko zwiększa bezpieczeństwo, ale także daje pełną kontrolę nad Twoją infrastrukturą sieciową.
Interaktywny Przewodnik Konfiguracji WireGuard
TrueNAS Scale ↔ Serwery VPS: Konfiguracja „Split-Tunnel”
1. Architektura Systemu: Hub & Spoke
Zanim zaczniemy, kluczowe jest zrozumienie, jak nasza sieć będzie zorganizowana. Użyjemy modelu „Hub-and-Spoke” (piasta i szprychy). Twój serwer TrueNAS będzie centralnym punktem (Hub), a wszystkie serwery VPS będą do niego podłączonymi klientami (Spokes). Ta sekcja wyjaśnia topologię sieci i plan adresacji IP, które są fundamentem całej konfiguracji.
Diagram Topologii Sieci
TrueNAS (Hub)
90.205.207.85
10.8.0.1
VPS 1 (Spoke)
94.72.111.10
10.8.0.2
VPS 2 (Spoke)
149.102.155.104
10.8.0.3
VPS 3 (Spoke)
158.220.88.64
10.8.0.4
Plan Adresacji IP
Dla naszej sieci VPN użyjemy dedykowanej podsieci 10.8.0.0/24
. Poniżej znajduje się szczegółowy plan alokacji adresów.
Rola Urządzenia | Identyfikator | Adres IP w VPN |
---|---|---|
Serwer (Hub) | TrueNAS Scale | 10.8.0.1 |
Klient 1 (Spoke) | VPS1 (94.72.111.10) | 10.8.0.2 |
Klient 2 (Spoke) | VPS2 (149.102.155.104) | 10.8.0.3 |
Klient 3 (Spoke) | VPS3 (158.220.88.64) | 10.8.0.4 |
Ważna zasada: Jeden Peer, Jedna Konfiguracja
Absolutnie kluczowe jest, aby każde urządzenie (każdy VPS) miało swoją własną, unikalną konfigurację. Użycie tego samego pliku konfiguracyjnego dla wielu klientów jest sprzeczne z modelem bezpieczeństwa WireGuard i doprowadzi do awarii sieci.
2. Warunki Wstępne: Przekierowanie Portów
To najważniejszy krok, od którego zależy powodzenie całej operacji. Twój serwer TrueNAS znajduje się w sieci lokalnej (LAN), za routerem. Aby serwery VPS z publicznego internetu mogły się z nim połączyć, musisz skonfigurować na swoim routerze regułę przekierowania portów (Port Forwarding). Bez tego połączenie nigdy nie zostanie nawiązane.
Checklista Konfiguracji Routera
Zaloguj się do panelu administracyjnego swojego routera i utwórz nową regułę przekierowania portów z następującymi parametrami:
- Protokół:
UDP
(WireGuard używa wyłącznie UDP) - Port Zewnętrzny (Publiczny):
51820
- Adres IP Wewnętrzny (Docelowy):
192.168.0.13
(adres IP Twojego TrueNAS) - Port Wewnętrzny:
51820
3. Konfiguracja Serwera (WG-Easy)
Teraz skonfigurujemy serwer WireGuard na Twoim TrueNAS za pomocą aplikacji WG-Easy. Najważniejszym zadaniem jest utworzenie osobnego profilu dla każdego serwera VPS. Poniższy interaktywny symulator pokaże Ci dokładnie, jakie wartości wpisać dla każdego z klientów, aby uniknąć pomyłek.
Wybierz VPS, aby zobaczyć jego konfigurację:
Symulator Konfiguracji Klienta w WG-Easy
To pole definiuje, z jakich adresów IP serwer będzie akceptował pakiety od tego klienta. Jest to kluczowe zabezpieczenie.
To pole zostanie wpisane w pliku konfiguracyjnym klienta i poinformuje go, jaki ruch ma kierować przez tunel VPN (split-tunneling).
Niezbędne do utrzymania połączenia przez routery NAT.
Po zapisaniu konfiguracji dla każdego klienta w WG-Easy, pobierz wygenerowany plik `.conf`. Będzie on potrzebny w następnym kroku.
4. Konfiguracja Klienta (VPS)
Gdy serwer jest gotowy, czas na konfigurację klientów, czyli Twoich serwerów VPS. Poniższe kroki należy wykonać na każdym VPS z osobna, używając unikalnego pliku konfiguracyjnego pobranego z WG-Easy.
Krok 1: Zainstaluj narzędzia WireGuard
Na każdym serwerze VPS wykonaj poniższą komendę:
Krok 2: Wdróż plik konfiguracyjny
Zastąp wg0.conf
nazwą pliku pobranego z WG-Easy i user@vps_ip
swoimi danymi logowania.
Krok 3: Uruchom i zautomatyzuj usługę
Ta komenda uruchomi tunel i sprawi, że będzie on automatycznie aktywowany po każdym restarcie serwera.
Pamiętaj, aby powtórzyć kroki 2 i 3 dla każdego serwera VPS, używając odpowiedniego dla niego pliku konfiguracyjnego.
5. Weryfikacja Połączenia
Po zakończeniu konfiguracji po obu stronach, musimy upewnić się, że wszystko działa zgodnie z planem. Użyjemy do tego kilku prostych poleceń diagnostycznych na jednym z Twoich serwerów VPS.
Test 1: Sprawdź status połączenia
Wykonaj polecenie wg show
. Poszukaj linii latest handshake
. Powinna pokazywać niedawny czas, co jest dowodem na pomyślne nawiązanie połączenia.
interface: wg0
public key: ...
private key: (hidden)
listening port: ...
peer: ...
endpoint: 90.205.207.85:51820
allowed ips: 192.168.0.0/24, 10.8.0.0/24
latest handshake: 15 seconds ago
transfer: 1.23 KiB received, 2.34 KiB sent
Test 2: Sprawdź łączność wewnątrz tunelu
Spróbuj wysłać ping do serwera TrueNAS na jego adresy w sieci VPN i LAN. Oba polecenia powinny zakończyć się sukcesem.
Test 3: Zweryfikuj „Split-Tunnel”
To ostateczny test. Użyj polecenia traceroute
, aby sprawdzić ścieżkę do publicznego internetu. Pierwszy przeskok (hop) musi być bramą Twojego dostawcy hostingu, a **nie** adresem VPN Twojego serwera (10.8.0.1
). To potwierdza, że tylko ruch do Twojej sieci LAN jest kierowany przez tunel.
Dodaj komentarz