Stránka se načítá z notebooku ve stejné síti a všude jinde končí časovým limitem, a hostitel navíc spouští VPN klienta pro svůj vlastní odchozí provoz. Tato kombinace vytváří konkrétní závadu: příchozí spojení dorazí, odpověď odejde špatnou cestou a klient venku nikdy nevidí odpověď. Obě poloviny jsou vidět ve stejném zachycení paketů, takže pořadí událostí je část, kterou stojí za to číst.

Pravidlo směrování založené na zdroji často symptom opraví. Obvykle také vyjímá více provozu než stránka, která ho vyvolala, a to je část, kterou stojí za to pochopit, než pravidlo uložíte.

Symptom: odpovídá lokálně, ale ne zvenku

Uvnitř sítě nemusí odpověď procházet tunelem, takže stránka se načte a služba vypadá zdravě. Zvenku požadavek dorazí k hostiteli a odpověď se směruje do VPN, kde vzdálený konec nemá důvod ji přijmout. Prohlížeč vidí vypršení časového limitu místo odmítnutí, což je znak jednosměrné cesty, nikoli zavřeného portu.

Potvrďte tvar, než změníte směrování: naslouchač běží, lokální požadavek uspěje a vnější požadavek nevydá žádnou odpověď. Tato tři pozorování dohromady ukazují na zpáteční cestu, nikoli na konfiguraci webového serveru. Tak čistá asymetrie je užitečnější než kterýkoli řádek protokolu, protože vylučuje naslouchač dřív, než přečtete jedinou chybovou zprávu.

Při práci si nechte otevřenou nezávislou administrativní cestu. Pravidlo, které rozbije vaši vlastní SSH relaci, promění desetiminutovou opravu v fyzickou návštěvu.

Co selektor zdroje skutečně porovnává

V linuxovém politickém směrování pravidlo jako from 192.168.50.2 porovnává pakety, jejichž zdrojem je tato adresa. Nezakóduje skutečnost, že paket pokračuje v konverzaci, která vstoupila přes domácí router, a neví, který proces ho vytvořil. Adresa v tomto příkladu je ilustrativní; nahraďte ji adresou, kterou váš hostitel skutečně používá. Berte řádek jako tvrzení o adresách a nic víc.

Pokud vybraná tabulka poskytuje obyčejnou výchozí trasu, každý paket nesoucí tento zdroj může vzít stejnou výjimku. Jiná služba vázaná na stejnou adresu ji zdědí a aplikace, která se na tuto adresu záměrně váže, ji zdědí také. Reference pravidel politiky uvádí zdroj, cíl, protokol, port, značku a prioritu jako samostatné selektory, což připomíná, že samotný zdroj je ten nejhrubší dostupný.

Priorita rozhoduje o výsledku. Vyhledávání probíhá v pořadí a první tabulka, která dá výsledek, může hledání ukončit, takže pravidlo umístěné příliš brzy může skrýt konkrétnější trasu, kterou by poskytla pozdější tabulka. Přečtěte si celý seřazený seznam, ne jen řádek, který jste přidali. Pravidlo, které nikdy neodpovídá, nic nestojí, zatímco to, které odpovídá příliš brzy, tiše mění vše za sebou.

Zkontrolujte zpáteční cestu a provoz, který jste nezamýšleli

Přečtěte si pravidla a tabulky a pak se zeptejte jádra, kterou trasu by zvolila konkrétní dvojice zdroje a cíle. Testování z hostitele samotného není totéž jako testování zvenku, takže udělejte obojí.

ip rule show
ip route show table 100
ip route get 203.0.113.44 from 192.168.50.2
ss -ltnp '( sport = :443 )'

Pak přijměte nové vnější spojení a odděleně požadavek, který musí stále odejít přes VPN. Pokud druhý nyní vychází přímo, výjimka je širší než problém, který jste řešili, a test, na kterém záleží, je ten, který jste měnit nechtěli.

Kontrola veřejné adresy v prohlížeči hlásí jen požadavky, které tento prohlížeč provedl. Nic neříká o odpovědích webového serveru, o volbě zdroje jiné lokální aplikace ani o tom, co se stane s řídicím provozem po dalším opětovném připojení VPN.

Rozhodněte, jak úzká může výjimka být

Dva návrhy jsou obhajitelné a měly by být zvoleny vědomě. Pokud hostitel existuje proto, aby tuto službu publikoval, a jeho odchozí provoz není důležitý, vyhrazená lokální adresa se zásadou jen pro WAN je rozumné uspořádání, pokud přijmete celý rozsah. Pokud se mají kvalifikovat jen určitá příchozí spojení, volba adresy je příliš hrubá a před ni patří návrh, který rozlišuje spojení.

Zaznamenejte smlouvu, na kterou se spoléháte: veřejné mapování, adresu hostitele, na kterou se požadavek doručuje, a cestu, kterou má odpověď projít. Příchozí služba publikovaná přes poskytovatele VPN je jiná smlouva než ta publikovaná přes domácí router, a výjimka zkopírovaná z jednoho příkladu je pro druhý často špatná.

Uchovávejte zásadu v komponentě, která vlastní směrování, místo vkládání příkazu do spouštěcího souboru. Pořadí pravidel, úklid po změně sítě a opětovné spuštění po restartu musí přežít, a netestovaný spouštěcí soubor obvykle selže v okamžiku, kdy se nedíváte. Skončete výsledkem přijetí, který můžete obhájit: jedna publikovaná stránka obnovena a jeden nesouvisející tok nezměněn.

Související články