[GELÖST] Routingprobleme

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

[GELÖST] Routingprobleme

Beitrag von Nelson » 19.11.2009 09:49:37

Hallo,

ich komme nicht ganz mit dem Routing ins Internet klar bei Maschinen, die hinter einer Firewall/Gateway stehen.
Folgendes Szenario:

1 Speedport W701 mit einer festen externen IP und der internen IP 192.168.2.1
Leitet die Ports 80, 143, 25 an 192.168.2.2 per NAT weiter.

Jetzt folgt die Firewall mit den IP's 192.168.2.2 und 192.168.0.1 und der Routingtabelle

Code: Alles auswählen

Ziel                 Router            Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0            255.255.255.0   U      0        0        0 eth1
192.168.0.0     192.168.0.1     255.255.255.0   UG    0        0        0 eth2
0.0.0.0            192.168.2.1     0.0.0.0             UG     0        0        0 eth1
Hier habe ich vorerst die Firewall (Shorewall) abgeschaltet.
Und ich kann in alle Richtungen die Hosts anpingen, also
ping -c3 http://www.google.de und ping -c3 192.168.0.102
gehen beide gleichermassen gut.

Wenn ich mich jetzt auf 192.168.0.102 setze und von dort aus die zwei IP-Adressen der Firewall anpinge
ping -c3 192.168.0.1 und ping -c3 192.168.2.2
habe ich keine Probleme. Die fangen an, wenn ich die IP-Adressen des Speedports anpinge oder http://www.google.de

Code: Alles auswählen

ping -c3 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.

--- 192.168.2.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2016ms

Code: Alles auswählen

ping -c3 218.82.181.15
PING 218.82.181.15 (218.82.181.15) 56(84) bytes of data.

--- 218.82.181.15 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2016ms

Code: Alles auswählen

ping -c3 www.google.de
ping: unknown host www.google.de
Die Routingtabelle von 102 sieht so aus:

Code: Alles auswählen

Ziel            Router          Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
Und wenn ich auf 102 die Default-Route auf 192.168.2.1 legen will sehe ich das

Code: Alles auswählen

route del default gw 192.168.2.1 netmask 0.0.0.0
route add default gw 192.168.2.1 netmask 0.0.0.0
SIOCADDRT: Kein passender Prozess gefunden
Auch wenn ich auf 102 noch die Route nach 192.168.2.0 hinzufüge

Code: Alles auswählen

route add default gw 192.168.2.1 netmask 0.0.0.0

Code: Alles auswählen

Ziel            Router          Genmask         Flags Metric Ref    Use Iface
192.168.2.0     192.168.0.1     255.255.255.0   UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
erreiche von diesem Host nicht den Speedport oder das Internet nicht.

Jetzt ist meine Frage, warum kann dieser Rechner nicht über das Gateway hinauskommen, obwohl es an der Firewall es geht? IpTables ist momentan nicht eingeschaltet auf der Firewall, womit das nicht das Problem sein könnte. Ich glaube eher, daß ich beim Routing ein bisschen geschlampt habe.

Viele Grüße

Nelson
Zuletzt geändert von Nelson am 25.11.2009 12:54:19, insgesamt 1-mal geändert.
Openness prevails!
LINUX
Where open minds meet!

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

Re: Routingprobleme

Beitrag von DynaBlaster » 20.11.2009 00:28:41

Dein Problem ist vermutlich die fehlende Route auf dem Speedport für das Netz 192.168.0.0/24 über 192.168.2.2.

Du musst also entweder auf der Firewall alle Pakete aus dem Netz 192.168.0.0/24 auf 192.168.2.2 umsetzen (SNAT bzw. MASQERADING) oder du konfigurierst eine statische Route (siehe oben) auf dem Speedport. Ich würde letzteres bevorzugen, weiss aber nicht, ob man bei den Speedport-Dingern statische Routen konfigurieren kann.

Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

Re: Routingprobleme

Beitrag von Nelson » 20.11.2009 15:00:20

Hallo DynaBlaster,

