Linux routing - podivná záhada
Pavel Troller
patrol na sinus.cz
Čtvrtek Červenec 30 08:54:42 CEST 2015
Zdravím,
ne, žádné routovací protokoly na stroji nejsou.
Pavel
> Jen TIP: Co takhle jine routovaci protokoly, tam nahodou nejsou na stroji ? To bych zkusil prohledat, treba takova quagga s OSPF, ... .
>
> Jirka
>
> Dne 30. 7. 2015 v 8:36 Pavel Troller napsal(a):
>> 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
>
> _______________________________________________
> 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