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