• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

11.4 persistente Route da, aber zieht nicht

fuzzy

Newbie
Hallo.

Ich habe ein Verhalten mit openSuSE 11.4, welches ich nicht verstehe:

Der Rechner bezieht seine Netzwerkeinstellungen per DHCP. Im YaST ist zusätzlich eine statische Route zu einem anderen Netzwerk konfiguriert und auch im YaST-Interface sichtbar.
Wenn der Rechner bootet, bezieht er seine Einstellungen korrekt. Jedoch die Eingabe von:
ip route show
zeigt die im YaST konfigurierte statische Route nicht an. Wenn ich jetzt ins YaST gehe, die Netzwerkeinstellungen anwähle und einfach nur "OK" klicke - ohne etwas zu ändern - läuft SuSE-Config und all die anderen Tools durch. Danach ist per
ip ro sh
die Route sichtbar und aktiv.

Ich möchte natürlich erreichen, dass die betreffende Route ohne manuellen Eingriff beim Booten verfügbar ist.

Kann das jemand nachvollziehen bzw. hat jemand einen Ratschlag?

Danke.
-fuz
 

spoensche

Moderator
Teammitglied
Existiert bei dir die Datei /etc/sysconfig/network/routes? Wenn ja poste mal bitte den Inhalt der Datei. Für das Posten von Ausgaben und Befehlen bitte die "
Code:
" Tags verwenden.
 
OP
F

fuzzy

Newbie
Hallo.

Das ist der Inhalt der Datei:
Code:
192.168.101.0 192.168.1.37 255.255.255.0 eth0 
default 192.168.1.1 - eth0
Das entspricht auch dem, was erreicht werden soll.
Auch mit /sbin/route wird die erste Route nicht in der Ausgabe angezeigt...
 

spoensche

Moderator
Teammitglied
/sbin/route ist veraltet. Stattdessen wird
Code:
ip route show
verwendet. Poste mal bitte die Ausgabe dieses Befehls. Warum konfigurierst du die statische Route nicht am default Gateway? Wäre einfacher.
 
OP
F

fuzzy

Newbie
spoensche schrieb:
/sbin/route ist veraltet.
Ich weiß, deswegen hatte ich ja im ersten Beitrag geschrieben, dass ip ro sh die Route nicht anzeigt. Tut's übrigens immer noch nicht.

spoensche schrieb:
Warum konfigurierst du die statische Route nicht am default Gateway? Wäre einfacher.
Das könnte man machen - auf 192.168.1.1 die Route nach 101.0 via 1.37 posten... und wenn das ein 11.4 ist: Habe ich dann das gleiche Problem?

Mir wäre eine Lösung lieber als ein Workaround.

Kann sich niemand vorstellen, wo das Problem liegt? Mir geht's bei der Sache auch um einen tieferen Sinn. Ich muß mit dem SuSE leben, auch wenn ich davon nicht sonderlich begeistert bin, weil ich die Erfahrung machte, dass alles, was nicht über YaST konfiguriert wird dort hin und wieder für Fehler sorgt, die maximale Freude bereiten und super einfach zu finden sind, weil irgendein SuSE-Tool die nicht mitbekommt und nicht richtig wegschreiben kann. Jetzt habe ich das Phänomen zur Abwechslung mal andersrum und versuche aus genannten Gründen herauszufinden woran es liegt.

-fuz
 

spoensche

Moderator
Teammitglied
Statische Routen auf dem Gateway (ein Gateway ist ein Router) ist kein Workaround. Ein Router ist genau dafür vorgesehen und das ist auch der Sinn eines Routers. Du brauchst dann auch die 1.37 nicht mehr als Gateway.

fuzzy schrieb:
Das könnte man machen - auf 192.168.1.1 die Route nach 101.0 via 1.37 posten... und wenn das ein 11.4 ist: Habe ich dann das gleiche Problem?

Wenn du die Route auf dem Router einrichtest, dann brauchst du die 1.37 nicht als Gateway.

fuzzy schrieb:
Mir geht's bei der Sache auch um einen tieferen Sinn. Ich muß mit dem SuSE leben, auch wenn ich davon nicht sonderlich begeistert bin, weil ich die Erfahrung machte, dass alles, was nicht über YaST konfiguriert wird dort hin und wieder für Fehler sorgt, die maximale Freude bereiten und super einfach zu finden sind, weil irgendein SuSE-Tool die nicht mitbekommt und nicht richtig wegschreiben kann. Jetzt habe ich das Phänomen zur Abwechslung mal andersrum und versuche aus genannten Gründen herauszufinden woran es liegt.

Yast verwendet für die Konfiguration auch nur die Dateien unter /etc/sysconfig, die ohne weiteres auch mit einem Editor bearbeiten kann, ohne das dies zu Problemen führt.

fuzzy schrieb:
Mir geht's bei der Sache auch um einen tieferen Sinn.

