Hallo,
Hi,
ich versteh Dein Netzwerk immer noch nicht. Sieht das so aus?
eth0 eth0 eth1 eth0
,-----. x.y.16.10/24 ,-----. x.y.18.10/24 ,-----.
| A +------.--------+ R +--------.------+ B |
`-----' | `-----' | `-----'
x.y.16.11 | x.y.16.10 x.y.18.10 | x.y.18.11
| |
eth0 | | eth0
,-----. | | ,-----.
| G16 +------' `------| G18 |
`-----' `-----'
x.y.16.1 x.y.18.1
(Warum muss ich immer sowas malen?)
Ich gehe davon aus, dass das Problemkistchen R ist.
Also nochmal mein Gesammtziel:
IP1 auf eth0 soll sein: x.y.16.10
IP2 auf eth1 soll sein: x.y.18.10
Als default-Gateway hatte ich x.y.16.1 oder x.y.18.1 versucht.
Vergiss das default gw, das brauchst Du gar nicht. Auf A muss die routing-Tabelle so aussehen:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
x.y.16.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Auf B muss die routing-Tabelle so aussehen:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
x.y.18.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Auf R muss die routing-Tabelle so aussehen:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
x.y.16.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
x.y.18.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Mehr braucht es nicht, um von R auf A oder B zu pingen, kein default gw, nirgends.
route add -net x.y.16.10 netmask 255.255.255.0 dev eth0
route add -net x.y.18.10 netmask 255.255.255.0 dev eth1
was nicht nicht zu Erfolg führte. Problem wie gehabt.
90 von 100 Netzwerkproblemen sind Probleme mit routing. 9 von 100 Netzwerkproblemen sind Probleme mit dem routing, aber auf dem Rueckweg. Nur eins von 100 Netzwerkproblemen ist irgendwas anderes, aber ueberpruefe des routing trotzdem.
Stimmen die routing-Tabellen auf den Rechnern A und B? (Das erklaert aber nicht, warum es funktioniert, wenn Du ueber ein gw routest. Werkelt auf irgendeiner von den beteiligten Kisten ein netfilter, „Firewall“ an? Wenn ich noch etwas nachdenke koennte ich Deine Probleme vielleicht mit NAT oder masquerading erklaeren.)
Darüberhinaus muss der Gateway so eingerichtet sein,
dass er IP-Forwarding zulässt.
Das muss es nicht. Fuer Verbindungen RA oder RB ist kein IP-forwarding noetig. Erst wenn AB will muss auf A und B noch eine route ins andere Netz mit R als gateway stehen und R muss IP forwarden.
Der Gateway-rechner befindet sich außerhalb meines
Zuständigkeitsbereiches
Aber ich kann noch mal unsere
Netz-Admins fragen.
Welcher aus meiner Zeichnungen ist der „Gateway-rechner“?
OK, diese Tabelle ist die aktuelle. Damit komme ich ins Netz
x.y.16.0, aber nicht in Netz x.y.18.0
Bitte routing-Tabellen tunlichst mit dem Parameter -n ausgeben lassen.
> Kernel IP routing table
> Destination Gateway Genmask Flags Metric Ref Use Iface
> x.y.18.0 \* 255.255.255.0 U 0 0 0 eth1
> x.y.16.0 \* 255.255.255.0 U 0 0 0 eth0
> link-local \* 255.255.0.0 U 0 0 0 eth0
> loopback \* 255.0.0.0 U 0 0 0 lo
> default x.y.16.1 0.0.0.0 UG 0 0 0 eth0
Die „*“ sollten deinem 0.0.0.0 entsprechen denke ich.
Das kommt durch den Schalter -n (numeric).
Die Einträge „link-local“ und „loopback“ verstehe ich nicht und
werden von YaST2 automatisch erzeugt.
link-local verstehe ich auch nicht. loopback ist die route zum lo interface. Beide sind hier nicht wichtig, da fuer Deine pings immer eine der ersten beiden routen greift.
Wenn ich mich richtig erinneren ist das „AND“ ein bitweises,
ja?
Ja. Ich weiss nicht, wie das richtig heisst, ich weiss nur, wie es funktioniert.
Okay, also 1.Zeile ergibt:
x.y.16.5 „AND“ 255.255.255.0 = x.y.16.0 (Netzmaske)
dann
x.y.16.5 „AND“ x.y.18.0 = x.y.16.0 (Destination)
Nein. x.y.16.5 wird mit /24 (==255.255.255.0) verwurstet, ergibt x.y.16.0 (am besten die bits aufmalen). x.y.16.5 AND x.y.18.0 wird niemals gerechnet, es werden immer nur IP#s mit Netzwerkmasken verglichen. IP# kann dabei die aus dem Feld Destination oder die aus dem Paket sein. Das ist sowieso nur relevant, wenn sich IP# aus Destination AND Netzwerkmaske und die IP# aus Destination unterscheiden. Meist steht dort schon eine Netzwerkadresse. (Die Netzwerkadresse ergibt sich aus den IP#s eines Netzwerks bitweise AND mit der Netzwerkmaske.)
Da 1610=100002 und
1810=100102 bitweise geANDet wieder
10000 also 16 ergibt. Korrekt?
Die beiden kommen nie in Beruehrung.
Okay, habe mal gar kein default-Gateway definiert. In diesem
Fall geht GAR NICHTS irgendwohin 
Kannst Du mit obengenannten routing-Tabellen mal mit tcpdump mithorchen, was an Rechner A bzw. B so vorbeifliegt?
Routing Tabelle vom router waere cool.
Du meinst also vom rechner x.y.16.1 ? Hab mal unsere
Netz-Admins nach gefragt.
Die ist nicht notwendig, die Rechner G16 und G18 sind beim Erreichen von A und B von R aus nicht beteiligt.
BTW: x.y.192.1 bin ich selbst, oder?
Haeh? Ich dachte, Du waerest Jame~. Identitaetskrise? 127.0.0.1 bezieht sich im allgemeinen auf den lokalen Rechner und an das loopback interface (lo) gebunden.
BTW2: was sagt mir was ich nicht schon
durch weiß und hier wichtig sein könnte? (Außer
der Mac-Adresse, der inet6-Adresse und dem Traffic meine ich
jetzt).
Nicht viel. route und ifconfig sind sowieso nur wrapper fuer ip und koennen vollstaendig dadurch ersetzt werden. Die Ausgaben von
# ip addr show
# ip route show
sind aber etwas detailierter und auch noch kompakter. Das macht es nicht unbedingt einfacher.
HTH,
Gruss vom Frank.