Router antwortet nicht auf ARP requests

#0
10.12.2003, 22:46
Member
Avatar framp

Beiträge: 326
#1 Eigentlich dachte ich das waere 'ne einfache Sache - aber leider scheint es nicht so.
Ich habe ganz einfach an meinem Basinetz (192.168.0.0/24) ein weiteres Netz via Linux Router angeschlossen (192.168.2.0/24) hinter dem noch ein LabTop angeschlossen ist. Leider kann der nicht auf das Basisnetz pingen.
tcpdump zeigt, dass beim ping des LTs auf eine Resource im Basisnetz ein ARP request nach der IP ankommt - aber nicht von dem Router 192.168.2.6 and das andere NIC weitergeschickt wird. Forwarding ist an. Die BackwardRoute ebenso definiert.
Wenn ich umgekehrt von einem Rechner im Basinetz einen ping zum LT schicke ist auch der ARP request zu sehen - nur antwortet der 192.168.2.6 router nicht.

Als ich den LT am BasisRouter angeschlossen hatte funzte alles perfekt. Hat iregendjemand eine Idee welches Bit ich da noch umschiessen muss?

Merke: Wenn man denkt es ist simple ist es mit Sicherheit kompliziert ;-)

Peter
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 10.12.2003 um 22:55 Uhr von framp editiert.
Seitenanfang Seitenende
10.12.2003, 23:03
Member
Avatar Xeper

Beiträge: 5291
#2 Tjoa hast leider jetzt den gesamten output vergessen - vom ping vom route usw. das wer alles schon sehr hilfreich gewesen. Klaro is ja das wenn du scho zwei netze benutzen willst brauchst du auch nen gateway der in beide netze drin steht. Den trägst du dann bei den clients in die routing table ein.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
10.12.2003, 23:15
Member

Themenstarter
Avatar framp

Beiträge: 326
#3 Hm.

Xeper, eigentlich dachte ich, dass ein Router reicht um zwei Subnetze zu connecten. Ein Gateway ist notwendig wenn ich unterschiedliche Transportprotokolle verbinde - und das ist nicht der Fall. Allerdings solte das bei Linux kaum einen Unterschied machen.

Basisnetz ist 192.168.0.0/24 mit z.B. einem Rechner 192.168.0.1.
Attached Netz ist 192.168.2.0/24
Daran haengt ein bloeder LT mit 192.168.2.4 und dazwischen ein Router mit zwei NICs (192.168.0.6 und 192.168.2.6) der die ARPs nicht weiterleitet.

Da ist nur ein kleines Bit was ich umschiessen muss - leider lacht das mich nicht an.

Peter
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 10.12.2003 um 23:15 Uhr von framp editiert.
Seitenanfang Seitenende
11.12.2003, 13:06
Member
Avatar Emba

Beiträge: 907
#4 wenn du auf den rechnern die gw eingetragen hast und beim router ip-forwarding aktiv ist, sollte das routing ohne weiteres funzen (es sei denn, du hast noch ne FW dazwischen)

vom router aus kannst in beide netze pingen?

greez
Seitenanfang Seitenende
11.12.2003, 14:04
Member
Avatar Xeper

Beiträge: 5291
#5 @Framp

Das ist nicht korekkt du hast das jetzt ein wenig verdreht ein Router ist dafür da wenn du mehrere Protkolle benutzt zb. TCP/IP und PPPoE. Ein Gateway ist dafür da um zwei netze die mit dem gleichen Protokoll operieren zu verbinden. Ich weiß nicht was bei dir das Problem ist - ohne output kann ich dazu nichts sagen aber die theorie ist ja klar du brauchs ein gateway der beiden netzen angehört von mir aus eth0 mit 192.168.0.1/24 und eth0:1 mit 192.168.2.1/24. Dann brauchst du diese addressen ja nur noch in die routing table einzutragen. Ansonsten natürlich den netfilter modifizieren wenn der die traffic blockt etc.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
11.12.2003, 15:25
Member
Avatar Emba

Beiträge: 907
#6 @xeper&framp

ich versuch's mal:

ein gateway wird genutzt, wenn daten zw. verschiedenen protokollen ausgetauscht/umgesetzt werden

einen router nutzt du, um verschiedene physische netzwerke (mit ein und demselben protokoll zu verbinden)

im falle von reiner IP-Kommunikation handelt es sich also um einen router, im falle von TCP/IP-Kommunikation um ein gateway

im normalen sprachgebrauch aber bedeuten beide begriffe (fälschlicherweise) das gleiche

demnach lag framp richtig

greez
Seitenanfang Seitenende
11.12.2003, 15:42
Member
Avatar Xeper