Genau den will ich dir vermitteln bzw. dich dorthin bringen. Daher auch Hinweis, dass die Route nur dem Gateway bekannt sein muss und nicht den Clients.

Wie viele Netzwerkschnittstellen hat dein Gateway?

Routen Beispiel auf dem Router:
192.168.1.0/24 dev eth0 scope=link src 192.168.1.1
192.168.101.0/24 dev eth1 scope=link src 192.168.101.1

Routen Beispiel Client (IP: 192.168.1.4):
192.168.1.0/24 dev etho scope=link src 192.168.1.4
default via 192.168.1.1 dev eth0
 
OP
F

fuzzy

Newbie
Erstmal danke für Deine Mühe. Ich habe verstanden. Ich muß klären, ob es Intention ist, dass die Routen nur auf 3 Rechnern eingetragen sind. Jedenfalls funktioniert keiner dieser 3, die alle 11.4 installiert haben insofern, dass sie die statischen Routen beim booten ziehen.

Hier die Daten des Routers:

Code:
firenix:~ # ip ro sh
10.8.0.2 dev tun0  proto kernel  scope link  src 10.8.0.1 
195.xxx.xxx.yyy/28 dev eth0  proto kernel  scope link  src 195.xxx.xxx.xxx 
192.168.3.0/24 dev eth0  proto kernel  scope link  src 192.168.3.1 
10.8.0.0/24 via 10.8.0.2 dev tun0 
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.1 
169.254.0.0/16 dev eth0  scope link 
127.0.0.0/8 dev lo  scope link 
default via 195.xxx.xxx.zzz dev eth0


Code:
firenix:~ # ip ad sh
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0e:0c:36:8c:ce brd ff:ff:ff:ff:ff:ff
    inet 195.xxx.xxx/28 brd 195.xxx.xxx.xxx scope global eth0
    inet 192.168.3.1/24 brd 192.168.3.255 scope global eth0:FWB1
    inet6 fe80::20e:xxx:xxxx:xxxx/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0c:76:94:62:fe brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1
    inet6 fe80::20c:xxx:xxxx:xxxx/64 scope link 
       valid_lft forever preferred_lft forever
4: sit0: <NOARP> mtu 1480 qdisc noqueue 
    link/sit 0.0.0.0 brd 0.0.0.0
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/[65534] 
    inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
 

spoensche

Moderator
Teammitglied
Da lässt sich doch mit arbeiten.

fuzzy schrieb:
dass die Routen nur auf 3 Rechnern eingetragen sind. Jedenfalls funktioniert keiner dieser 3, die alle 11.4 installiert haben insofern, dass sie die statischen Routen beim booten ziehen.

Wieso die Routen auf 3 Rechnern eintragen? Die Routen müssen nur auf dem Router eingetragen sein und sonst auf keinem anderen Rechner.

Wenn ein Client aus dem 192.168.1.0/24 Netz auf einen Rechner im 192.168.3.0/24 zugreifen will fragt er den Router, ob er weiss, wie man dort hin kommt. Der Client kennt die Route selber nicht.

Der Router sieht in seinen Tabellen nach, ob er eine Route in das 168.3.0/24 Netz hat. Der Router findet die Route in der Tabelle und forwarded (weiterleiten) den Verkehr von dem Client in das 192.168.3.0/24 Netz und der Client kann dann mit dem Rechner aus 3.0/24 Netz kommunizieren.

Die Routingtabelle des Router ist so in Ordnung.

Hast du die SuSEfirewall aktiviert?
 
OP
F

fuzzy

Newbie
spoensche schrieb:
Die brauchst du aber fürs Routing und Masquerading (für Internet).

Du hast mich nach der SuSE-Firewall gefragt. Die ist deaktiviert. Das heisst aber nicht, dass auf dieser Box keine Firewall am Start ist. Es gibt dort ein umfangreiches Firewallscript, erstellt mit FWBuilder.

spoensche schrieb:
Deswegen lief es bei dir bis jetzt auch noch nicht.
Das verstehe ich nicht. Vielleicht kannst Du mein Anliegen nochmals kurz lesen. Ich habe nicht geschrieben, das das Natting nicht funktioniert, vielmehr möchte ich in das interne Netzwerk 192.168.101.0/24 routen von dem internen Netzwerk 192.168.1.0/24 aus. Die 192.168.1.1 hat obige Konfiguration. Ich möchte nicht nach 192.168.3.0/24 routen, sondern nach 192.168.101.0/24.

Es gibt diesen Rechner 192.168.1.37, der zwei Interfaces hat, nämlich eines mit der 192.168.1.37 und eines mit der IP 192.168.101.37. Der Router mit der IP 192.168.1.1, für den Du den Eintrag der Route vorgeschlagen hast, hat kein Interface in dem 101er Netzwerk. Also müßte er jede Anfrage an Router 192.168.1.37 delegieren.

