Routing zwischen 2 LAN-Segmenten erfolgt "willkürlich&q
Routing zwischen 2 LAN-Segmenten erfolgt "willkürlich"
Es gibt die beiden Segmente
192.168.192.0/255.255.255.0 und
192.168.168.0/255.255.255.0 .
Fast alle Rechner unterschiedlicher Betriebssysteme hängen im ersten Segment.
Das WAN-Gateway hängt im ersten Segment.
Im zweiten Segment hängt nur 1 Rechner.
In beiden Segmenten hängt 1 Rechner mit eth0=192.168.192.77 und eth1=192.168.168.77
Die beiden letztgenannten laufen unter Debian 4.0
In /etc/network/option des Rechner mit den beiden Ethernet-Karten steht: ip_forward=yes ;
er sollte also als Router zwischen den beiden Netzwerksegmenten taugen.
PROBLEM:
er routet (mit einer zufällig gefundenen Ausnahme) nicht.
____________________________________________________________________________
Der Rechner im 2. Segment hängt über DHCP an seinem Router und das zuständige Programm im Router heißt dnsmasq.
Alle anderen Rechner sind mit statischen Adressen versehen.
Einige Ausgaben zur Kontrolle:
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.192.0 192.168.168.77 255.255.255.0 UG 0 0 0 eth0
192.168.168.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.168.77 0.0.0.0 UG 0 0 0 eth0
ist die Routingtabelle des einzigen Rechners im 2. Segment; die erste Zeile habe ich händisch mit "route add ..." im Laufe meiner Versuche eingefügt; sie dürfte redundant sein.
Die Ausgaben des (nicht-)Routers schauen so aus:
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 0 eth0
localnet2 * 255.255.255.0 U 0 0 0 eth1
default dc-200.local 0.0.0.0 UG 0 0 0 eth0
und
eth0 Protokoll:Ethernet Hardware Adresse 00:00:04:0A:39:22
inet Adresse:192.168.192.77 Bcast:192.168.192.255 Maske:255.255.255.0
inet6 Adresse: fe80::200:4ff:fe0a:3922/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:213436 errors:0 dropped:0 overruns:0 frame:0
TX packets:209201 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:31476929 (30.0 MiB) TX bytes:28992637 (27.6 MiB)
Interrupt:9 Basisadresse:0x4000
eth1 Protokoll:Ethernet Hardware Adresse 00:50:BA:31:FC:35
inet Adresse:192.168.168.77 Bcast:192.168.168.255 Maske:255.255.255.0
inet6 Adresse: fe80::250:baff:fe31:fc35/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17360 errors:0 dropped:0 overruns:0 frame:0
TX packets:25508 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:3760412 (3.5 MiB) TX bytes:15241933 (14.5 MiB)
Interrupt:11 Basisadresse:0x3800
lo Protokoll:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:702 errors:0 dropped:0 overruns:0 frame:0
TX packets:702 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:95200 (92.9 KiB) TX bytes:95200 (92.9 KiB)
Darin kann ich keinen Fehler erkennen.
Aber jeder ping über die Segmentgrenze hinweg schlägt fehl.
__________________________________________________________________________________
In meiner Verzweiflung habe ich einen Rechner mit eth0=192.168.192.9 und einem uralten SuSE-System (hat noch 2.2er-Kernel) hochgefahren und mit diesem ging wundersamer Weise alles:
ich konnte in beide Richtungen pingen: zwischen 192.168.192.9 und 192.168.168.122 (zufällige DHCP-Adresse) und auch traceroute lieferte sinnvolle Antworten - wie gesagt von A -> B UND von B ->A.
Ich bin völlig platt! Kleine grüne Männchen werden wohl nicht im System stecken, aber irgendwas filtert wohl fast alles raus. Aber was könnte das sein ??? Firewalls und dergleichen habe ich nie (jedenfalls nicht bewußt) in Betrieb genommen. Wo soll ich zu suchen anfangen. Meine Phantasie ist am Ende.
192.168.192.0/255.255.255.0 und
192.168.168.0/255.255.255.0 .
Fast alle Rechner unterschiedlicher Betriebssysteme hängen im ersten Segment.
Das WAN-Gateway hängt im ersten Segment.
Im zweiten Segment hängt nur 1 Rechner.
In beiden Segmenten hängt 1 Rechner mit eth0=192.168.192.77 und eth1=192.168.168.77
Die beiden letztgenannten laufen unter Debian 4.0
In /etc/network/option des Rechner mit den beiden Ethernet-Karten steht: ip_forward=yes ;
er sollte also als Router zwischen den beiden Netzwerksegmenten taugen.
PROBLEM:
er routet (mit einer zufällig gefundenen Ausnahme) nicht.
____________________________________________________________________________
Der Rechner im 2. Segment hängt über DHCP an seinem Router und das zuständige Programm im Router heißt dnsmasq.
Alle anderen Rechner sind mit statischen Adressen versehen.
Einige Ausgaben zur Kontrolle:
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.192.0 192.168.168.77 255.255.255.0 UG 0 0 0 eth0
192.168.168.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.168.77 0.0.0.0 UG 0 0 0 eth0
ist die Routingtabelle des einzigen Rechners im 2. Segment; die erste Zeile habe ich händisch mit "route add ..." im Laufe meiner Versuche eingefügt; sie dürfte redundant sein.
Die Ausgaben des (nicht-)Routers schauen so aus:
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 0 eth0
localnet2 * 255.255.255.0 U 0 0 0 eth1
default dc-200.local 0.0.0.0 UG 0 0 0 eth0
und
eth0 Protokoll:Ethernet Hardware Adresse 00:00:04:0A:39:22
inet Adresse:192.168.192.77 Bcast:192.168.192.255 Maske:255.255.255.0
inet6 Adresse: fe80::200:4ff:fe0a:3922/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:213436 errors:0 dropped:0 overruns:0 frame:0
TX packets:209201 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:31476929 (30.0 MiB) TX bytes:28992637 (27.6 MiB)
Interrupt:9 Basisadresse:0x4000
eth1 Protokoll:Ethernet Hardware Adresse 00:50:BA:31:FC:35
inet Adresse:192.168.168.77 Bcast:192.168.168.255 Maske:255.255.255.0
inet6 Adresse: fe80::250:baff:fe31:fc35/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17360 errors:0 dropped:0 overruns:0 frame:0
TX packets:25508 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:3760412 (3.5 MiB) TX bytes:15241933 (14.5 MiB)
Interrupt:11 Basisadresse:0x3800
lo Protokoll:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:702 errors:0 dropped:0 overruns:0 frame:0
TX packets:702 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:95200 (92.9 KiB) TX bytes:95200 (92.9 KiB)
Darin kann ich keinen Fehler erkennen.
Aber jeder ping über die Segmentgrenze hinweg schlägt fehl.
__________________________________________________________________________________
In meiner Verzweiflung habe ich einen Rechner mit eth0=192.168.192.9 und einem uralten SuSE-System (hat noch 2.2er-Kernel) hochgefahren und mit diesem ging wundersamer Weise alles:
ich konnte in beide Richtungen pingen: zwischen 192.168.192.9 und 192.168.168.122 (zufällige DHCP-Adresse) und auch traceroute lieferte sinnvolle Antworten - wie gesagt von A -> B UND von B ->A.
Ich bin völlig platt! Kleine grüne Männchen werden wohl nicht im System stecken, aber irgendwas filtert wohl fast alles raus. Aber was könnte das sein ??? Firewalls und dergleichen habe ich nie (jedenfalls nicht bewußt) in Betrieb genommen. Wo soll ich zu suchen anfangen. Meine Phantasie ist am Ende.
Re: Routing zwischen 2 LAN-Segmenten erfolgt "willkürlich"
Entschuldigung für die dumme Ausgabe - "route -n" hätte ich nehmen sollen:ebbi97a hat geschrieben:...
Die Ausgaben des (nicht-)Routers schauen so aus:
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 0 eth0
localnet2 * 255.255.255.0 U 0 0 0 eth1
default dc-200.local 0.0.0.0 UG 0 0 0 eth0
...
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.192.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.168.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.192.252 0.0.0.0 UG 0 0 0 eth0
also was du definitiv brauchst is dass jeder client den router als standartgateway drinnen hat.... dh im 192er netz sollte jeder als standartgateway 192.168.192.77 und im 168er netz 192.168.168.77 drinnen haben.
am router solltest du außer dem ip_forward=yes nix machen müssen....
deine Ausgabe von dem nichtRouter sagen nicht viel weil ich hier mit den Netznamen nix anfangen kann... poste mal route -n (also dass er immer numerisch ausgibt und nicht die Host/Netznamen auflöst!)
am router solltest du außer dem ip_forward=yes nix machen müssen....
deine Ausgabe von dem nichtRouter sagen nicht viel weil ich hier mit den Netznamen nix anfangen kann... poste mal route -n (also dass er immer numerisch ausgibt und nicht die Host/Netznamen auflöst!)
poste vielleicht mal
von dem Router
Code: Alles auswählen
iptables -L FORWARD
Mictlan hat geschrieben:also was du definitiv brauchst is dass jeder client den router als standartgateway drinnen hat.... dh im 192er netz sollte jeder als standartgateway 192.168.192.77 und im 168er netz 192.168.168.77 drinnen haben.
am router solltest du außer dem ip_forward=yes nix machen müssen....
Ei Potz! Warum sollte denn das so sein?
Ein Gateway braucht man doch nur, wenn Pakete in ein fremdes Netzsegment sollen. Oder finden sonst die Antwortpakete nicht mehr zurück?
Außerdem: der 192.168.192.9 (mit dem es ohne Verrenkungen funtkioniert) hat 192.168.192.77 AUCH NICHT als Gateway eingetragen !?!
Den Lapsus habe ich gleich bemerkt und schon verbessert.Mictlan hat geschrieben: deine Ausgabe von dem nichtRouter sagen nicht viel weil ich hier mit den Netznamen nix anfangen kann... poste mal route -n (also dass er immer numerisch ausgibt und nicht die Host/Netznamen auflöst!)
Habe ich eingegeben; Kommando wurde angenommen (wußte gar nicht, daß ich iptables installiert hatte!) - aber das Routing funktioniert nach wie vor nicht.daFreak hat geschrieben:poste vielleicht malvon dem RouterCode: Alles auswählen
iptables -L FORWARD
Zunächst mal entschuldige ich mich für meine mißtrauische Frage, warum das denn so sein müsse - denn es scheint tatsächlich die Ursache des Problems zu sein.Mictlan hat geschrieben:also was du definitiv brauchst is dass jeder client den router als standartgateway drinnen hat.... dh im 192er netz sollte jeder als standartgateway 192.168.192.77 und im 168er netz 192.168.168.77 drinnen haben.
Aufgrund der Tatsache, daß es mit der alten S.u.S.E.-Kiste gegangen ist, kam ich drauf, daß ich auf der die Route und das GW händisch eingetragen hatte (auf der anderen Seite war die Route von Haus aus vorhanden). Also habe ich es nun auch auf 192.168.192.7 probiert - und schon pingt es sich in beide Richtungen.
Daraus lerne ich, daß Routen und Gateways anscheinend spiegelsymmetrisch angelegt werden müssen, auch wenn man nur von A nach B will und nicht umgekehrt. Warum habe ich nicht verstanden; muß jetzt wohl mal die Literatur (oder viele viele man-pages) lesen.
Danke für Deinen zielführenden Hinweis!
Entschuldigung!daFreak hat geschrieben: Ich meinte ob du vielleicht die Ausgabe posten könntest.
Ausgabe von iptables -L FORWARD kam mir ziemlich leer vor:
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Weiß nicht, was das bedeutet.
Aber das Problem scheint bereits gelöst zu sein. Sieht so aus, als hätte ich den Routing-Mechanismus nicht richtig verstanden (vgl. Antwort an mictlan von 11:22h).
sag ich dochebbi97a hat geschrieben: Zunächst mal entschuldige ich mich für meine mißtrauische Frage, warum das denn so sein müsse - denn es scheint tatsächlich die Ursache des Problems zu sein.
genau! woher soll denn der rechner wissen woher das paket kommt bzw welchen weg das paket genommen hat.... um zu wissen wohin er pakete schicken (antworten) soll braucht ein rechner immer gateways.... für pakete die er nicht zuordnen kann gibts den standartgateway.... quasi frei nach dem motto: "wenn man sich nciht auskennt dann deligiert man"ebbi97a hat geschrieben: Aufgrund der Tatsache, daß es mit der alten S.u.S.E.-Kiste gegangen ist, kam ich drauf, daß ich auf der die Route und das GW händisch eingetragen hatte (auf der anderen Seite war die Route von Haus aus vorhanden). Also habe ich es nun auch auf 192.168.192.7 probiert - und schon pingt es sich in beide Richtungen.
Daraus lerne ich, daß Routen und Gateways anscheinend spiegelsymmetrisch angelegt werden müssen, auch wenn man nur von A nach B will und nicht umgekehrt. Warum habe ich nicht verstanden; muß jetzt wohl mal die Literatur (oder viele viele man-pages) lesen.