leider kann man auf dem Speed-port nichts großartig einstellen. Aber ein Kollege hat sich die Routingtabellen mal angesehen, die scheinen so in Ordnung zu scheinen. Ich glaube nämlich das Problem liegt bei meinem enttäuschten Vorgängern. Die Firewall (192.168.0.1) hatte nämlich am Montag genau dasselbe Phänomen gezeigt. Die gerade bis zum Speedport, aber nicht zur externen Ip-Adresse des Speedports. Dann hat einer am Bios die Einstellung der Onboardkarte verändert (von Off noch ...PXE...) und Debian Lenny neu aufgespielt. Seitdem geht das Routing von der Firewall aus. Das klingt komisch, ich weiß,

Ich habe mir das mit dem NAT noch einmal vertraut gemacht und bin der Meinung, das brauche ich dann, wenn ich explizit einen Webserver in 192.168.0.0/24 stehen habe, der auf Port 80 lauscht. So etwas ist später auch vorgesehen. Jetzt stehen in 192.168.0.0/24 nach der Firewall nur Maschinen, die erstmal mit dem Internet reden sollen, um Debian-Pakete zu installieren.
Aber selbst wenn ich die Shorewall stoppe, funktioniert das Routing nicht.

In einem anderen Netzwerk habe ich ebenfalls einen Speedport (intern 192.168.1.1, extern DynDNS) direkt an einen Linksys-Router mit DD-WRT (192.168.0.1, 192.168.1.2 und 192.168.2.1) angeschlossen. Wie ihr seht hängt an dem nicht nur das Netzwerk zum Speedport, sondern auch die zwei Netzwerke 192.168.0.0/24 und 192.168.2.0/24. Die Routingtabelle von dem Linksys-Router sieht so aus

Code: Alles auswählen

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 vlan2
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 vlan1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 br0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 br0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 vlan1
Das Resultat ist, dass alle Rechner aus den beiden Netzwerken bequem über den Speedport hinweg ins Internet kommen. Dagegen in der beschriebenen Situation habe ich nur zwei Netzwerke und das Routing geht bei nahezu gleicher Struktur der Routingtabelle nicht.

Grüße

Nelson
Openness prevails!
LINUX
Where open minds meet!

Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

Re: Routingprobleme

Beitrag von Nelson » 25.11.2009 12:53:51

Ich setze mal wieder die Lösung des Problemes für alle Anderen hinein.
Tatsächlich können die Speedports nicht sonderlich viel leisten, ergo kann ich hier auch keine statischen Routen setzen. Allerdings sollte Masquerading in etwa in dieser Form geschaltet werden. Insoweit hat der Kollege recht mit seinen Argumenten.

Code: Alles auswählen

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Ich selber setze auf der Firewall die Shorewall, ein Frontend für IPTABLES ein (http://www.shorewall.net/). Hier muß in meinem Fall in der Datei
/etc/shorewall/masq folgender Eintrag stehen:

Code: Alles auswählen

#INTERFACE              SOURCE          ADDRESS         PROTO   PORT(S) IPSEC   MARK
eth1                    192.168.0.0/24
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
Desweiteren muss "modules" anpasst an den laufenden Kernel in /etc/shorewall/ liegen. Sollen spezielle Ports an Server geforwardet werden, so wird das in meinem Fall in der /etc/shorewall/rules so verankert:

Code: Alles auswählen

#############################################################################################################
#ACTION         SOURCE          DEST            PROTO   DEST    SOURCE          ORIGINAL        RATE            USER/   MARK
#                                                       PORT    PORT(S)         DEST            LIMIT           GROUP
...
DNAT            net             loc:192.168.0.102:80    tcp     80
DNAT            net             loc:192.168.0.101:143   tcp     143
DNAT            net             loc:192.168.0.101:25    tcp     25
##LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Dann wird die Shorewall mit

Code: Alles auswählen

shorewall restart
neugeladen. Das war alles. Und die Shorewall ist wirklich bedienungstechnisch dem reinen IPTABLES vorzuziehen. Kann ich nur weiter empfehlen.

Viele Grüße

Nelson
Openness prevails!
LINUX
Where open minds meet!

Antworten