[linux] 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