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

Linux-Server unter Suse-9.2 mit zwei Netzkarten?

uwe-mainz

Newbie
Guten Morgen Linux-Gemeinde,
ich hoffe Ihr könnt mir bei meinen kleinen Routing-Problem weiterhelfen.
Ich besitze hier zwei getrennte Netzwerke 192.168.22.x und 129.100.x.x
Beide Netze sollen miteinander kommunizieren. Deshalb habe ich einen Linux-Server unter Suse-9.2 mit zwei Netzkarten aufgesetzt. Jede Karte hat eine Adresse innerhalb eines der beiden Netze. An den Clients habe ich als Standardgateway jeweils die Adresse der "Server"-Netzkarte angegeben. Alle Clients können nun auch beide Netzkarten anpingen (192.168.22.10 + 129.100.22.10) nur einen PC dahinter sehen sie nicht mehr. Also z.B. ein Client mit der Adresse 192.168.22.31 kann jetzt auch 129.100.22.10 anpingen aber z.B. NICHT 129.100.22.76. Vom Server aus kann ich diesen aber anpingen. Es funktioniert auch nicht wenn ich die Susefirewall2 deaktiviere. In /etc/sysconfig/sysctl habe ich IP_FORWARD="yes" gesetzt.
Kann mir bitte Jemand noch einen Tipp geben.......

Viele Grüße
Uwe
 

gaw

Hacker
Zunächst einmal was ist ein Linux-Server? Dieser modische Ausdruck mit denen sich Anfänger oft profilieren möchten "ich kann Linux Server" geht einem ziemlich auf den Geist. Wenn man anfängt zu fragen was denn dieser Server anbietet, schauen die Leute sehr betreten und wissen nicht was sie antworten sollen. Naja die Siemens und IBM Werbung scheint zu wirken und ein Server scheint zum mystischen Etwas zu avancieren das eben einfach alles kann.

Ein Server im eigentlich Sinn ist kein Rechner sondern ein Dienst der im Hintergrund läuft und Anfragen von Clients abarbeitet. Oftmals wird der Rechner mit dem Dienst gleichgesetzt für den er primär konzipiert ist und wir reden von einem Datenbankserver, Fileserver, Webserver oder FTP-Server um nur einige zu nennen. Was aber die Leute meinen, wenn sie einen Linuxserver aufsetzen ist mir und wahrscheinlich den Probanden selbst äußerst schleierhaft.

Dein Rechner soll wohl eher ein Router sein. Zum Routen respiktive Weiterleiten muss man, wer hätte das gedacht - auch routen. Dazu sollte man ein paar Kenntnisse über IP besitzen. Das Netz mit der Nummer 129.100.0.0/16 gehört zu den öffentlichen Adressen und das Netz mit der Nummer 192.168.22.0/24 zu den privaten. Von daher ist ein Routen zwischen beiden Netzen ungewöhnlich. Im Internet werden Pakete mit privaten Adressen grundsätzlich nicht weitergeleitet.

Es stellt sich also die Frage ob das Netz 129.100.0.0/16 mit dem Internet verbunden ist. In diesem Fall sollte auf dem Linux-Router nicht nur das Forwarding eingeschaltet werden sondern auch das Masquerading Damit werden alle Pakete im privaten Netz maskiert, d.h. sie erhalten im IP-Header die öffentliche Adresse des Linuxrouters.
Vom 129.100.0.0/16 ner Netz aus betrachtet erscheint das private Netz so als ob alle Anfragen vom Router selbst stammen und es gar kein Netz dahinter gibt. Dazu muss in der SuSEFirewall auch das Masquerding eingeschaltet werden. Wenn man es kann geht das natürlich auch mit anderen Programmen beispielsweise direkt mit iptables und Einstellungen der Laufzeitparameter des Kernels.

Ist das 129.100.0.0/16 Netz nicht an das Internet angebunden lassen sich Standardrouten einrichten über die die Pakete weitergeleitet werden. Auch das zu muss das Forwarding eingeschaltet sein. Dazu braucht man aber nicht unbedingt die SuSEFirewall.
Es lässt sich auch mit dem Befehl
echo 1 > /proc/sys/net/ipv4/ip_forward
einrichten. Mit dem Befehl route oder ip auf dem Router lassen sich dann die Standdardrouten bearbeiten. "man ip" oder "man route" auf der Konsole eingegen helfen einem weiter, wenn man die Befehle nicht kennt.

mfG
gaw
 
OP
U

uwe-mainz

Newbie
Hallo GAW,
vielen Dank für Deine Antwort. Keines der Netze hat irgendeine Verbindung nach Außen (Internet). Das Netz 129.100.x.x ist vor vielen Jahren zur Verbindung von mehreren Geräten und PC's entstanden, da hat Niemand über öffentliche bzw. private Adressen nachgedacht. Das zweite Netz ist nicht ganz sooo alt und deshalb hat dieses vorsorglich einen privaten Adressbereich. Auf dem Router läuft gleichzeitig SAMBA um allgemeine Dokumente zu verteilen, deshalb nannte ich das gute Stück Server, sorry. Dank Deines Tips habe das Forwarding eingeschaltet und mal versucht zwei Routen einzutragen:
route add -net 192.168.22.0 netmask 255.255.255.0 dev eth1
route add -net 129.100.0.0 netmask 255.255.0.0 dev eth0
(eth0=129.100.22.10 / eth1=192.168.22.10)

Leider finden die Clients immer noch keine Rechner hinter den Netzkarten nur die Netzkarten selber.

Sorry wenn ich mich etwas umständlich anstelle

Viele Grüße
Uwe
 

gaw

Hacker
Wenn du mit statischen Routen arbeitest müssen diese auch auf den Clients eingetragen werden. Die Firewall solltest du zunächst abschalten um einer vernünftige Diagnose zu ermöglichen.
Welche Routen zeigt denn der Befehl route an?
(Client und router)

mfG
gaw

ps das "echo 1 > /proc/sys/net/ipv4/ip_forward" ist natürlich nach jedem Neustart wieder neu einzugeben. Später kannst du es in ein Script packen.
 
Oben