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

suse 8.2 routing 2 subnetze 2 interfaces, IP_FORWARD="y

hallo leute, ich dreh hier noch am rad:
neuen suse 8.2 eingerichtet.

2 netzwerkkarten: *.*.1.200 und *.*.2.200 (netze also *.*.1.0 und *.*.2.0)
default router auf *.*.2.1 (ist'n externer router)

von diesem server aus erreicht man alle anderen pcs der angeschlossenen beiden netze klaglos.
nur leider erreicht kein pc aus netz *.*.2.0 andere aus 1.0 (und umgekehrt)

folgendes wurde bereits geprüft bzw.eingestellt:
in /etc/sysconfig/sysctl steht : IP_FORWARD="yes"
und um ganz sicher zu gehen:
>echo "1" > /proc/sys/net/ipv4/ip_forward

ergebnis: der suse server routed einfach nicht zwischen den beiden netzen !!

wo liegt hier der denkfehler bzw.....?

:evil:
 

Martin Breidenbach

Ultimate Guru
Nur zur Sicherheit:

Die *Client-PCs* haben als default gateway jeweils die entsprechende Netzwerkkarte des Linux-Rechners ?

Läuft auf dem Linux-Rechner eine Firewall ? Wenn ja, mal abschalten und kurz ohne testen.
 
OP
D

deppdoedel

Newbie
alle client-pcs erhalten durch dhcp (von diesem server) als default-gw die jeweilige netzwerkkarten-ip des servers.
es wurde auch schon versucht, die gw-ip fest vorzugeben.

firewall wurde bereits abgeschaltet.

gleiches ergebnis.

ich glaub schon ich spinn.
 

Martin Breidenbach

Ultimate Guru
<kopfkratz>

Kann man vom Client aus die 'andere' Netzwerkkarte im Linux-Rechner anpingen ?

Was für eine Fehlermeldung kommt denn beim PING ?

Zur Kontrolle sollte man vielleicht nochmal die Routingtabellen checken.

Unter W2K/XP kann man die mit 'route print' ausgeben. Unter Linux gehts ganz einfach mit 'route'.
 
OP
D

deppdoedel

Newbie
kopfkratz? meiner ist schon ganz kahl .....

ja, z.B. client *.*.1.130 kann "andere" netzkarte *.*.100.201 im server anpingen
keine fehler. ping erfolgreich. nur weitere rechner im fremdnetz sind nicht erreichbar/anpingbar


routing für windoof-rechner über dhcp:

DHCP aktiviert. . . . . . . . . . : Ja
Autokonfiguration aktiviert . . . : Ja
IP-Adresse. . . . . . . . . . . . : .*.*.1.130
Subnetzmaske. . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : *.*.1.201
DHCP-Server . . . . . . . . . . . : *.*.1.201

route auszugsweise:

Netzwerkziel Netzwerkmaske Gateway Schnittstelle
0.0.0.0 0.0.0.0 *.*.1.201 *.168.1.130


unter linux, hier als bsp. zweiter server:
route:
Destination Gateway Genmask Flags Metric Ref Use Iface
*.*.100.0 *.*.1.201 255.255.255.0 UG 0 0 0 eth0
*.*.1.0 * 255.255.255.0 U 0 0 0 eth0
default *.*.1.201 0.0.0.0 UG 0 0 0 eth0


eigentlich alles ok.
dennoch routed dieser server einfach nicht von *.*.1.0 nach *.*.2.0 (d.h. zwischen seinen eigenen beiden netzwerkkarten findet kein routing statt)

weitere ideen?
 
OP
D

deppdoedel

Newbie
nachtrag:

das routing soll also im server zwischen seinen beiden netzwerkkarten stattfinden.

alle clients kommen über das jeweilige server-interface in ihrer ip-range und sollen durch den server in das gegenüberliegende netz gerouted werden.

eigentlich ganz einfach, oder?
 

nny

Member
zu dem Thema gabs ja nun doch schon diverse postings...
http://www.linux-club.de/viewtopic.php?t=7791
vielleicht hilft das erstmal weiter...ansonsten mal die Suchfunktion bemühen.

ansonsten noch kleine Vermutung von mir...
am router:
modprobe ipt_MASQUERADE -> das sollte geladen sein !
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
(als root) die ip natürlich anpassen...
dann sollte das funktionieren.
nny
 

moenk

Administrator
Teammitglied
Das Problem scheint mir eher zu sein, das der Router (also Linux-Server) das schon alles richtig macht, meine Glaskugel ist grad nicht da, deswegen kann ich die Routing-Tabelle bei Dir nicht sehen. Die angeschlossenen Rechner kriegn meist eher den Rückweg nicht richtig hin sondern schicken direkt ans Gateway.
 
OP
D

deppdoedel

Newbie
@nny
für diese simple funktion des routing zwischen zwei netzen (karten auf ein und demselben server) wird kein ipt_MASQUERADE benötigt. wozu denn??
und eine ip-table brauche ich auch nicht zu bearbeiten - es läuft keinerlei firewall(-regel).

@moenk
wo macht der server es richtig? wie kann man dies feststellen, daß er (der sever) richtig routed?
den rückweg sollte der server definieren,nicht die clients....

die routen hatte ich weiter unten bereits auszugsweise angegeben.
 

Martin Breidenbach

Ultimate Guru
deppdoedel schrieb:
ja, z.B. client *.*.1.130 kann "andere" netzkarte *.*.100.201 im server anpingen

Dann stimmt schon mal seine default gateway Einstellung denn sonst wüßte er nicht wohin er das schicken soll ('no route to host' oder so käme da).

Das klappt auch in beide Richtungen ? Sorry wegen den blöden Fragen aber irgendwo steckt hier der Wurm drin und ich seh nicht wo...

deppdoedel schrieb:
den rückweg sollte der server definieren,nicht die clients....

Die Clients im 2. Subnet müssen wissen daß sie die Antwort-Pakete zum Server schicken müssen. Dafür ist ja deren default gateway Einstellung da.
 
OP
D

deppdoedel

Newbie
@martin

den wurm suche ich jetzt schon zwei tage, und ich glaub ich spinn.

default gw's stimmen für alle richtungen aller clients.
jeder client hat "sein" gw auf der jeweiligen netz-ip der range seines netzes auf dem server (*.*.1.* zum gw *.*.1.201, *.100.* zum gw 100.201)

und da alle clients normalerweise per dhcp ihre adresse und gw zugewiesen bekommen, sollte dieses routing eben - ganz einfach - auf dem server stattfinden.

dieser sollte eigentlich wissen, wie gerouted werden muß, um die pakete richtig zu verteilen.
 

nny

Member
ich kanns Dir nicht genau erklähren...
aber genauso hats bei mir auch getan

du kommst genau von jedem netz bis zum gateway des anderen netzes, und dann nicht weiter.
deshalb dann das nat routing machen...
ob du jetzt wie bei einem dsl router die pakete ins internet routest oder bei einem ethenet router in ein anderes netz bleibt sich ja im endeffekt egal.

nny
 
OP
D

deppdoedel

Newbie
@nny

>> du kommst genau von jedem netz bis zum gateway des anderen netzes, und dann nicht weiter.

stimmt.

>> deshalb dann das nat routing machen...

also ist das bearbeiten der ip-tables gleichzusetzen mit nat ??

>> iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

verständnisfrage:
also benötigt die ip-table zwei einträge (von 1.0 nach 2.0 und umgekehrt), damit jeder client aus jedem subnetz richtig gerouted wird ??
wie sollen - deiner meinung nach - denn diese (beiden) einträge aussehen?
so etwa als beispiel?
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
und
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.0/24 -j MASQUERADE
 

nny

Member
ich kann leider nur sagen: probiers einfach
es kann auch wirklich sein das ich falsch lieg, bei mir ist die situation auch ein kleinwenig anders.
ich hab noch ein altes bnc netz, den rechner im wohnzimmer wurde aufgrund vieler besucher mit laptop als ethernet router missbraucht.
Da hängt jetzt ein switch hintendran, und daran kann jeder sein lappie einbinden. Mein primäres Ziel war auch als erste nur vom neuen netz ins alte (bzw. auf den ftp server, der auch im bnc netz hängt zu gelangen) und bin bei meinen Bemühungen auch da hängen geblieben wo du gerade hängst, vom labtop war ein ping auf die gatewaykarte(192.168.1.1) und die andere möglich (192.168.0.2) weiter gings nicht. weder ftp noch dlsrouter geschweigedenn internet.
nach einigen fragen im channel war die oben beschriebene methode die lösung. Zugriff ins andere Netz war mögich + gleichzeitig hat auch noch der internetzugang gefunzt (wollte ich ja ursprünglich noch gar nicht ;)
Der Zugriff vom andern netz auf das labtopnetz ist natürlich nicht möglich.
Ich bin irgendwie auch der meinung das ein simples routen von einem netz ins andere nix mit masquerade zu tun hat, vielleicht reichen da schon einträge in die routingtable...
aber leider reicht da einfach mein wissen in dem Bereich noch nicht aus :( *lernen, lernen, lernen*
also ist das bearbeiten der ip-tables gleichzusetzen mit nat ??
so wie ich das hier: http://www.pl-forum.de/t_netzwerk/iptables.html#ToC16 gelesen habe ja
 

moenk

Administrator
Teammitglied
Für die Clients ist der Linux-Server das Gateway, das ist wichtig, sonst klappt der Rückweg nicht. Der schickts dann zum eigentlichen Router. Für jedes Netz kannst Du ein eigenes Gateway eintragen, das noch im eigenen Subnetz liegen muss. Und nun zeig mal Dein "route -n" und vor und schreib wie die Clients konfiguriert sind.
 
OP
D

deppdoedel

Newbie
gw für clients IST die "jeweilige" netzkarten-ip des subnetzes.

route -n vom server:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
*.*.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
*.*.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
das definierte gw dieses servers ist ein einfacher router ins internet.

die clients bekommen ihre ip vom dhcp des servers in ihrem jeweiligen subnetz und haben als gw die jeweilige netzkarten-ip des servers.
bsp.:
client *.*.1.50 hat gw *.*.1.201
client *.*.2.50 hat gw *.*.2.201

eigentlich ganz einfach.
 
OP
D

deppdoedel

Newbie
habe jetzt noch zwei zusätzliche routen auf dem server eingetragen:

192.168.1.0 / 192.168.1.201 / 255.255.255.0 / eth0 -
192.168.2.0 / 192.168.2.201 / 255.255.255.0 / eth1 -

funktioniert leider immer noch nicht.
kein client kann einen im anderen subnetz anpingen.

ideen? vorschläge?
 

moenk

Administrator
Teammitglied
Auf dem Server musst Du nix besonderes eintragen. Der macht das schon richtig wenn er routen darf. Nur der kennt den Router und die beiden Netze. Die beiden Netze wissen nix von einander, für die ist der Server das Gateway. Ist das so? Dann funktioniert das auch.
 
OP
D

deppdoedel

Newbie
moenk schrieb:
Auf dem Server musst Du nix besonderes eintragen. Der macht das schon richtig wenn er routen darf. Nur der kennt den Router und die beiden Netze. Die beiden Netze wissen nix von einander, für die ist der Server das Gateway. Ist das so? Dann funktioniert das auch.

noch mal zusammenfassend - um es verständlich zu machen.
- 2 subnetze (1.x und 2.x) - server hat daher 2 netzkarten mit 2 ips (bsp. 1.200 und 2.200)

angeschlossene clients sollen clients aus dem anderen subnetz sehen und erreichen können.

der server routed einfach nicht zwischen seinen beiden netzwerkkarten.
die subnetze sind jeweils isoliert.
d.h. der server ist der router mit den 2 netzkarten als gw's für die angeschlossenen clients.

dies funktioniert nur leider nicht, wie es soll.
 
Oben