Ako routovat ethernet broadcast?
Peter Surda
shurdeek na panorama.sth.ac.at
Středa Září 24 22:53:33 CEST 2003
Cauko,
je mi jasne, ze otazka formulovana ako %subj% ma odpoved "nijako", lebo
routing sa deje o vrstvu nad ethernetom, ale vhodnejsi popis situacie ma
nenapadol. Mozno "ako routovat ip paket ktory je poslany cez ethernet
broadcast".
Situacia: majme Linuxovy Router (LR) a za nim verejnu siet (uplne normalna
situacia). LR vsetok traffic von posiela cez Router U Provajdera (RUP).
(IP adresy som pochopitelne zmenil):
RUP (10.1.1.1/24) <-> (eth0 10.1.1.30/24) LR (eth1 20.1.1.1/24) <-> (20.1.1.2/24) nejaky pocitac
Dufam, ze je to jasne.
Takze: ked RUP posiela paket na 10.1.1.30, ma paket destination MAC adresu
interfejsu eth0 rutra a vsetko ide ok. Ked vsak posiela paket na nejaku IP
siete 20.1.1.0/24, ma destination MAC adresu ff:ff:ff:ff:ff:ff. To podla mna
nie je spravne. Efekt to ma taky, ze do siete 20.1.1.0/24 nic neprelezie. LR
ten paket sice spracuje, aj iptables ho vidi, ale dalej cez eth1 ho neposle.
Dokonca ani 20.1.1.1 ten paket nedostane. Program snaziaci sa o tcp spojenie
alebo posielajuci ping nedostane ziadny TCP (napr. RST) ani ICMP paket (napr.
host unreachable) naspat, RUP posiela broadcasty do aleluja.
Zmenu nesposobi ani ked mam iptables -P FORWARD ACCEPT, v sysctl mam
ip_forward zapnuty, a NATovat neoficialnu siet ide tiez.
Skusil som sa hrat z proxy_arp a promisc modom, ale akosi s tym nic zmysluplne
neviem spravit.
Zrejme je chyba v RUP a treba ho spravne nastavit, co zrejme aj bude mozne,
ale zda sa mi to zaujimave a rad by som vedel, ci sa s tym niekto uz
nestretol, alebo ci sa to neda riesit nejako inak.
S pozdravom,
Peter Surda (Shurdeek) <shurdeek na panorama.sth.ac.at>, ICQ 10236103, +436505122023
--
The three Rs of Microsoft support: Retry, Reboot, Reinstall.
Další informace o konferenci Linux