Tok, ktorý by mal prejsť tunelom, si vyberie iný nasledujúci skok a niekto nájde v zachytení presmerovanie ICMP. To je hypotéza, nie diagnóza. Presmerovanie je návrh smerovača týkajúci sa lepšieho nasledujúceho skoku a to, či naň hostiteľ zareaguje, závisí od nastavení, ktoré sa líšia podľa platformy, rozhrania a rodiny adries.

Presmerovanie je návrh od smerovača

Presmerovania ICMP IPv4 majú vlastný typ správy a úzky súbor podmienok: smerovač odošle paket cez to rozhranie, cez ktoré prišiel, a pozná na tom istom spoji nasledujúci skok bližšie k cieľu. Potom povie odosielateľovi, aby ten skok použil priamo. Správa pomenúva novú bránu a obsahuje časť pôvodného paketu, aby ju odosielateľ mohol priradiť toku. Je to zdvorilá správa o lokálnej topológii a predpokladá, že odosielateľ zdieľa spoj s navrhovanou bránou.

Odosielateľ ho môže ignorovať. Protokol nevyžaduje, aby hostiteľ zmenil svoju tabuľku, a zachytené presmerovanie dokazuje len to, že ho smerovač odoslal.

Práve na tomto rozdiele zlyháva väčšina vyšetrovaní presmerovaní.

IPv4 a IPv6 ho doručujú inak

IPv6 má analogický mechanizmus v objavovaní susedov a nie v ICMPv4, s inými formátmi správ a inými pravidlami overovania. Pojmy sa rýmujú, pakety nie. Filter zachytávania napísaný pre typ ICMP 5 nič neukáže v sieti IPv6, čo sa niekedy číta ako dôkaz, že k presmerovaniu nedošlo.

Parametre politiky sú tiež oddelené, takže hostiteľ môže prijímať presmerovania IPv4 a ignorovať IPv6, alebo naopak.

Skontrolujte obe rodiny, ak daný tok môže použiť ktorúkoľvek z nich.

Prijatie je politika hostiteľa, nie fakt siete

V Linuxe je prijímanie presmerovaní riadené na rozhraní a globálne a predvolené hodnoty sa líšia medzi rolou hostiteľa a smerovača. Tunelové rozhranie, ktoré prijíma presmerovania, je zvláštny návrh, pretože v tuneli bod-bod neexistuje zmysluplný alternatívny nasledujúci skok na tom istom spoji. Preto sa toto nastavenie oplatí prečítať, a nie predpokladať.

Nastavenia bezpečných presmerovaní ďalej obmedzujú, ktorým bránam možno veriť.

Ak spevňujete hostiteľa, toto sú parametre na kontrolu, a sú aj dôvodom, prečo sa dve stroje v tej istej sieti môžu správať odlišne. Meňte ich ako politiku, nie ako skratku pri ladení.

Čo presmerovanie nedokáže vysvetliť

Konkrétne trasy, pravidlá politického smerovania a lokálne rozhrania vysvetľujú väčšinu neočakávaných ciest bez akéhokoľvek presmerovania. Konkrétnejší prefix, pravidlo, ktoré zodpovedá zdrojovej adrese, alebo druhá predvolená trasa v inej tabuľke každé z nich prepíše trasu, ktorú ste očakávali. Skontrolujte ich najprv, pretože sú deterministické a viditeľné.

Zastarané zachytenie je druhá pasca, pretože klient, ktorý zmenil sieť, má inú lokálnu bránu.

Staré presmerovanie z predchádzajúceho pripojenia nevysvetľuje nič o aktuálnej ceste, preto si poznačte, ktoré rozhranie teraz prijíma riadiacu prevádzku.

Skontrolujte trasu, skôr než obviníte tunel

Opýtajte sa jadra, ktorú trasu by použilo pre cieľ, potom ju porovnajte s tabuľkou, ktorú ste mali na mysli. Ak odpoveď sedí s tabuľkou, žiadne presmerovanie nič nezmenilo a vyšetrovanie patrí inam. Ak nesedí, predtým než budete predpokladať, že tunel je vinný, hľadajte cachované presmerovanie, pravidlo politiky alebo druhú tabuľku. Vyhľadanie trasy je pravda a všetko ostatné je príbeh o tom, ako sa to stalo.

Presmerovanie by nikdy nemalo byť dôvodom, prečo sa chránená cesta potichu stane nechránenou, preto politika prijímania patrí do revízie dizajnu. Definícia v RFC 792 zostáva referenciou pre to, čo môže správa IPv4 povedať.

Zapíšte výsledok vyhľadania trasy a časovú značku zachytenia spolu, a ďalší človek bude môcť reprodukovať váš záver.

Súvisiace články