Tok, který má projít tunelem, zvolí jiný další skok a někdo najde v záznamu přesměrování ICMP. To je hypotéza, ne diagnóza. Přesměrování je návrh routeru na lepší další skok a zda podle něj host jedná, závisí na nastaveních, která se liší podle platformy, rozhraní a rodiny adres.

Přesměrování je návrh od routeru

Přesměrování ICMP v IPv4 mají vlastní typ zprávy a úzkou množinu podmínek: router přeposílá paket rozhraním, kterým přišel, a zná další skok na stejném spoji, který je blíž k cíli. Potom řekne odesílateli, aby tento další skok použil přímo. Zpráva pojmenuje novou bránu a obsahuje část původního paketu, aby jej odesílatel mohl spárovat s tokem. Je to zdvořilostní zpráva o lokální topologii a předpokládá, že odesílatel sdílí spoj s navrhovanou bránou.

Odesílatel ji může ignorovat. Nic v protokolu nevyžaduje, aby host změnil svou tabulku, a zachycené přesměrování dokazuje jen to, že ho router odeslal.

Právě v tomto rozlišení se většina vyšetřování přesměrování zvrtne.

IPv4 a IPv6 jej doručují jinak

IPv6 má obdobný mechanismus uvnitř objevování sousedů, nikoli v ICMPv4, s jinými formáty zpráv a jinými pravidly ověřování. Pojmy se rýmují, ale pakety ne. Filtr záznamu napsaný pro ICMP typ 5 nic nezobrazí v síti IPv6, což se někdy čte jako důkaz, že k žádnému přesměrování nedošlo.

I politické přepínače jsou oddělené, takže host může přijímat přesměrování IPv4 a ignorovat IPv6, nebo naopak.

Zkontrolujte obě rodiny, pokud dotyčný tok může použít kteroukoli z nich.

Přijetí je politika hostitele, ne síťový fakt

V Linuxu se přijímání přesměrování řídí podle rozhraní i globálně a výchozí hodnoty se liší mezi rolí hostitele a routeru. Tunelové rozhraní, které přijímá přesměrování, je zvláštní návrh, protože v tunelu bod-bod neexistuje smysluplný alternativní další skok na stejném spoji. To činí nastavení hodné přečtení, ne předpokladu.

Nastavení zabezpečeného přesměrování dále omezují, kterým bránám lze věřit.

Pokud hostitele zpřísňujete, jsou to přepínače k revizi, a jsou také důvodem, proč se dva stroje ve stejné síti mohou chovat různě. Měňte je jako politiku, ne jako zkratku při ladění.

Co přesměrování vysvětlit nedokáže

Konkrétní trasy, pravidla politického směrování a lokální rozhraní vysvětlují většinu nečekaných cest i bez jakéhokoli přesměrování. Konkrétnější prefix, pravidlo odpovídající zdrojové adrese nebo druhá výchozí položka v jiné tabulce každý z nich přebije trasu, kterou jste očekávali. Zkontrolujte je nejprve, protože jsou deterministické a viditelné.

Zastaralé záznamy jsou druhá past, protože klient, který změnil síť, má jinou lokální bránu.

Staré přesměrování z předchozího připojení nic nevysvětluje o současné cestě, takže si poznamenejte, které rozhraní nyní přijímá řídicí provoz.

Zkontrolujte trasu, než obviníte tunel

Zeptejte se jádra, kterou trasu by pro cíl použilo, a pak to porovnejte s tabulkou, kterou jste zamýšleli. Pokud odpověď odpovídá tabulce, žádné přesměrování nic nezměnilo a vyšetřování patří jinam. Pokud neodpovídá, hledejte uložené přesměrování, pravidlo politiky nebo druhou tabulku, než začnete předpokládat, že tunel je viník. Vyhledání je základní pravda a vše ostatní je příběh o tom, jak se to tam dostalo.

Přesměrování by nikdy nemělo být důvodem, proč se chráněná cesta tiše stane nechráněnou, a proto politika přijímání patří do revize návrhu. Definice v RFC 792 zůstává referencí pro to, co zpráva IPv4 smí říct.

Zapište vyhledání trasy a časové razítko záznamu společně a další člověk dokáže váš závěr reprodukovat.

Související články