Hälst Du unter diesen Gegebenheiten es für sinnvoll, die Route auf der 192.168.1.1 einzutragen?
 

spoensche

Moderator
Teammitglied
Es ging mir nicht nur ums Natting. Wenn du die default Forward Policy auf DROP hast und nicht explizit das Forwarding zwischen den beiden Netzen erlaubt hast, dann wird das Routing nicht funktionieren. Damit überhaupt geroutet wird muss auch /proc/sys/net/ipv4/ip_forward = 1 sein.

fuzzy schrieb:
Es gibt diesen Rechner 192.168.1.37, der zwei Interfaces hat, nämlich eines mit der 192.168.1.37 und eines mit der IP 192.168.101.37. Der Router mit der IP 192.168.1.1, für den Du den Eintrag der Route vorgeschlagen hast, hat kein Interface in dem 101er Netzwerk. Also müßte er jede Anfrage an Router 192.168.1.37 delegieren.

Es ist egal, ob der 1.37 zwei Interfaces hat oder nicht. Der hat nicht zu Routen, weil er kein Router ist. Dafür hast du ja den Router im Netz.

fuzzy schrieb:
Hälst Du unter diesen Gegebenheiten es für sinnvoll, die Route auf der 192.168.1.1 einzutragen?

Es ist nicht nur Sinnvoll, die Route gehört auch auf den Router und nicht auf einen einzelnen Rechner.

Lass mal das Script von http://www.linux-tips-and-tricks.de/index.php/Netzwerktoolsrepository/View-category.html?ascdesc=DESC&orderby=dmdatecounter auf dem Router laufen und poste mal die Ausgabe.
 
OP
F

fuzzy

Newbie
spoensche schrieb:
Es ging mir nicht nur ums Natting. Wenn du die default Forward Policy auf DROP hast und nicht explizit das Forwarding zwischen den beiden Netzen erlaubt hast, dann wird das Routing nicht funktionieren. Damit überhaupt geroutet wird muss auch /proc/sys/net/ipv4/ip_forward = 1 sein.

Spoensche, Ausgangspunkt meines Problems war der Umstand, dass eine Route nicht persistent gemacht werden konnte. Ich schrieb, dass nach erneutem Ausführen von SuSE-Config und dgl. alles funktioniert. Mir ist klar, dass daran noch ein paar andere Voraussetzungen geknüpft sind, z. B. die, die Du oben aufführst. Wenn es jedoch funktioniert, nachdem dem Kernel die Route bekannt gemacht wurde, heißt das auch implizit, dass die o. g. Voraussetzungen vorliegen um das Routing korrekt durchzuführen. Es fehlt eben einfach nur die Route, die der Kernel beim Booten nicht untergeschoben bekommt.

Sorry, nicht böse sein, aber das Script werde ich auf dem Rechner nicht ausführen, da mir das zu umfangreich ist um es vorher auf Schadcode oder andere Szenarien zu prüfen, die ich dort nicht gebrauchen kann.

Wenn wir das von Dir vorgeschlagene Szenario anwenden würden, wie würde dann Dein Eintrag in der Routingtabelle auf dem default gateway 192.168.1.1 lauten um den Rechnern aus 192.168.1.0/24 den Weg nach 192.168.101.0/24 zu weisen, wenn der einzige Weg nach 192.168.101.0/24 über 192.168.1.37 führt?

Danke.
-fuz
 

framp

Moderator
Teammitglied
fuzzy schrieb:
...Sorry, nicht böse sein, aber das Script werde ich auf dem Rechner nicht ausführen, da mir das zu umfangreich ist um es vorher auf Schadcode oder andere Szenarien zu prüfen, die ich dort nicht gebrauchen kann...
Das Script sammelt nur eine Menge Infos und es werden garantiert keine Änderungen am System vorgenommen. Auch kannst Du es als normeler User - also nicht als root aufrufen. ;)
 

spoensche

Moderator
Teammitglied
Du baust dir mit der statischen Route auf einem Rechner nur unnötige Fehlerquellen und Chaos ins Netz ein, obwohl der Router schon passende Route in seiner Tabelle hat.
Da du ja nicht bereit bist das Script, was nur Informationen sammelt, die hilfreich für Problemlösungen sind, mal laufen zu lassen, kein Interesse an einer ordentlichen Umsetzung hast und meine Erklärungen und Hinweise etc. ignoriert werden kannst du dir das ganze dann selbst erlesen.

Siehe dazu:
Code:
man 5 routes
Da gibt es genug Beispiele.
 
OP
F

fuzzy

Newbie
spoensche,

zu Deiner Antwort nur soviel: Wenn Du zukünftig ein Beispiel für einen wirklich schlecht moderierten Thread, suchen solltest, dann nimm diesen hier. Hut ab vor dieser Glanzleistung.

Weiter kommentieren möchte ich das, was Du hier geschrieben hast, nicht.

-fuz
 
Oben