linux-l: einfaches Netzwerk-Problem

tho at thomsen.isdn.cs.tu-berlin.de tho at thomsen.isdn.cs.tu-berlin.de
Sa Apr 17 00:39:23 CEST 1999


In message <000501be8794$8fd98760$6400a8c0 at intranet.wo.rk>, "Soeren Sonnenburg"
 writes:
> >  Nein, so wird's nicht funktionieren. Horse sieht, dass Sun im gleichen,
> > Segment liegt und wird deshalb die Pakete nicht an den Router schicken,
> > sondern, selbst ein ARP Request lostreten, der unbeantwortet bleibt.
> >
> >  Bridging, wie schon erkannt, sollte das Problem loesen - habe ich noch
> > nicht ausprobiert.
> 
> Der Schwierigkeitsgrad haelt sich in Grenzen (1 Befehl 1 Kerneloption 1
> Kernel compilieren).
> 
> Aber ich habe das Gefuehl, dass das nicht 100% funktioniert, es scheint, als
> ob manchmal Pakete verschluckt werden. Ausserdem ist es nicht schoen
> ethx-ifaces im promiscious mode laufen zu lassen, wie also geht der
> arp-Workaround ???
> 
> >  Wenn bridging nicht verwendet werden soll (z.B. weil ein packet-filter
> > durchlaufen werden muss), kann man sich auch damit behelfen, die arp-
> > table zu modifizieren.
> >  Zugegebenermasses ein uebler Hack, funktioniert aber und wenn man sich
> > die IP Nummern nicht aussuchen kann, moeglicherweise der einzige Weg.
> >  Aber im 192.168 Netz?
> 
> Ich wuerde ganz gerne die Rechner im selben Netz haben, das ist die
> Bedingung. Rest ist egal, aber so wie ich das mitbekommen hab, koennte ein
> packet Filter auch mit bridging moeglich sein !
??? Dann ist es keine Bridge mehr.

Also der arp-hack geht folgendermassen:

Host A		Host B		Host C

eth0		eth0
IP# ab --------	IP# ba

		eth1		eth0
		IP# bc -------- IP# cb

 Die arp-table fuer den dual-homes host B muss manipuliert werden. A muss
wissen, dass Pakete fuer C an B geschickt werden sollen (die IP addresse
cb muss in eine Ethernetaddresse aufgeloest werden koennen):
`arp -i eth0 -Ds <cb> eth1 pub`

ebenso muss C Pakete an A loswerden koennen:
`arp -i eth1 -Ds <ab> eth1 pub`

 Weiterhin muss die routing tabelle von Host B korrekt sein. Wenn kein sub-
netting benutzt werden soll, muessen host-routen eingerichtet werden:
`route add -host <ab> eth0`
`route add -host <cb> eth1`

(Vielleicht sollten wir das Subject aendern ;)

 Wenn Du nachfolgenden Administratoren eine Chance geben und Dir bei der
Doku nicht die Finger wund schreiben willst, solltest Du noch einmal
ueberdenken, ob Du wirklich an den IP Nummern festhalten willst. Wenn
Du physikalisch getrennte Netze verwendest, dann nimm gefaelligst auch
verschiedene Netzaddressen.
 Ein Szenario aehnlich dem obigen, habe ich einmal konfiguriert, da ich
mir die IP Adressen _nicht_ aussuchen konnte. Spass hat es nicht gemacht.

Guenther

PS: Wenn wirklich nur die Hosts A, B, C beteilligt sind, genuegt es auch
(ausschliesslich !) hosts-routen auf A, B, C einzurichten (B als gateway
fuer A bzw. C); die arp-table Bs muss dann nicht manipuliert werden.



Mehr Informationen über die Mailingliste linux-l