Default-Route kann ab SuSE 8.0 nicht korrekt gesetzt werden
Hallo! Ich habe gerade ein aktuelles Problem mit dem Handling von Routen mittels des Befehls "ip". Ich möchte gerne in meinem Netz die Broadcast-Domäne komplett verkleinern und dazu diese zuegebenermaßen nicht ganz standard-konforme Netzwerkkonfiguration verwenden (beispielhaft): eth0: 172.20.0.2 Netmask: 255.255.255.255 Broadcast: 172.20.0.2 Netaddress: 172.20.0.2 Default-Gateway: 172.20.0.1 Für die Nutzung dieser Konfiguration benötige ich natürlich noch einen statischen Routing-Eintrag für das Default-Gateway. Die manuelle Konfiguration würde also wie folgt aussehen (die SuSE Scripte setzen diese ja letztendlich so oder in ähnlicher Weise): ifconfig eth0 172.20.0.2 netmask 255.255.255.255 route add -net 172.20.0.1 netmask 255.255.255.255 gw 172.20.0.2 eth0 route add default gw 172.20.0.1 (bzw. entsprechend gleichbedeutende Einträge in /etc/route.conf) Diese Vorgehensweise funktionierte bei mir bis SuSE 7.4 wunderprächtig. Nun ab SuSE 8.0 (ich nutze 8.2) hat sich ja das Konzept für die Netzwerkkonfiguration geändert. Es wird nun der Befehl "ip" statt "ifconfig" verwendet. Da ich die Syntax von ip noch nicht wirklich drauf habe, habe ich hier komplett den SuSE-Scripten die Konfiguration überlassen. Jedoch wird die default-route nicht gesetzt - Meldung: RTNETLINK answers: network is unreachable Ich kann den Gateway jedoch problemlos anpingen... Ich vermute, dass ip hier mit einer solch unkonventionellen Konfiguration nicht klar kommt ;-( Beim manuellen Setzen der default-route kommt eine ähnliche Meldung: route add default gw 172.20.0.1 SIOCADDRT: network is unreachable Warum funktioniert das mit ifconfig (manuell) problemlos, mit ip jedoch nicht? Gibts da ne Möglichkeit, das zu übergehen? Etwas ein --force oder sowas in der Art? Bin für jede Hilfe dankbar! Viele Grüße aus München Julian
Guten Tag Julian Pawlowski, am Montag, 20. Oktober 2003 um 18:25 schriebst Du:
Hallo!
Ich habe gerade ein aktuelles Problem mit dem Handling von Routen mittels des Befehls "ip".
Ich möchte gerne in meinem Netz die Broadcast-Domäne komplett verkleinern und dazu diese zuegebenermaßen nicht ganz standard-konforme Netzwerkkonfiguration verwenden (beispielhaft):
eth0: 172.20.0.2 Netmask: 255.255.255.255 Broadcast: 172.20.0.2 Netaddress: 172.20.0.2 Default-Gateway: 172.20.0.1
Damit liegt dein Gateway aber in einem anderen Netzwerk. Ich glaub auch nicht, dass Rechner- Netzwerk- und Broadcastadresse das selbe sein sollten. IMHO muss die Rechneradresse aus mindestens 2 Bit bestehen. Damit ergibt sich die kleinste Netmask 255.255.255.252 eth0 192.20.0.1 oder 172.20.2.2 Broadcast: 172.20.0.3 Netaddress: 172.20.0.0 Default-Gateway: 172.20.0.1 Berichtige mich, wenn ich falsch liege. -- Mit freundlichen Grüssen Jens Thieme mailto:suse-help@jt-direct.de
Hallo Jens!
Damit liegt dein Gateway aber in einem anderen Netzwerk. Ich glaub auch nicht, dass Rechner- Netzwerk- und Broadcastadresse das selbe sein sollten.
Laut Spezifikation nicht, da hast du vollkommen recht. Es ist jedoch möglich und in gewissen Situationen durchaus sinnvoll. Bei mir ist diese Situation ein dedizierter Server bei einem Webhoster. Habe ich aber auch entsprechend angemerkt:
Julian Pawlowski schrieb:
[...] zuegebenermaßen nicht ganz standard-konforme Netzwerkkonfiguration [...]
IMHO muss die Rechneradresse aus mindestens 2 Bit bestehen.
Als Netzwerktechniker stimme ich dir da vollkommen zu (jedenfalls fast, deine Bezeichnung ist nicht ganz korrekt, da es hier hauptsächlich um die Netzmaske und nicht um die IP-Adresse geht; die Netzmaske bestimmt ja die Netzwerk- und Broadcast-Adresse), wobei dein "muss" relativ ist ;-) Die Spezifikation ist hier das, auf was man sich geeinigt hat. Abweichungen in der von mir beschriebenen Form ist jedoch IMHO als hausintern zu bezeichnen, da sich äußerlich keinerlei Veränderungen im Verhalten ergeben (einzig und allein der gewünschte Effekt, die Broadcast-Domänen zu trennen).
Berichtige mich, wenn ich falsch liege.
Du hast vollkommen Recht, wenn du nach der Spezifikation gehst. Julian
Hallo Julian, am Montag, 20. Oktober 2003 um 19:32 Uhr schrieben Julian Pawlowski:
Hallo Jens!
Damit liegt dein Gateway aber in einem anderen Netzwerk. Ich glaub auch nicht, dass Rechner- Netzwerk- und Broadcastadresse das selbe sein sollten.
Laut Spezifikation nicht, da hast du vollkommen recht. Es ist jedoch möglich und in gewissen Situationen durchaus sinnvoll. Bei mir ist diese Situation ein dedizierter Server bei einem Webhoster.
Habe ich aber auch entsprechend angemerkt:
Habe ich ja auch gelesen, aber sauber ist Deine Lösung deswegen immer noch nicht.
Als Netzwerktechniker stimme ich dir da vollkommen zu (jedenfalls fast, deine Bezeichnung ist nicht ganz korrekt, da es hier hauptsächlich um die Netzmaske und nicht um die IP-Adresse geht; die Netzmaske bestimmt ja die Netzwerk- und Broadcast-Adresse),
Eigendlich teilt die Netmask die IP-Adresse in Netzwerk- und Rechneradresse.
wobei dein "muss" relativ ist ;-)
und damit steht das "muss" für die mindestens 2 Bit auch fest. Denn ohne diese hat dein Netzwerk und dein Rechner nicht je eine eindeutige Adresse.
Die Spezifikation ist hier das, auf was man sich geeinigt hat. Abweichungen in der von mir beschriebenen Form ist jedoch IMHO als hausintern zu bezeichnen, da sich äußerlich keinerlei Veränderungen im Verhalten ergeben. (einzig und allein der gewünschte Effekt, die Broadcast-Domänen zu trennen).
Intern ändert sich aber eine ganze Memge. Da dein Gateway nun in einem anderem Netz liegt brauchst du auf dem eigenem Rechner erst mal Route in dieses Netz. Und da gehen die Schwierigkeiten los, wie soll dein Rechner in dieses Netz Routen, wenn er nicht selbst in diesem Netz liegt? Du hast damit deinen Rechner abgekanzelt. Und es ist wohl auch nicht so gewollt. IMHO hat SUSE das bei seiner Konifiguration berücksichtigt.
Berichtige mich, wenn ich falsch liege.
Du hast vollkommen Recht, wenn du nach der Spezifikation gehst. Warum machst Du das denn nicht mit der 2 Bit Variante?
Julian
CU Jens Thieme -- www.jt-online.de ---Internetdienstleistung aus einer Hand---
Hallo Jens! Hm wie mir scheint konnte ich den meisten hier mein Anliegen/Problem immernoch nicht so genau vermitteln, wie es notwendig ist.
Habe ich ja auch gelesen, aber sauber ist Deine Lösung deswegen immer noch nicht.
Sagte ich ebenfalls ;-) Und auch noch mehr - lies meine Mails genauer.
Eigendlich teilt die Netmask die IP-Adresse in Netzwerk- und Rechneradresse.
Oder so.
Intern ändert sich aber eine ganze Memge. Da dein Gateway nun in einem anderem Netz liegt brauchst du auf dem eigenem Rechner erst mal Route in dieses Netz. Und da gehen die Schwierigkeiten los, wie soll dein Rechner in dieses Netz Routen, wenn er nicht selbst in diesem Netz liegt? Du hast damit deinen Rechner abgekanzelt. Und es ist wohl auch nicht so gewollt.
Ja hätte ich in der Tat. Der spezielle Routing-Eintrag verhindert das jedoch: ---schnipp--- neelix:/sbin # ifconfig eth0 Link encap:Ethernet HWaddr 00:01:29:22:3E:15 inet addr:12.34.56.90 Bcast:12.34.56.90 Mask:255.255.255.255 inet6 addr: XXXXXXXXXXXXXXXXXXXXXXX/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:13183 errors:0 dropped:0 overruns:0 frame:0 TX packets:4726 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:924487 (902.8 Kb) TX bytes:1984057 (1.8 Mb) Interrupt:11 Base address:0xb000 neelix:/sbin # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 12.34.56.65 12.34.56.90 255.255.255.255 UGH 0 0 0 eth0 0.0.0.0 12.34.56.65 0.0.0.0 UG 0 0 0 eth0 ---schnapp--- Die Abdrucke stammen direkt von einem laufenden, funktionierenden System.
IMHO hat SUSE das bei seiner Konifiguration berücksichtigt.
Nein, das Problem ist definitv nicht SUSE-spezifisch... Es hat meiner Analyse nach irgend etwas mit dem zu tun, wie /sbin/ip ein Interface bzw. das Routing einrichtet. Benutze ich /sbin/ifconfig händisch funktioniert das ganze problemlos. Klar kann ich auch erstmal eine andere Subnetzmaske für den Start setzen, um dann entsprechend durch ein Script zum Schluss die Einstellungen zu korrigieren: ---schnipp--- ifconfig eth0 12.34.56.90 netmask 255.255.255.255 route del -net 12.34.56.64 netmask 255.255.255.192 gw 12.34.56.65 ---schnapp--- Ich erhalte das oben von mir beschriebene Ergebnis, welches vollkommen richtig funktioniert und keinerlei Beeinträchtigungen verursacht. Btw: Eine solche Konfiguration benutzt Schlund+Partner/1und1 ebenfalls bei seinen root-Servern. Wie ich finde zu Recht. Schlaue Leuts da bei S+P. -------------------------------------------- Mich interessiert hier eigentlich nur, warum das ganze nicht mit /sbin/ip funktioniert! Ist das ein Fehler in diesem Programm? Im Handling des Kernels? Keine Ahnung, ich wüsste das nur gerne - vor allem auch, weil ich die oben beschriebene Lösung von mir nicht sehr elegant finde... Ursachenbekämpfung ist eben nicht wirklich gleich Problembeseitigung... Gruß Julian
Am Montag, 20. Oktober 2003 22:04 schrieb Julian Pawlowski: Es wäre nett, wenn Du Deine Vorredner leben lassen würdest. [Jens Thieme]
Intern ändert sich aber eine ganze Memge. Da dein Gateway nun in einem anderem Netz liegt brauchst du auf dem eigenem Rechner erst mal Route in dieses Netz. Und da gehen die Schwierigkeiten los, wie soll dein Rechner in dieses Netz Routen, wenn er nicht selbst in diesem Netz liegt? Du hast damit deinen Rechner abgekanzelt. Und es ist wohl auch nicht so gewollt.
Ja hätte ich in der Tat. Der spezielle Routing-Eintrag verhindert das jedoch:
---schnipp--- neelix:/sbin # ifconfig eth0 Link encap:Ethernet HWaddr 00:01:29:22:3E:15 inet addr:12.34.56.90 Bcast:12.34.56.90 Mask:255.255.255.255 inet6 addr: XXXXXXXXXXXXXXXXXXXXXXX/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:13183 errors:0 dropped:0 overruns:0 frame:0 TX packets:4726 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:924487 (902.8 Kb) TX bytes:1984057 (1.8 Mb) Interrupt:11 Base address:0xb000
Ich verstehe immer noch nicht, wie diese Netmask funktionieren soll. Du ordnest damit _jeden_ anderen Rechner einem anderen (nicht Deinem) Netzwerk zu. Damit willst Du _jede_ IP ausser der des lokalen Rechners routen. Dann muss Dein lokaler Rechner der Router sein. Du kannst dann (wie Jens schon schrieb) doch keine andere als Deine lokale IP als Router eintragen - er findet doch sonst das Gateway gar nicht (es liegt ja in einem anderen Netz). Wenn das tatsächlich irgendwo funktioniert (Netmask 32 Bit, eigene IP anders als die des Routers) würde ich das eher für einen Bug halten. Ich habe die RFCs nicht gefressen, aber ich habe es bisher immer so verstanden, dass zumindest ein Gateway im eigenen Netz hängen muss, damit Routing läuft.
Btw: Eine solche Konfiguration benutzt Schlund+Partner/1und1 ebenfalls bei seinen root-Servern. Wie ich finde zu Recht. Schlaue Leuts da bei S+P.
Naja, bei einem Provider mit mehreren zigtausend Servern mag Broadcast ein Bandbreitenproblem darstellen - in *normalen* Netzen wohl eher nicht. Ich habe so eine Konfig jedenfalls noch nicht gesehen. Jan P.S.: Ich würde mich an Deiner Stelle eher fragen, wieso solch eine Konfiguration läuft - sie ist IMHO nicht standardkonform, dann wäre das Programm, das so funktioniert, eigentlich Murks. Wieso gibt es Standards, wenn sich keiner dran hält? Das Subject ist also nach meiner Meinung falsch - denn SuSE läge nach meinem Erkenntnisstand goldrichtig, wenn sie so eine Konfig abweisen würden.
participants (3)
-
Jan.Trippler@t-online.de
-
Jens Thieme
-
Julian Pawlowski