Nastavení serveru WireGuard v systému Linux (wg0, NAT, Peers)
12 min čtení - 22. června 2026

Praktické nastavení serveru WireGuard pro Linux: klíče, wg0.conf, NAT, správa peerů pomocí syncconf a příkazy pro řešení problémů, které správci systémů skutečně používají.
Spusťte server WireGuard, pokud chcete mít soukromý přístup k hostované infrastruktuře, aniž byste vystavovali administrátorské porty veřejnému internetu. Využívá autentizaci pomocí veřejného klíče, běží v jádře Linuxu od verze 5.6 a jakmile je spuštěn, nijak nezasahuje do provozu. Tento příspěvek se zabývá tím, kdy použít server WireGuard, jak jej zprovoznit wg0a jak zajistit každodenní fungování peerů.
Kdy použít server WireGuard
Většinu konfigurací pokrývají tři scénáře: vzdálený přístup, propojení mezi servery a směrování mezi lokalitami.
Pro vzdálený přístup spusťte server na VPS nebo dedikovaném hostiteli a směrujte administrátorský provoz přes tunel. Nastavte AllowedIPs na každém peeru na soukromou správní podsíť (například 10.0.0.0/24), aby tunelem procházel pouze provoz určený pro interní systémy. Veškerý ostatní provoz zůstává na lokálním připojení uživatele. Pokud se uživatelé připojují z domova nebo z mobilních sítí, přidejte PersistentKeepalive = 25 na straně klienta, aby nedocházelo k přerušení NAT relací.
U spojení mezi servery nechte AllowedIPs úzké. Obvykle stačí jedna /32 nebo malou backendovou podsíť. Tím se zabrání vtahování nesouvisejícího provozu do tunelu a zajistí se předvídatelné směrování.
U spojení typu site-to-site je to jiné. Hostitel WireGuard funguje jako brána mezi podsítěmi, takže musí být povoleno přesměrování IP a pravidla NAT musí odesílat zpětný provoz přes správné rozhraní.
| Vzor | AllowedIPs rozsah | Nejvhodnější | Složitost nastavení |
|---|---|---|---|
| Vzdálený přístup | Soukromé podsítě, např. 10.0.0.0/24 | Přístup pro správce a vývojáře | Nízká |
| Mezi servery | Konkrétní IP adresy nebo backendová podsíť | Spojení mezi hostiteli typu „bod-bod“ | Nízká až střední |
| Mezi lokalitami | Celá vzdálená LAN, např. /24 | Směrování typu brána-brána | Střední až vysoká |
| Přístup k soukromé službě | Pouze interní podsíť (split-tunnel) | Izolace backendových služeb | Střední |
Nastavení serveru
Server uchovává soukromý klíč, naslouchá na UDP 51820 a ukončuje tunel. Stejné základní nastavení funguje pro všechny tři výše uvedené vzory.
Klíče a wg0.conf
Vygenerujte pár klíčů pro server:
wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.keyZabezpečte soukromý klíč:
sudo chmod 600 /etc/wireguard/server_private.keySoukromý klíč zůstává na serveru. Veřejný klíč předáváte ostatním účastníkům.
Vytvořte /etc/wireguard/wg0.conf:
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
[Peer]
PublicKey = <CLIENT_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32Najděte odchozí rozhraní, do kterého se má vložit <PUBLIC_IFACE> pomocí:
ip -o -4 route show to default | awk '{print $5}'Přesměrování, firewall a NAT
Otevřete naslouchající port:
sudo ufw allow 51820/udpPovolte přesměrování IP přidáním tohoto řádku do /etc/sysctl.conf:
net.ipv4.ip_forward = 1Použijte bez restartu:
sudo sysctl -pSoubor PostUp a PostDown řádky v wg0.conf přidávají a odstraňují pravidlo NAT masquerade při spuštění nebo vypnutí rozhraní. Bez nich se zpětný provoz z LAN nikdy nedostane zpět k partnerovi.
Spuštění tunelu
wg-quick zajišťuje správu rozhraní, směrování a PostUp/PostDown hooky v jediném příkazu:
sudo wg-quick up wg0Pro automatické spuštění po restartu povolte jednotku systemd:
sudo systemctl enable --now wg-quick@wg0Zkontrolujte stav pomocí:
sudo wg showAktuální latest handshake řádek potvrzuje, že tunel funguje. Pokud vypadá zastarale nebo je prázdný, zkontrolujte firewall, klíče na obou stranách a nastavení protistrany AllowedIPs.
Přidávání a odebírání peerů
Každý peer potřebuje vlastní pár klíčů. Vygenerujte jej na klientovi a poté přidejte veřejný klíč peera do wg0.conf do nového [Peer] blok s AllowedIPs záznamem, který mu přiřadí IP adresu tunelu.
Použijte /32 pro jedno zařízení:
AllowedIPs = 10.8.0.3/32Tím se zabrání tomu, aby jeden peer zabíral adresy přiřazené jinému. Pro přístup se split-tunelem uveďte pouze soukromé podsítě, které mají procházet tunelem, například AllowedIPs = 10.8.0.0/24.
Použijte změny konfigurace bez přerušení aktivních relací:
sudo wg syncconf wg0 <(wg-quick strip wg0)Odstranění partnera funguje stejným způsobem. Odstraňte jeho [Peer] blok z wg0.conf a znovu spusťte syncconf znovu.
Řešení problémů
Pokud se peer připojí, ale nemůže se dostat k ničemu na druhé straně, příčinou je obvykle jedna ze čtyř možností:
- Je vypnuté přesměrování IP
- Chybí pravidlo NAT masquerade
- Odchozí rozhraní v pravidle NAT je nesprávné
AllowedIPsneobsahuje cíl
Zkontrolujte přesměrování:
cat /proc/sys/net/ipv4/ip_forwardMělo by vrátit 1. Pokud vrátí 0, změna v sysctl se neaplikovala nebo nebyla uložena.
Zkontrolujte pravidlo NAT a odchozí rozhraní:
sudo iptables -t nat -L POSTROUTING
ip route get 1.1.1.1Druhý příkaz zobrazí skutečný název odchozího rozhraní, například ens3, enp1s0nebo eth0. Ten se musí shodovat s rozhraním v pravidle MASQUERADE.
Pokud chybí samotné navázání spojení, zkontrolujte, zda je port UDP 51820 je otevřený na firewallu i u všech poskytovatelů připojení a zda obě strany mají správný veřejný klíč pro druhou stranu.
U peerů za rezidenčním nebo mobilním NAT, který ukončuje neaktivní UDP relace, nastavte PersistentKeepalive = 25 na straně klienta.
Rotace klíčů a předem sdílené klíče
U tunelů, které zůstávají aktivní po celé měsíce, provádějte rotaci klíčů přibližně jednou ročně. Vygenerujte novou dvojici klíčů, aktualizujte oba konce a použijte příkaz wg syncconf. Nepoužívejte soukromý klíč opakovaně u dvou peerů. Vytváří to konflikty při směrování a narušuje přenos mezi nimi.
Chcete-li přidat další vrstvu k ověřování pomocí veřejného klíče, přidejte pro každého partnera předem sdílený klíč:
wg genpskVýsledek přidejte jako PresharedKey = <PSK> do [Peer] . WireGuard začlení PSK do handshake, takže útočník, který nějakým způsobem získá jeden z asymetrických klíčů, bez něj stále nebude schopen dešifrovat provoz.
Užitečné příkazy pro každodenní použití:
| Příkaz | Účel |
|---|---|
wg show | Partneři, handshake, počítadla provozu |
wg show wg0 transfer | Počítadla bajtů pro wg0 |
wg show all dump | Výstup ve formátu zpracovatelném strojem pro monitorovací skripty |
wg syncconf wg0 <(wg-quick strip wg0) | Aplikovat změny konfigurace bez přerušení relací |
wg genpsk | Generování předem sdíleného klíče |
Pokud potřebujete stabilní, veřejně dostupný hostitel pro ukončení tunelů WireGuard a směrování soukromého provozu do vaší infrastruktury, podívejte se na neomezené tarify VPS od FDC.

Digitální únava očí: Jak chránit svůj zrak ve světě, kde trávíme mnoho času před obrazovkami
Celý den zíráte do obrazovky? Naučte se, jak snížit digitální únavu očí pomocí osvědčených technik a nástrojů. Tento průvodce je nepostradatelný pro pracovníky na dálku, vývojáře a všechny, kdo se pohybují v oblasti technologií.
4 min čtení - 21. května 2025
Proč je důležité mít výkonný VPS s neomezeným datovým přenosem
8 min čtení - 9. května 2025

Máte dotazy nebo potřebujete vlastní řešení?
Flexibilní možnosti
Globální dosah
Okamžité nasazení
Flexibilní možnosti
Globální dosah
Okamžité nasazení