Beiträge: 5291
#7 @Emba

Okay schön für dich und ich behaupte immer noch das von meinme letzten Post.

Ein Gateway erweitert ein Netzwerk aber nur im selben Protokoll während ein Router verschiedene Protokolle übersetzt. Und klar ein Gateway routet auch pakete in sofern hat die Routing Table keinen einfluss auf die Unterschiedlichkeit der Begriffe Gateway und Router. Was denkst du warum die handelsüblichen Hardware Router - Router heißen? Weil sie verschiedene Protokolle übersetzen und auf OSI schicht 1-4 arbeiten. So wie gesagt ich bleibe dabei du kannst jetzt gerne das alles was ich Sage mit Beweisen über den Haufen werfen bzw. es wiederlegen.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
12.12.2003, 19:53
Member

Themenstarter
Avatar framp

Beiträge: 326
#8 Ok. Es geht also nicht ohne die Konfig:

SYS1 - eth0 -------- eth0 Router eth1 --------- eth0 TP
192.168.0.1 192.168.0.6 192.168.2.6 192.168.2.4

ping von Router zu SYS1 OK wie auch ping von Router zu TP.

SYS1 ist auch Internet GW und hat deshalb noch eth1 und ppp0 aber das sollte nichts mit der Sache zu tun haben.

Route auf Router
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

Route auf SYS1
Destination Gateway Genmask Flags Metric Ref Use Iface
217.5.xx.xx 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 217.5.xx.xx 0.0.0.0 UG 0 0 0 ppp0

Route auf TP
ctive Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.2.4 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.2.0 255.255.255.0 192.168.2.4 192.168.2.4 10
192.168.2.4 255.255.255.255 127.0.0.1 127.0.0.1 10
192.168.2.255 255.255.255.255 192.168.2.4 192.168.2.4 10
224.0.0.0 240.0.0.0 192.168.2.4 192.168.2.4 10
255.255.255.255 255.255.255.255 192.168.2.4 3 1
255.255.255.255 255.255.255.255 192.168.2.4 192.168.2.4 1
Default Gateway: 192.168.0.1

Bei ping von SYS1 tu TP kann man auf eth0 die arp requests sehen.

tcpdump: listening on eth0
19:50:14.488122 arp who-has 192.168.2.4 tell 192.168.0.1
19:50:15.489115 arp who-has 192.168.2.4 tell 192.168.0.1
19:50:16.490122 arp who-has 192.168.2.4 tell 192.168.0.1

Und auf dem Router gibt arp

Address HWtype HWaddress Flags Mask Iface
192.168.2.4 ether 00:E0:98:87:24:C9 C eth1
192.168.0.1 ether 52:54:05:C4:58:D2 C eth0

d.h. die Adresse ist bekannt. Er antwortet nur einfach nicht auf den Request.

Falls noch was zur PD fehlen sollte einfach nach fragen.
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Seitenanfang Seitenende
13.12.2003, 01:26
Member
Avatar Xeper

Beiträge: 5291
#9 also aufm TP muss doch ne default route zum router hin das müßte doch dann 192.168.2.6 sein. Und was bringen dir die ganzen anderen einträge auf der TP router? sieht so aus als wer da ziemlich viel shit drin zb. 224.0.0.0 und 255.255.255.255 seid wann ist sowas ne netzwerk addresse? Der Sys1 müßte ja ne route zu dem router besitzen wenn er zum TP will 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 das kann ja gar nich ich dachte der Sys1 wer gar nicht am x.x.2.0 netz angeschlossen. Also nach meiner Meinung nach ist es offensichtlich das da einfach zuviele Fehler drin sind und natürlich den netfilter prüfen.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
14.12.2003, 00:31
Member

Themenstarter
Avatar framp

Beiträge: 326
#10 Mit MASQ tuts - was auch kein Wunder ist - die TP Adresse wird nicht propagiert. Es muss auch anders gehen. Scheint also doch ein groesseres Problem zu sein ;) und ich muss tiefere Studien betreiben (google et al ...) und das ist demnach auch der Grund warum es keine ad hoc Antworten in diesem Forum gegeben hat ;).

Die Loesung poste ich als xref (Sofern ich sie finde ;) )
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 14.12.2003 um 00:35 Uhr von framp editiert.
Seitenanfang Seitenende
28.01.2004, 19:17
Member

Themenstarter
Avatar framp

Beiträge: 326
#11 Wie versprochen die Loesung des Problems for future reference:

