On Monday, October 18, 2010 13:46:02 Torsten Förtsch wrote:
ich habe 2 Maschinen, die über 2 geswitchte Netze verbunden sind.
mach1 eth0 <==========sw1==========> eth0 mach2 (internes Netz) eth1 <==========sw2==========> eth1 (externes Netz) | router
An sw2 hängt noch ein Router, der mit dem Internet verbindet.
Angenommen, die MAC Adresse (eth0) von mach2 ist auf mach1 noch nicht bekannt, dann wird mach1 einen ARP Request starten, wenn ich versuche mach2/eth0 zu erreichen.
Eigenartigerweise sehe ich die ARP Frage im TCPDUMP auf mach1/eth0 und mach1/eth1. Dann kommen 2 Antworten, beide auf mach1/eth0. Eine davon enthält die MAC Adresse von mach2/eth0 (richtig) und die andere die MAC Adresse von mach2/eth1 (falsch).
mach1/eth1: 13:28:03.253598 ARP, Request who-has 172.17.160.244 tell 172.17.160.242, length 46
mach1/eth0: 13:28:03.253508 ARP, Request who-has 172.17.160.244 tell 172.17.160.242, length 28 13:28:03.253657 ARP, Reply 172.17.160.244 is-at 00:08:02:b3:fa:b8 (oui Unknown), length 46 13:28:03.254770 ARP, Reply 172.17.160.244 is-at 00:08:02:b0:a3:47 (oui Unknown), length 46
mach1 ist opensuse 11.3, mach2 10.2.
Ist es richtig, dass ARP auf beiden Leitungen fragt? Er könnte doch anhand der IP Adresse und der Route für das 172.17.160.224/27 Netz schon feststellen, dass er auf eth1 nichts zu suchen hat. Außerdem, wenn er schon denkt, er müsse auf beiden Leitungen fragen, wieso antwortet mach2 mit einer MAC Adresse, die gar nicht in dem Netz, über das die Antwort geschickt wird, verfügbar ist?
Die Hauptfrage ist aber, wie stelle ich das ab?
Ich glaube, ich habe die Antwort selbst gefunden: sysctl -w net.ipv4.conf.all.arp_filter=1 (auf allen beteiligten Maschinen) Torsten Förtsch -- Need professional modperl support? Hire me! (http://foertsch.name) Like fantasy? http://kabatinte.net -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org