Generator konfiguracji WireGuard
Plik wg0.conf dla serwera i peera VPN
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator WireGuard — nowoczesny VPN w kilku linijkach
WireGuard to lekki i szybki protokół VPN, wbudowany w jądro Linuksa. Konfiguracja jest znacznie prostsza niż w OpenVPN — cały plik wg0.conf to kilkanaście linii.
Najważniejsze pola
| Pole | Znaczenie |
|---|---|
| Address | adres IP interfejsu w sieci VPN |
| ListenPort | port nasłuchu (domyślnie 51820/udp) |
| PrivateKey | klucz prywatny tego hosta |
| PublicKey (peer) | klucz publiczny drugiej strony |
| AllowedIPs | jakie adresy kierować do peera |
| PersistentKeepalive | utrzymuje tunel przez NAT |
Jak wdrożyć?
- Wygeneruj klucze:
wg genkey | tee private.key | wg pubkey > public.key. - Wklej klucze w miejsca placeholderów.
- Zapisz plik w
/etc/wireguard/wg0.confz uprawnieniami 600. - Uruchom:
wg-quick up wg0.
Jak działa generator konfiguracji WireGuard
Generator nie tworzy kluczy i nie łączy się z serwerem — to kalkulator szablonu tekstowego. Zbiera wartości z formularza i składa z nich plik wg0.conf w formacie, który czyta wg-quick: najpierw sekcja [Interface] opisująca lokalny interfejs tunelu, potem co najmniej jedna sekcja [Peer] opisująca drugą stronę połączenia. Adres trafia do Address, port do ListenPort, klucze do PrivateKey i PublicKey, a zakres tras do AllowedIPs.
W WireGuard nie ma negocjacji algorytmów ani wymiany ofert — wszystko jest ustalone: Curve25519 do uzgadniania kluczy, ChaCha20 do szyfrowania danych. Peer jest rozpoznawany po kluczu publicznym, nie po adresie IP, dlatego AllowedIPs pełni podwójną funkcję: mówi, jakie pakiety wysyłać tunelem do danego peera, i jakie pakiety od niego przyjmować. Brak zakresu w AllowedIPs oznacza, że pakiet nie pojedzie tunelem, nawet gdy interfejs jest podniesiony.
Wygenerowany plik to tylko tekst. Ruch pojawi się po zapisaniu go na hoście, nadaniu uprawnień 600 i podniesieniu interfejsu. Adresy w tunelu muszą być unikalne po obu stronach — serwer i klient nie mogą używać tego samego adresu.
Przykład: serwer 10.0.0.1 i klient 10.0.0.2
- Ustal adresację tunelu: serwer 10.0.0.1/24, klient 10.0.0.2/32. Maska /24 obejmuje 256 adresów, z czego 254 nadają się dla hostów (10.0.0.1–10.0.0.254). Po zajęciu 10.0.0.1 zostaje 253 wolne adresy dla kolejnych klientów.
- Wygeneruj osobną parę kluczy na serwerze i osobną na kliencie. Klucz prywatny zostaje na hoście, na którym powstał — nigdy nie wysyłasz go drugiej stronie.
- Wpisz w generatorze dane serwera: Address 10.0.0.1/24, ListenPort 51820, klucz prywatny serwera. W sekcji [Peer] wklej klucz publiczny klienta i AllowedIPs 10.0.0.2/32, czyli dokładnie jeden adres tego klienta.
- Powtórz to dla klienta: Address 10.0.0.2/32, klucz prywatny klienta, bez ListenPort. W [Peer] klucz publiczny serwera, Endpoint z adresem serwera i portem 51820, AllowedIPs 0.0.0.0/0 oraz PersistentKeepalive, jeśli klient siedzi za NAT.
- Zapisz wynik jako /etc/wireguard/wg0.conf z uprawnieniami 600 i podnieś interfejs: wg-quick up wg0. Nazwa pliku bez rozszerzenia staje się nazwą interfejsu.
- Sprawdź stan na obu hostach. Jeśli klient ma AllowedIPs 0.0.0.0/0, cały jego ruch wychodzi przez 10.0.0.1, więc na serwerze musi działać forwarding i NAT.
Te same pola po dwóch stronach tunelu
| Pole | Strona serwera | Strona klienta |
|---|---|---|
| Address | 10.0.0.1/24 | 10.0.0.2/32 |
| ListenPort | 51820 (UDP) | pomijane — klient nie nasłuchuje |
| PrivateKey | klucz prywatny serwera | klucz prywatny klienta |
| PublicKey w sekcji [Peer] | klucz publiczny klienta | klucz publiczny serwera |
| AllowedIPs | 10.0.0.2/32 — tylko adres klienta | 0.0.0.0/0 — cały ruch IPv4 |
| Endpoint | nie występuje — serwer ma stały adres | adres serwera i port 51820 |
| PersistentKeepalive | zwykle pomijane | włączone, gdy klient jest za NAT |
| Uprawnienia pliku | 600 | 600 |
Praktyczne wskazówki
- Jeden plik to jeden interfejs. Nazwa pliku bez rozszerzenia musi zgadzać się z nazwą podawaną w wg-quick — wg0.conf obsługuje interfejs wg0.
- Nie kopiuj klucza prywatnego. Każde urządzenie potrzebuje własnej pary kluczy; do konfiguracji drugiej strony trafia wyłącznie klucz publiczny.
- Traktuj AllowedIPs jak tablicę tras. Wpisanie na serwerze całego zakresu oznacza, że cały ruch do tych adresów pójdzie do jednego klienta.
- Zacznij od wąskiego zakresu. Najpierw skonfiguruj tunel z AllowedIPs równym adresowi peera /32, sprawdź łączność, a dopiero potem ustaw na kliencie 0.0.0.0/0.
- Zapisuj kopię konfiguracji. Plik odtworzysz w generatorze w kilka sekund, ale zapomniany zakres albo port bywa trudny do odgadnięcia.
Ograniczenia narzędzia
- Nie generuje kluczy. Musisz dostarczyć własne; generator nie sprawdzi też, czy klucz publiczny odpowiada wklejonemu kluczowi prywatnemu.
- Nie waliduje adresacji. Nie wykryje dwóch hostów z tym samym adresem w tunelu ani zakresów w AllowedIPs, które na siebie nachodzą lub przeczą sobie na dwóch peerach.
- Nie konfiguruje hosta. Forwarding, NAT, reguły firewalla i autostart usługi są poza zakresem — sam wpis 0.0.0.0/0 nie zrobi z serwera routera.
- Nie sprawdza dostępności sieci. Konflikt portu UDP, blokada na zaporze albo brak trasy do Endpointu nie ujawnią się w wygenerowanym pliku.
Najczęstsze pytania
Co wpisać w AllowedIPs?
Na serwerze zwykle adres IP klienta w tunelu, np. 10.0.0.2/32. Na kliencie często 0.0.0.0/0, aby cały ruch szedł przez VPN.
Czy WireGuard jest bezpieczny?
Tak — używa nowoczesnej kryptografii (Curve25519, ChaCha20). Klucz prywatny nigdy nie może wyciec, dlatego pliki konfiguracyjne mają uprawnienia tylko dla roota.
Czy potrzebny jest forwarding?
Jeśli klienci mają wychodzić do internetu przez serwer, włącz net.ipv4.ip_forward=1 i skonfiguruj NAT (iptables/nftables).
Czy generator wygeneruje mi klucze WireGuard?
Nie. Narzędzie tylko składa plik konfiguracyjny, więc klucze przygotowujesz osobno na każdym hoście. Klucz prywatny zostaje lokalnie, a do konfiguracji drugiej strony trafia wyłącznie klucz publiczny.
Ile klientów podłączę do jednego serwera?
Tyle, ile wolnych adresów ma podsieć tunelu. Przy adresacji 10.0.0.1/24 zostają 253 adresy po odjęciu adresu serwera, a każdy klient dostaje własny adres w AllowedIPs i własną sekcję [Peer].
Czym różni się AllowedIPs 10.0.0.2/32 od 0.0.0.0/0?
Wpis /32 wskazuje dokładnie jeden adres i jest typowy na serwerze dla pojedynczego klienta. 0.0.0.0/0 obejmuje cały IPv4 i najczęściej pojawia się na kliencie, gdy cały ruch ma iść przez VPN.
Dlaczego tunel nie wstaje po restarcie?
Plik konfiguracyjny sam się nie podnosi — interfejs trzeba uruchomić ponownie albo włączyć usługę w autostarcie. Warto też sprawdzić uprawnienia 600, żeby klucz prywatny nie był czytelny dla innych.
Czy mogę użyć tego samego klucza na dwóch urządzeniach?
Nie. WireGuard rozpoznaje peera po kluczu publicznym, więc dwie maszyny z tą samą parą kluczy będą dla serwera jednym peerem i będą się wzajemnie rozłączać. Każde urządzenie potrzebuje osobnej pary.