Nouzové odpojení, nebo přístup do LAN? Dvě odpovědi pro WireGuard
Klient pro Windows blokuje provoz mimo tunel, když profil uvádí 0.0.0.0/0. Rozhodněte, kterou vlastnost potřebujete, a výchozí hodnotu vyjádřete podle toho.
Handshake se dokončí, prohlížení funguje, a tiskárna, NAS a místní SSH hostitelé zmizí. V klientu pro Windows to obvykle vůbec není porucha směrování: peer, jehož povolené prefixy obsahují doslovné výchozí nastavení, aktivuje Blokovat provoz mimo tunel, a tato volba je implementována jako pravidla firewallu, která zahazují pakety odcházející jiným rozhraním. Směrovací tabulka stále uvádí místní podsíť jako přímé spojení, a proto symptom působí jako lež. Rozhodují o tom tři podmínky a jen jedna z nich se týká směrování.
Dvě poruchy nesou stejný symptom
První porucha je režim fail-closed klienta a jeho znakem je, že vše mimo tunel se zastaví, zatímco tunel sám funguje bezchybně. Druhá je skutečný problém dosažitelnosti: chybějící trasa, chybějící záznam na serveru pro podsíť za klientem nebo dvě sítě se stejným rozsahem adres. Obě dají stroj, který umí prohlížet a neumí tisknout, a jejich opravy jsou protichůdné, takže diagnóza musí přijít před konfigurací.
Rozlišujícím pozorováním je, zda je místní podsíť stále přítomna ve směrovací tabulce, zatímco provoz do ní je zahozen.
Tři podmínky rozhodují odpověď
Za prvé, potřebuje tento stroj fail-closed? Pokud je odpověď ano, spadlý tunel musí zastavit provoz, místo aby ho nechal spadnout zpět na fyzické rozhraní, a tento požadavek je důležitější než místní pohodlí. Za druhé, musí místní zařízení zůstat dosažitelná, dokud je tunel aktivní? Tisk, síťové úložiště a místní správcovské konzole jsou obvyklé důvody a jsou to oprávněné požadavky, nikoli výjimky, za které se má omlouvat. Za třetí, vyjadřuje profil výchozí hodnotu jako doslovné 0.0.0.0/0? Právě tento detail spouští pravidla klienta a je editovatelný.
Odpovězte na ty tři otázky písemně, než se dotknete profilu, protože každá odpověď ukazuje na jinou konfiguraci.
Zvolte fail-closed a vzdejte se LAN
Pokud je únik důležitější než místní dosažitelnost, ponechte doslovné výchozí nastavení a nechte Blokovat provoz mimo tunel zapnuté. Je to koherentní postoj: stroj se považuje za zařízení, které je buď v tunelu, nebo offline, a místní služby se dosahují z jiného zařízení nebo přes tunel, pokud je server směruje. Cena je reálná a má být uvedena v poznámkách k nasazení, místo aby ji objevil ten, kdo potřebuje tisknout.
To je správná volba pro stroje, které dělají práci, jež se nesmí objevit v kavárenské síti, když tunel spadne. Je to špatné výchozí nastavení pro domácí notebook, který také potřebuje skener.
Zvolte přístup do LAN a vyjádřete výchozí hodnotu jinak
Pokud místní zařízení musí zůstat dosažitelná, vyjádřete stejné pokrytí bez doslovného výchozího prefixu. Dva poloviční prefixy pokrývají každou adresu IPv4, ekvivalentní dvojice pokrývá IPv6 a klient už blokující pravidla nevkládá, protože hledaný řetězec chybí.
[Peer]
AllowedIPs = 0.0.0.0/1
AllowedIPs = 128.0.0.0/1
AllowedIPs = ::/1
AllowedIPs = 8000::/1
Endpoint = vpn.example.net:51820
Odškrtnutí tohoto zaškrtávacího pole přiměje klienta zapsat do profilu stejné dvě dvojice, takže porovnání vygenerovaného souboru s blokem výše je rychlý způsob, jak mechanismus potvrdit, místo abyste o něm spekulovali. Plyne z toho dvojí důsledek. Pokrytí je totožné, takže se na tunelu nic dalšího nemění. Ochrana totožná není: když pravidla zmizí, spadlý tunel nechá stroj na fyzickém rozhraní, a přesně tomu fail-closed zabraňovalo.
Prověřte i ty druhé dva podezřelé
Jakmile je otázka firewallu vyřešena, ověřte, že místní podsíť je skutečně směrována a že vzdálená strana ví o všem za tímto klientem. Server, který musí dosáhnout LAN za klientem, potřebuje tento prefix v povoleném seznamu klienta na hubu; vynecháte-li ho, hub nemůže pro tyto adresy vybrat peer a žádná klientská konfigurace ho nevytvoří.
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultOutboundAction
route print 0.0.0.0
Kategorie sítě je důležitější, než lidé čekají: nově vytvořený adaptér tunelu klasifikovaný jako veřejný mění pravidla, která se na něj vztahují, a výsledek může vypadat jako blokování firewallem na vzdálené straně. Výpis tras ukazuje, zda je výchozí trasa vůbec přítomna, což odděluje problém politiky od chybějící trasy.
Potom vyzkoušejte tři věci v jednom sezení: internet, jednoho místního hostitele podle adresy a jednoho hostitele přes tunel. Handshake dokazuje jen to, že klíče souhlasí, takže politiku prokazují právě ty tři testy. Pokud místní hostitel stále odmítá i po vypnutí volby, zbývajícími podezřelými jsou trasa, povolený seznam vzdálené strany a duplicitní podsíť, v tomto pořadí.