Jak nasměrovat jednu webovou stránku mimo svůj tunel WireGuard
Jedna trasa /32 přes bránu LAN udrží jednu stránku na běžném připojení, pokud to firewall povolí a DNS se na adrese shodne.
Vyloučit název hostitele je něco, co tunel nedokáže. Trasa však může jednu adresu poslat mimo tunel a ven přes domácí bránu, a to obvykle pro jednu stránku stačí. Háček je v tom, že vše po trase musí souhlasit: firewall musí pustit paket ven, DNS musí vrátit adresu, kterou jste nasměrovali, a stránka musí tuto adresu dál používat. Když se kterákoli z těch tří věcí posune, výjimka přestane fungovat, aniž by se ohlásila.
Přečtěte si cílovou adresu, než se dotknete tunelu
Načtěte stránku jednou se zapnutým tunelem a pak se podívejte na adresu protějšku, ke které se prohlížeč skutečně připojil. V Linuxu, ss -tunp vypisuje vzdálenou adresu každého otevřeného socketu a dig +short pro stejný název ukazuje, co vrátil resolver. Mějte obě čísla před sebou.
Obě odpovědi se často rozcházejí a ten rozpor je celý problém. Velké stránky staví před svůj původ obsahovou síť, takže adresa, kterou resolver vrací teď, nemusí být ta, kterou prohlížeč použil před minutou. Směrujte to, co jste viděli na socketu, ne to, co uvádí starší návod. Pokud se odpovědi pořád točí mezi oblastmi, adresní výjimka je pro tu konkrétní stránku nesprávný nástroj.
Spusťte vyhledání podruhé z jiné sítě a poznamenejte si odpověď IPv6 spolu s tou IPv4. Tunel, který nese obě rodiny, potřebuje výjimku v obou, jinak prohlížeč tiše spadne zpět na cestu IPv6, které jste se nikdy nedotkli. Uložte adresy a datum někam, kde se na ně znovu podíváte.
Nasaďte na klienta jednu trasu hostitele
Předpokládejme, že rozhraní se jmenuje home-wg a router LAN sedí na 192.168.1.1. NetworkManager převezme trasu, jejíž bránou je tento router a jejíž délka prefixu pokrývá plných 32 bitů, a jádro ji upřednostní, protože vyhrává nejdelší prefix.
nmcli connection modify home-wg +ipv4.routes "198.51.100.20/32 192.168.1.1"
nmcli connection up home-wg
ip route get 198.51.100.20
Brána musí být dosažitelná bez tunelu; nasměrování dalšího skoku na adresu tunelu maří účel, protože paket by znovu vstoupil do rozhraní, kterému se snažíte vyhnout. Až se připojení znovu zvedne, ip route get pro výjimku by měla vypsat bránu LAN a stejný příkaz pro veřejný resolver by měl stále vypsat zařízení tunelu.
Profil wg-quick nemá pole tras, takže stejná výjimka žije v řádku PostUp který přidává trasu hostitele do hlavní tabulky s rozhraním LAN jako svým zařízením. Po úpravě rozhraní stáhněte a znovu zvedněte, protože běžící rozhraní nikdy znovu nenačte svůj soubor. Pravidla fwmark, která wg-quick instaluje, řídí jen jeho vlastní zapouzdřené pakety, takže běžný provoz prohlížeče pořád sleduje hlavní tabulku a najde vaši /32.
Kill switch je další věc, která to zablokuje
Firewallová politika, která propouští provoz jen na rozhraní tunelu, výjimku zahodí, i když je trasa naprosto správná. Čtěte pravidla za přepínačem, místo abyste přepínači věřili, protože ta, která implementují kill switch, bývají omezena názvem rozhraní.
Chcete úzké povolení pro fyzické rozhraní a ten jeden cíl, umístěné před zahodením, zatímco výchozí politika zůstane nedotčená. Úplné pozastavení kill switchu pointu dokáže, ale také nechá stroj vystavený po celou dobu, než si vzpomenete ho znovu zapnout.
Otestujte oba směry zvlášť. Požadavek na adresu výjimky by měl uspět, zatímco požadavek na nesouvisející stránku stále vychází tunelem. Pokud uspějí oba, ale druhý hlásí domácí adresu, je špatné pořadí firewallových pravidel, ne trasa.
DNS rozhoduje, na kterou adresu prohlížeč vytáčí
Když se název vyřeší uvnitř tunelu, resolver poskytovatele může odpovědět jinou adresou, než jakou dal místní. Vaše trasa se pak vztahuje na adresu, kterou prohlížeč nikdy nekontaktuje, a stránka se načte tunelem, jako by se nic nezměnilo. Tahle porucha vypadá jako rozbitá výjimka, i když je směrovací tabulka správná.
Pošlete dotazy na tento název také přes místní resolver, nebo názvy úplně přeskočte a otestujte adresu přímo. Rozdělení adresy, zatímco DNS zůstává uvnitř tunelu, je nejběžnější napůl hotová verze tohoto nastavení a také nejhůř postřehnutelná, protože stránka funguje dál, jen ne tak, jak jste zamýšleli.
Stejná výjimka na routeru, jednou, pro každé zařízení
Když tunel běží na routeru, trasa hostitele patří do routerovy tabulky politického směrování a ukazuje na bránu WAN místo brány LAN. Každé zařízení za ním výjimku dědí, což je důležité pro streamovací box nebo pracovní notebook, jehož síťová nastavení nemůžete měnit.
Nechte tunel jako výchozí východ pro každého dalšího klienta a pak to ověřte z klientského stroje, ne z konzoly routeru. Načtěte stránku výjimky a druhou stránku ve stejné relaci prohlížeče a porovnejte výstupní adresy; pokud druhá pořád ukazuje tunel, tabulka politik dělá, co jste žádali.
Zapište adresu, datum a důvod do poznámek routeru. Výjimka postavená kolem adresy, která se později přesune, se stane závadou, kterou za rok nikdo nevysvětlí, a oprava vždycky vypadá jako záhada, dokud někdo nenajde starou poznámku.