Netzwerkproblem debian zwischen zwei Netzen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Dragon2000
Beiträge: 62
Registriert: 06.09.2004 17:20:16
Wohnort: Darmstadt
Kontaktdaten:

Netzwerkproblem debian zwischen zwei Netzen

Beitrag von Dragon2000 » 25.08.2006 14:58:33

Hallo,

ich bin mit meinem debian rechner in dem Netzwerk: 192.168.3.*
(Meine IP 192.168.3.92, eth0)
Die zweite Karte eth1 hat die IP 192.168.4.1

Der daran angeschlossene Rechner hat die IP 192.168.4.92 (2 Bertiebssysteme WinXP und debian, Laptop)

Die Netmask ist in beiden Fällen 255.255.255.0

Von debian aus komme ich in beide! Netze, ich kann auf freigaben zugreifen etc.
Vom Laptop aus sehe ich den debian Rechner, kann auf Freigaben zugreifen etc.
nur weiter als bis zum debian Rechner komme ich nicht, also vom 192.168.4.* Netz ins 192.168.3.* Netz.

Ich habe mich u.a. an den WiKi Text: http://wiki.debianforum.de/ChecklisteNe ... etprobleme
gehalten, stecke aber bei diesem Problem fest.

Die anderen Ratschläge hier im forum habe ich auch schon mal ausprobiert, ohne so recht zu wissen, was sie tun..... ähm, naja...

Vllt. hilft diese Infos weiter zur Fehlersuche?
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.4.0 * 255.255.255.0 U 0 0 0 eth1
192.168.3.0 * 255.255.255.0 U 0 0 0 eth0
default rpf.nassovia.de 0.0.0.0 UG 0 0 0 eth0

Code: Alles auswählen

echo "1" > /proc/sys/net/ipv4/ip_forward
habe ich auch schon mehrmals ausgeführt.

Ich benutze einen Standartkernel.


Mir gehen so langsam die google- Stichwörter aus, da ich auch nicht so genau weiß, wo und was ich suchen muß, bzw. wo der Fehler liegt.

Kann mir jemand helfen?
Am besten mit eínem Tipp, wie ich zu mindest vom Laptop über den debian rechner in das höhere Netz komme?

Gruß und danke
Dragon

Edit by Snoopy:
Tags für die Leserlichkeit eingefügt.

mr.roboto
Beiträge: 7
Registriert: 11.08.2006 16:44:46

Beitrag von mr.roboto » 25.08.2006 16:22:04

Wenn ich es richtig verstanden habe sitzte ich im Moment vor dem selben Problem.

Seit ich bei mir

Code: Alles auswählen

iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
eingeben habe funktioniert es auch.
Ich bin mir aber nicht sicher warum ich gerade diesen Eintrag brauche und wäre dankbar wenn vielleicht jemand das erklären könnte.

Mein Netz sieht gerade so aus:
[Internet]---[Eumex-Router]---[eth0[Debian]eth1]---[WindowsXP]

Eumex-Router = 192.168.0.1
eth0 = 192.168.0.60
eth1= 192.168.1.1
WinXP = 192.168.1.25

Routing-Tabelle

Code: Alles auswählen

Ziel            Router          Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
default         eumex.ip        0.0.0.0         UG    0      0        0 eth0

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 26.08.2006 12:46:00

mr.roboto hat geschrieben:Wenn ich es richtig verstanden habe sitzte ich im Moment vor dem selben Problem.
Seit ich bei mir "iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE" eingeben habe funktioniert es auch.
Ich bin mir aber nicht sicher warum ich gerade diesen Eintrag brauche und wäre dankbar wenn vielleicht jemand das erklären könnte.
Dieses iptables-Kommando sorgt dafür, das der Debian-Rechner alle Pakete, die aus dem Netz, welches über eth1 angebunden ist, und in das Netz, welches an eth0 hängt, gehen "maskiert" werden. D.h. der Debian-Rechner verändert die Pakete so, daß sie als Quell-IP die IP von eth0 des Debian-Rechners erhalten. Für die Rechner im Netz von eth0 sieht es dann so aus, als ob die Anfragen vom Debian-Rechner kämen.

Das Problem, das ihr beiden beschreibt, ist kein Routing-Problem des Debian-Rechners - es ist ein Routing-Problem der Clients. Schaut euch mal die Routing-Tabellen der Win-XP-Rechner an, ihr werdet feststellen, daß sie im gleichen Netz wie eth0 vom Debian-Rechner sind. In "Mr. Roboto's" Szenario verweist das Default-GW aber bestimmt auf die Eumex, das hat zur Konsequenz, das Win XP alle Pakete, die nicht an 192.168.0.x gehen, an sein Standard-Gateway schickt (also die Eumex) - auch die Pakete für das Netz 192.168.1.x. Abhilfe schafft, den Debian-Rechner als Standard-Gateway bei WinXP einzutragen oder auf der Eumex eine Route ins Netz 192.168.1.x über den Debian-PC zu konfigurieren (,falls das Konfigurations-Webinterface so etwas vorsieht). Oder man maskiert mittels iptables alle Pakete von 192.168.1.x (s.o.)

mr.roboto
Beiträge: 7
Registriert: 11.08.2006 16:44:46

Beitrag von mr.roboto » 26.08.2006 13:58:35

Danke DynaBlaster - Problem gelöst.