Es gibt /proc/sys/net/ipv4/conf/eth0/proxy_arp und das ist dummerweise per default 0 und fuehrt dazu dass ARP requests nicht weitergeleitet werden.
Einfach echo "1" da hinein - und es funzt.
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 28.01.2004 um 19:27 Uhr von framp editiert.
Seitenanfang Seitenende
28.01.2004, 19:40
Member
Avatar Emba

Beiträge: 907
#12 hm...die perfekte lösung ist das aber net, oder?
ich mein, proxy_arp als lösung mag okay sein, nur wenn auf dem laptop eine ordentliche ip-implementierung mit routing-verständnis existiert, so muss es auch ohne den proxy_arp gehen

die ursache hast du also noch nicht gefunden?

Zitat

Erst dann ist eine LinuxBox ein "richtiger" Router
ist er auch vorher schon, denn normalerweise hat der router nicht die aufgabe, permanent arp-anfragen, auch wenn sie nicht für ihn bestimmt sind, zu beantworten
jeder client, der einen ip-stack hat sollte die arp-requests sofort an den router weiterleiten, wenn sich der gesuchte host außerhalb des netzsegmentes befindet

greez
Seitenanfang Seitenende
29.01.2004, 09:13
Member

Themenstarter
Avatar framp

Beiträge: 326
#13

Zitat

Emba postete
hm...die perfekte lösung ist das aber net, oder?
ich mein, proxy_arp als lösung mag okay sein, nur wenn auf dem laptop eine ordentliche ip-implementierung mit routing-verständnis existiert, so muss es auch ohne den proxy_arp gehen
Das Problem lag nichtam TP. Es lag am Router. Der TP hat einen request zum SYS1 geschickt und der fragte den Router per ARP nach der IP Adresse. Leider hat der Router ohne die Aenderung nicht geantwortet und der TP hat deshalb keine Antwort bekommen.

Zitat

die ursache hast du also noch nicht gefunden?
Ich denke mal schon. Wenn der Router keine ARP requests fuer seine dahinterliegenden Systeme beantwortet geht nun mal nichts.

Allerdings weiss ich nicht warum SYS1 einen ARP request losschickt. Beim request vom TP ist ja seine Adresse enthalten und SYS1 weiss, dass die Antwort ueber Router zu TP zu schicken ist anhand seiner Routingtabelle.

http://seclists.org/linux-kernel/2000/Sep/0261.html beschreibt das unterschiedliches Verhalten eines Cisco Routers und einer Linux Box die als Router eingesetzt wird.

http://lists.freebsd.org/pipermail/freebsd-questions/2003-August/014669.html erklaert was zu tun ist um das zu fixen.

Eine elegantere Moeglichkeit habe ich nicht gefunden.

by the way: Weisst du wie ich nach Aktivierung eines IFs shells aufrufen kann, die z.B. Routings setzen oder das ARP_proxy bit setzen?
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 29.01.2004 um 09:14 Uhr von framp editiert.
Seitenanfang Seitenende
29.01.2004, 13:32
Member
Avatar Emba

Beiträge: 907
#14 hi

was ist ein IF? *doof_fragt*

Zitat

Ich denke mal schon. Wenn der Router keine ARP requests fuer seine dahinterliegenden Systeme beantwortet geht nun mal nichts.
wir hatten letztens folgendes szenario:

GW1 [10.0.0.1/24] -> GW2 -> GW3 [11.0.0.1/24]

GW2 besitzt 2 NIC's, um als router zwischen den anderen GWs (die beide in unterschiedlichen netzen "stehen"), zu dienen.

proxy_arp war deaktiviert und ip_forwarding aktiviert
GW2 erledigte den job (arp) dennoch zu vollster zufriedenheit
wie erklärst du dir das?

greez
Seitenanfang Seitenende
29.01.2004, 15:38
Member

Themenstarter
Avatar framp

Beiträge: 326
#15

Zitat

Emba postete

Zitat

was ist ein IF? *doof_fragt*
Sorry: IF <=> Interface i.e. IFUP und IFDOWN. Ich will also nach dem bzw bei dem IFUP von z.B. eth0 noch eine route setzen.

Zitat

proxy_arp war deaktiviert und ip_forwarding aktiviert
GW2 erledigte den job (arp) dennoch zu vollster zufriedenheit
wie erklärst du dir das?
Hm, ich dachte das koennte mir jemand anderes erklaeren ;)

Hast Du den Link auf die o.g. Diskussion? Dann kann ich mal nachlesen und vielleicht herausbekommen was der Unterschied dazu bei mir ist. So wie sich das anhoert muesste das alles wirklich ohne ARP_PROXY gehen. Meine Config hat ja nur 2 Netze und keine drei.

CU

__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 29.01.2004 um 15:41 Uhr von framp editiert.
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: