Dual NIC, problem s nedostupnosti
Dan Lukes
dan at obluda.cz
Sat Mar 28 09:10:38 CET 2009
Protoze jste me trochu nahlodali, jestli nahodou preci jen ve veci
nemoznosti prijmu paketu pro bge1 via bge0 bez forwardingu neplacam
bludy, tak nez jsem dneska sel delat neco uzitecnyho, kouknul jsem na
to. Doufal jsem, ze moji teorii tazatel overi a rekne, jestli to pomohlo
nebo ne - proste a jednoduse tak, ze ten forwarding alespon na okamzik
povoli a da vedet vysledek. Bylo by to daleko mene prace. Nicmene, to
udelat nechtel, takze nezbylo nez si vlastni teorii overit/vyvratit sam
prectenim zdrojaku.
Vysledek ? Kazu bludy. Ted zrovna si myslim, ze pro prichod paketu s
cilovou adresou B pres interface A forwarding potreba neni. Tudiz je
mnou navrzena teorie je neplatna a problem ma jinou pricinu. Na svoji
obranu pripominam, ze jsem moznost, ze teorie neni spravna explicitne
zminil - cekal jsem, ze bude overena (obzvlast, kdyz je to tak snadne).
Pustit tcpdump na vsech interfacech a koukat co presne odkud prislo a
zda na to nekudy odchazi nejaka reakce (treba nejake ICMP). Soucasne
sledovat chybove countery jak interface tak IP vrstvy - jestli se nejaky
bude zvysovat, napovi to, co systemu na paketu vadi. A ja osobne bych na
interfacech vypnul hardwarovou akceleraci. Ne, ze bych proti ni mel neco
osobne - ale hledame sitovy problem a cim mene ruznych subsystemu do
toho mluvi tim lepe.
Dan
Mozna by nekoho mohla zajimat sekvence kroku, ktera se deje pri prijmu
IP paketu, kdyz uz jsem tedy byl donucen si to precist:
1. filter oznacil paket za "nas" -> je nas
2. paket je prilis kratky, nema spravnou IP verzi -> vadny
3. zdrojova nebo cilova adresa je z 127/8 a paket neprisel pres
interface s atributem LOOPBACK -> vadny
4. vadny checksum -> vadny
5. pruchod ALTQ (pokud ALTQ naridi zahozeni paketu dal se nepokracuje
jinak ano)
6. IPSEC paket z GIF interface ? -> pokracuj bodem [9]
7. pruchod PFIL
8. forward paketu z prikazu nektereho z predchozich filtru (pouze pokud
IPFIREWALL_FORWARD)
9. zpracuj optiony v hlavicce
10. paket protokolu RSVP ? -> je nas (nez ohledu na cilovou adresu !)
11. pokud nemame na zadnem interface zadnou unicastovou adresu a paket
je unicast -> je nas (nez ohledu na cilovou adresu !)
12. net.inet.ip.check_interface set and forwarding disabled -> otestuj,
zda paket prichazi z interface, ze ktereho by podle zdrojove adresy
prichazet mel
13. ma paket "nasi" cilovou adresu a nebyl vyloucen v bodu [12] ? -> je nas
14. broadcast a prichazi z odpovidajiciho interface -> je nas
15. cilova adresa je 169.254.0.0/16 -> vadny
16. multicast a jsme mrouter ? forwarduj
17. multicast a jsme mrouter a paket je IGMP ? -> je nas
17. multicast a nejsme mrouter a mame "objednano" -> je nas
18. multicast a nejsme mrouter a nemame "objednano" -> vadny
19. cilova 255.255.255.255 nebo 0.0.0.0 -> je nas
20. FAITH vyjimky
21. NEjsme router -> vadny
22. forwarduj
V pripade "vadny" se pokracuje dale reseni zda se zpet posle ICMP a
jaka, v pripade "je nas" se paket defargmentuje, "pujci" IPSECu a preda
odpovidajici vyssi vrstve (podle konkretniho IP protokolu).
More information about the Users-l
mailing list