problem s routingem - co se deje s paketem v kernelu?

Jan Panoch panoch.jan na globe.cz
Pátek Listopad 1 15:26:30 CET 2002


Hello!

Narazil jsem na zasadni problem s tim, ze mi router ztraci nebo zahazuje
pakety a ja nevim proc..

Situace:
- router r3, pripojeny k ISP1, bezi na nem zebra a BGP session s ISP1,
dostava kolem 114000 prefixu od ISP1
- router r2, pripojeny k ISP2, bezi na nem zebra a BGP session s ISP2,
dostava neco malo prefixu od ISP2
- router r2 a r3 propojeny privatnim linkem
- k r3 pripojen host x
- nekde v internetu (anglie, NTL internet) pripojen host y

Pripojeni pres ISP1 je primarni, pripojeni pres ISP2 je pouze zalozni
(prepend v AS-path).

Kdyz funguje primarni linka, tak paket z hostu x (ping) projde cestou:

x - r3 - ISP1 ... ... y 

a odezva na nej jde (kvuli peeringu providera hostu y, ktery preferuje
moji zalozni linku) takto:

y ... ... ISP2 - r2 - r3 a KONEC (ackoliv by mel dojit zpet na host x)

r3 ho nekde nevim proc zahodi..

Kdyz funguje zaloha (tj. linka k ISP1 je down, na r3 je dafaultroute na
r2 a tim ISP2), tak pakety chodi v pohode:

x - r3 - r2 - ISP2 ... ... y

a

y ... ... ISP2 - r2 - r3 - x

Sledoval jsem co se deje na r3 a zjistil jsem, ze odezva na ping prijde
na
interface pres linku od r2 (prijato tcpdumpem na vstupnim interfacu pres
ktery vede link k r2, interface v NEPROMISKUITNIM modu)

14:40:18.947874 62.252.128.7 > 81.95.98.2: icmp: echo reply (ttl 241, id
19425, len 84)
                         4500 0054 4be1 0000 f101 0b63 3efc 8007
                         515f 6202 0000 15b6 4141 4505 3dc2 8443
                         0002 b6f8 0809 0a0b 0c0d 0e0f 1011 1213
                         1415 1617 1819 1a1b 1c1d 1e1f 2021 2223
                         2425 2627 2829 2a2b 2c2d 2e2f 3031 3233
                         3435

Predpokladal bych, ze by pak paket mel projit pres chain FORWARD a
poslat se hostu x, ale to se nestane - nekde se ztrati nebo zahodi a ja
bych potreboval zjistit kde a proc.

Co jeste vim:

- odpoved na ping nedojde do FORWARD chainu
- neni to nicim ve forewallu - nejde to ani kdyz je zcela propustny
(vsude ACCEPT)

Obecne by mne zajimalo, zda se da nejak rozumne zjistit, co se stane s
paketem, kdyz je prijat interfacem (a vidi ho tcpdump) - co se deje v
mezidobi, nez dojde treba do FORWARDu nebo INPUTu - a pokud se nekdy
mezitkm zrusi/zahodi tak proc.

Diky

--
Jan Panoch - CTO                     Globe Internet s.r.o.
http://globe.cz/
Tel: +420(2)35365000 Fax: +420(2)35365009      Pláničkova 1, 162 00
Praha 6
 



Další informace o konferenci Linux