Klient WireGuard může zobrazit aktivní rozhraní wg0, zatímco vaše pakety stále odchází přes běžné připojení. Tento případ nastává často po importu konfiguračního souboru na debianovém nebo ubuntu počítači.
Předtím, než upravíte klienta, ověřte rozhraní, výměnu s peerem a skutečně zvolenou trasu. Tato kontrola ukazuje, zda tunel přenáší veškerý provoz nebo pouze interní síť.

Rozlišení již aktivního tunelu od importovaného klienta
Udržujte otevřenou místní konzoli nebo druhou SSH relaci, pokud konfigurační soubor WireGuard obsahuje výchozí trasu. Řádek AllowedIPs = 0.0.0.0/0 může přesměrovat IPv4 provoz do tunelu, když spustíte wg-quick. S ::/0 platí stejný princip pro IPv6.
Začněte tím, že se podíváte, zda wg0 již existuje. Pokud je rozhraní přítomno, nepřepisujte jeho soubor a nespouštějte wg-quick up znovu. Přejděte přímo k příkazům wg show a ip route get níže.
ip link show wg0
sudo wg show wg0
Pokud wg0 chybí, zkontrolujte název rozhraní a oprávnění souboru poskytnutého vaším správcem nebo dodavatelem. Nikdy nekopírujte soukromý klíč do tiketů, Git repozitářů nebo screenshotů.
if sudo test -e /etc/wireguard/wg0.conf; then
sudo cp -a /etc/wireguard/wg0.conf /etc/wireguard/wg0.conf.bak && sudo install -m 600 /cesta/client.conf /etc/wireguard/wg0.conf
else
sudo install -m 600 /cesta/client.conf /etc/wireguard/wg0.conf
fi
sudo grep -E '^(Address|DNS|Endpoint|AllowedIPs)' /etc/wireguard/wg0.conf
Příkaz grep znovu přečte síťové parametry, aniž by zobrazil klíče. Především zkontrolujte AllowedIPs. Rozsah jako 10.44.0.0/24 obvykle míří na vzdálenou síť. Trasa 0.0.0.0/0 vyžaduje opatrnější kontrolu, pokud jste připojeni k serveru přes SSH.
Pokud má soubor nahradit existující konfiguraci, uchovejte starou pod názvem mimo /etc/wireguard/ nebo ve vaší administrativní záloze. Vybral bych si nejprve testovat z konzole VM nebo počítače, spíše než měnit výchozí trasu vzdáleného serveru bez záložního přístupu.
Spuštění WireGuard a kontrola výměny s peerem
Pokud wg0 chybělo, aktivujte nyní rozhraní pomocí wg-quick a nechte svou konzoli nebo druhou relaci otevřenou až do konce kontrol. Adresa přiřazená wg0 nepotvrzuje, že vzdálený peer odpovídá.
sudo wg-quick up wg0
ip -brief address show wg0
sudo wg show wg0
V výstupu z wg show wg0 si poznamenejte latest handshake a počítadla transfer. Nedávný časový údaj po dotazu na vzdálenou síť a přijaté bajty naznačují, že peer odpovídá. Nepřítomnost handshake spíše směřuje k endpointu, UDP portu, firewallu nebo klíči, který neodpovídá očekávanému peeru. Dokumentace WireGuard Quick Start popisuje příkazy wg a wg-quick, které jsou zde použity.
Chcete-li sledovat výměnu během testu, můžete znovu spustit následující příkaz. Ten zabraňuje úpravě konfigurace během diagnostiky.
watch -n 2 'sudo wg show wg0 latest-handshakes transfer'
Ping může pomoci, pokud vzdálený server povoluje ICMP, ale jeho absence odpovědi nestačí k odsouzení tunelu. Upřednostněte dotaz na službu, kterou by vaše konfigurace měla zpřístupnit, například interní DNS nebo administrativní aplikaci.
Ověření zvolené trasy před závěrem
Použijte ip route get pro zjištění, které zařízení by Linux vybral pro odeslání paketu na cíl. Příkaz neodesílá žádný provoz.
ip route get 10.44.0.10
ip route get 1.1.1.1
Pro interní zdroj by první výstup měl uvádět dev wg0, pokud 10.44.0.10 patří k sítím deklarovaným v AllowedIPs. Druhá určuje, zda internetový výstup také prochází přes wg0 nebo si ponechává obvyklé rozhraní. Nahraďte tyto adresy dokumentace skutečným cílem ve vaší síti.
Pokud VPN poskytuje interní resolvér, testujte jej přímo pouze tehdy, pokud je jeho adresa uvedena v dokumentaci vašeho tunelu a pokud Linux skutečně vybírá wg0 pro jeho dosažení. Nainstalujte dnsutils na Debian nebo Ubuntu, pokud chybí příkaz dig:
ip route get 10.44.0.53
sudo apt install dnsutils
dig @10.44.0.53 intranet.example.lan
sudo wg show wg0 latest-handshakes transfer
První příkaz by měl uvádět dev wg0. DNS dotaz by měl poté vrátit očekávanou odpověď a přenášet příchozí nebo odchozí provoz. Pokud trasa používá wg0, ale handshake zůstává nepřítomný, klient skutečně odesílá směrem k místnímu rozhraní, ale nedochází k dosažení vzdáleného peera.
Pro zastavení testu a obnovení tras přidaných pomocí wg-quick použijte sudo wg-quick down wg0. Tento příkaz neopraví trasu nakonfigurovanou jinde v NetworkManager nebo systemd-networkd. Pouze odstraní rozhraní a prvky, které wg-quick nainstaloval pro tento tunel.
Platný tunel WireGuard lze rozpoznat na základě tří důkazů: přítomné rozhraní, nedávný handshake a trasa směřující k wg0 pro očekávaný cíl. Články o ip addr, IP trase a dig podrobně popisují tyto kontroly samostatně, když problém přesahuje pouze tunel.