Re: Linux routing - podivná záhada

Milan B. milan na bastl.sk
Čtvrtek Červenec 30 09:00:46 CEST 2015


Nemam s tym prakticke skusenosti, ale cital som, ze Linux 3.1 zavadza 
routing cache (a Linux 3.6 ju dava zase prec)

Je to len tip... mozno nejake preskumanie/precistenie tejto cache...

-m-


On 30. 7. 2015 8:36, Pavel Troller wrote:
> Zdravím,
>    jak asi víte, jsem v okolí považován za Linuxáka a dokonce o tom i učím :-).
> Ale co se mi děje na jednom stroji v poslední době mne natolik mate, že se
> s tím obrátím sem, schválně, jestli někdo přijde na to, čím to je a jak to
> vyřešit bez rebootu stroje :-).
>    Zbláznil se tam routing. Pakety si chodí, kudy chtějí a ne tudy, kudy mají.
> Nastalo to po úpravách routingu kvůli vnějším zásahům.
>    Takže, vzhůru k problému.
> root na box:~# route -n
> Kernel IP routing table
> Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
> 0.0.0.0         x.x.x.126       0.0.0.0         UG    1      0        0 eth0
> 10.0.0.0        x.x.x.8         255.0.0.0       UG    0      0        0 eth0
> 192.168.0.0     x.x.x.8         255.255.0.0     UG    0      0        0 eth0
> x.x.x.0         0.0.0.0         255.255.255.128 U     0      0        0 eth0
>    O co tu jde: Default gateway vede na jednu IP, privátní rozsahy jsou z toho
> vyčleněny a mají separátní statické routy vedoucí na jiný router v téže síti.
> x.x.x.0 je síť, v níž je stroj umístěn, jeho vlastní IP je x.x.x.5.
>
> Ale, viz následující případy:
> root na box:~# traceroute 192.168.20.3
> traceroute to 192.168.20.3 (192.168.20.3): 1-30 hops, 46 byte packets
>   1  x.x.x.8 (x.x.x.8)  0.130 ms (ttl=64!)  0.104 ms (ttl=64!)  0.91 ms (ttl=64!)
>   2  192.168.192.200 (192.168.192.200)  12.2 ms  11.6 ms  11.9 ms
>   3  192.168.20.27 (192.168.20.27)  13.3 ms  13.2 ms  16.3 ms
>   4  192.168.20.3 (192.168.20.3)  13.1 ms (ttl=248!)  *  16.3 ms (ttl=248!)
> Zde je vše OK, šlape to, jak má.
>
> root na box:~# traceroute 192.168.20.4
> traceroute to 192.168.20.4 (192.168.20.4): 1-30 hops, 46 byte packets
>   1  x.x.x.126 (x.x.x.126)  0.819 ms  0.568 ms  0.500 ms
>   2  x.x.x.161 (x.x.x.161)  7.7 ms  5.67 ms  5.65 ms
>   3  * * *
>   4  * * *
> Bum! Místo do statické route se to snaží hnát do default route! A to se
> prosím ta IP liší jen o 1 v posledním oktetu! Tím je osud paketu samozřejmě
> zpečetěn.
>
> A to nejlepší na konec:
> root na box:~# traceroute 192.168.20.5
> traceroute to 192.168.20.5 (192.168.20.5): 1-30 hops, 46 byte packets
>   1  x.x.x.5 (x.x.x.5)  *  7.4 ms (ttl=64!) !H  *
> Tak to už je úplně špatně - ten paket není poslán vůbec nikam a jeví se to,
> jako by měl být doručen v lokální síti a příslušný stroj byl nedostupný.
> A opět jde jen o velmi blízkou IP adresu.
>
> S rozlišením na individuální IP adresy (viz tyto příklady) je "kdesi"
> zapamatován tento nesmyslný routing. Je to v čase stálé, jednotlivé IP
> failují vždy stejným způsobem (buď do default gw místo do statiky nebo
> úplný fail). Jiné problémy to nemá, tj. routing mimo ty privátní rozsahy
> správně vede do default route.
>
> Networking uvedeného stroje byl několikráte zcela reinicializován - všechny
> routy pryč, všechny interface down atd. a poté znovu zadán. Na tento problém
> to však nemá žádný vliv, po zadání to začne routovat úplně stejně nesmyslně,
> jako před tím.
>
> Ještě poznámka - na stroji se používá "advanced routing", kdy na základě
> pravidel (ip rule ...) se volí individuální směrovací tabulka (ip route
> ... table X). Avšak v těchto tabulkách jsou jen výjimky, 1 - 2 řádky.
> Napsal jsem si script na výpis všech 256 speciálních routovacích tabulek
> jádra a tyto nesmysly nejsou v žádné z nich.
>
> Ještě info - jádro 3.1.0. Celkem vykopávka, ale jde o produkční stroj, u
> kterého jsou updaty značně nežádoucí, pokud stroj funguje, jak má :-).
>
> Zdraví Pavel
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list