Als Default-Gateway habe ich schon den Debian-Rechner eingetragen, jedoch wie Du schon sagtest, benötigte ich eine Route für den "Rückweg" von dem Eumex-Router ins 192.168.1.0er Netz.
Das mit dem Masquerading wäre allenfalls ein Workaround gewesen, wenn mein Router keine manuellen Routen akzeptiert hätte.

.. Man das hat mich eine Weile beschäftigt :wink:

Dragon2000
Beiträge: 62
Registriert: 06.09.2004 17:20:16
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von Dragon2000 » 28.08.2006 14:55:20

Danke für die Antwort, aber ich habe da immer noch ein großes ?

Ich stelle das Problem auch mal graphisch dar:
[netz:192.168.3.0]----[192.168.3.92 -eth0-[debian]-eth1- 192.168.4.1] -----[192.168.4.92 WinXP]

Wenn ich Dich richtig verstanden habe, sollte mein WinXP Rechner einen routing Eintrag mit 192.168.3.0 bekommen?

Denn das Ändern der IP 192.168.4.92 auf eine IP vom 192.168.3.* Netz führt zu nichts, es sei denn, ich hänge den WinXP Rechner direkt an das Netz an. Ich nehme mal 192.168.3.172, die ist gerade frei.
Ein Vergleich der routen vom XP-Rechner ergibt, daß sich alle Einträge von 192.168.4.92 auf 192.168.3.172 ändern.
Wenn ich den Rechner in das "2-er" Netz hänge ändert sich auch nur die betreffenden Einträge, aber es funktioniert auch.

Deswegen denke ich mal, daß ich durch meinen Debianrechner nicht durchkomme.

Gibt es da Kernelmodule einzuschalten?

Gruß
Dragon

Torben
Beiträge: 2
Registriert: 27.07.2003 17:34:47

Beitrag von Torben » 28.08.2006 18:11:36

Der WindowsXP - Recher kann die 192.168.4.92 IP behalten. Diesem Rechner musst du nun als Default-Gateway die IP des Debian-Rechners (der als Router dient) übermitteln. Und zwar die 192.168.4.1

Dann sollte das funktionieren!

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 28.08.2006 22:45:31

Der WindowsXP - Recher kann die 192.168.4.92 IP behalten. Diesem Rechner musst du nun als Default-Gateway die IP des Debian-Rechners (der als Router dient) übermitteln. Und zwar die 192.168.4.1
Genau ! Dann fehlt noch ip_forwarding, das du aber je bereits aktiviert hast:

Code: Alles auswählen

echo "1" > /proc/sys/net/ipv4/ip_forward
habe ich auch schon mehrmals ausgeführt.
2 möglich Probleme gibt es dann noch:

1. Ist eine Firewall auf dem Debianrechner installiert/aktiv ? Wird dort Traffic vom eth0 ins eth1-Netz evtl. geblockt

Code: Alles auswählen

iptables -L -n
2. Die PC's im Netz 192.168.3.0/24 nutzen nicht den Debian-Rechner als Standard-GW. Dann brauchen alle PC's im Netz 192.168.3.0/24 eine Route (über 192.168.3.92) ins Netz 192.168.4.0/24. Oder du maskierst den WinXP-Rechner mittels NAT - siehe Beiträge weiter oben im Thread.

Dragon2000
Beiträge: 62
Registriert: 06.09.2004 17:20:16
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von Dragon2000 » 28.08.2006 23:44:45

Punkt zwei trifft zu.
Ich werde es gleich mal ausprobieren

Danke
dragon

Dragon2000
Beiträge: 62
Registriert: 06.09.2004 17:20:16
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von Dragon2000 » 29.08.2006 00:07:54

Wie wäre denn der nötige Linux Befehl dazu? (schäm...)
Je läger ich darüber google, oder versuche mir man-pages anzueignen,
desto mehr Bahnhof verstehe ich.

PREROUTING / POSTROUTING ???

Der Befehl

Code: Alles auswählen

iptables -t nat -A POSTROUTING -s 192.168.3.0 -o eth0 -j MASQUERADE
ist es nicht

Gruß
D

Edit by Snoopy:
Tags für die Leserlichkeit eingefügt.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 29.08.2006 09:46:10

Aender doch mal das

Code: Alles auswählen

-s 192.168.3.0
in

Code: Alles auswählen

-s 192.168.3.0/24
.
Allerdings werden mit dieser Regel nur Pakete gemachted, die aus dem Netz 192.168.3.0 kommen.

Dragon2000
Beiträge: 62
Registriert: 06.09.2004 17:20:16
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von Dragon2000 » 12.09.2006 11:08:25

damit funktioniert zumindest smbtree. Aber auch nur in eine Richtung, (wie oben beschrieben)

Bevor ich die ganze Sache (für nen Jahr oder so) aufgebe,

wie stelle ich die iptables -Einträge wieder auf "Normalzustand"? Ich habe ja jetzt ganz schön darin rumgepfuscht... :-)

Und: gibt es nicht doch noch einen Möglichkeit, den debian-rechner so zu konfigurieren, evtl. mit zusatzprogrammen, daß er die Pakete durchleitet?


Gruß
Dragon

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 12.09.2006 11:24:14

Die Regeln setzt du mit

Code: Alles auswählen

iptables -F
zurueck. Fuer die NAT-Geschichte brauchts da glaube ich zusaetzlich auch noch ein

Code: Alles auswählen

iptables -t nat -F

Dragon2000
Beiträge: 62
Registriert: 06.09.2004 17:20:16
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von Dragon2000 » 12.09.2006 12:59:21

danke

Antworten