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

Probleme mit dem Routing

proflan

Newbie
Hallo zusammen,

meine Linuxbox läuft mit OpenSuse 10.2 und 2 Netzwerkkarten, an die ein Accesspoint (an eth0) und eine W-LAN Bridge angeschlossen ist (an eth1).

Client1 \
Client2--- AP <---> Linux-Box (Server) --- vpn tunnel -> Interent
Client3 /

Der Server selber hat einwandfreien Internetzugang. Problem: Weder der Accesspoint (AP), noch die Clients können auf das Internet zugreifen. Liegt es an den Routen des AP oder an denen des Servers (oder an beiden :)) - Würde mich über Tipps sehr freuen.


Details zur Konfiguration:

eth0, 192.168.178.11, Maske: 255.255.255.0
eth1, 10.10.10.10, Maske: 255.255.0.0
tun0, IP dynamisch, Maske: 255.255.255.255
Kernel IP routing table der Linux Box (Server)
Destination----Gateway----Genmask----Flags-Metric-Ref----Use----Iface
10.0.0.4----10.10.10.11----255.255.255.255-UGH-0-0----0----eth1
192.168.178.0----0.0.0.0----255.255.255.0 U 0 0 0 eth0
10.10.0.0----0.0.0.0----255.255.0.0 U 0 0 0 eth1
169.254.0.0----0.0.0.0----255.255.0.0 U 0 0 0 eth0
127.0.0.0----0.0.0.0----255.0.0.0 U 0 0 0 lo
0.0.0.0----0.0.0.0----0.0.0.0 U 0 0 0 tun0
Der Server baut automatisch über eth1 einen VPN Tunnel auf (tun0) und der Server hat lokal Internetzugang.

Der Accesspoint verwaltet die IP-Adressen der Clients (dhcp).
Als gateway ist auf AP und Clients jeweils 192.168.178.11 eingestellt.

Auf dem AP sind folgende Schnittstellen:
br0, 192.168.178.1, Maske: 255.255.255.0
vlan1, 192.168.178.2, Maske: 255.255.255.0
eth0
eth1
vlan0
lo

Das ist die routing Tabelle des AP:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.178.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
192.168.178.0 0.0.0.0 255.255.255.0 U 0 0 0 vlan1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.178.11 0.0.0.0 UG 0 0 0 vlan1
0.0.0.0 192.168.178.11 0.0.0.0 UG 0 0 0 br0

Ping funktioniert vom AP zum Server und umgekehrt.
 

teflon

Newbie
Hallo Proflan!

Irgendwie habe ich erst einmal ein grundsätzlichs Verständnisproblem.
Mit wem oder was baust Du denn den Tunnel???

Ist der Tunnel da, damit Du mal einen gebaut hast, oder hat der einen Zweck?
Ist der Tunnel zwischen Client und Linux-Server eventuell Sinnvoller?
Nur mal so für mich zum Verständnis.

Wenn Deine Linux-Box aufs Internet zugreifen kann, hast Du Dir das mal
mit einem tcpdump angeschaut? Nur damit Du siehst über welches Interface das geht?

Bitte prüfe Deine Firewall auf der Linux Box! Eventuell zum Test mal abschalten.

Gruß
Teflon
 
OP
P

proflan

Newbie
Hi Teflon, danke für Deine schnelle Reaktion :)
teflon schrieb:
Mit wem oder was baust Du denn den Tunnel???

Der Tunnel stellt die Internetverbindung her (mit vpnc) - ist also quasi das Tor zur Außenwelt ^^.

teflon schrieb:
Wenn Deine Linux-Box aufs Internet zugreifen kann, hast Du Dir das mal
mit einem tcpdump angeschaut? Nur damit Du siehst über welches Interface das geht?

Das läuft "ordnungsgemäß" über tun0->eth1

teflon schrieb:
Bitte prüfe Deine Firewall auf der Linux Box! Eventuell zum Test mal abschalten.

Die ist derzeit komplett abgeschaltet.
 
OP
P

proflan

Newbie
Liegt das möglicherweise daran, dass im folgendem Routing Eintrag bei "Flag" das G für Gateway fehlt? - also nur U, statt UG?:

0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 tun0
 

stummel

Hacker
proflan schrieb:
Als gateway ist auf AP und Clients jeweils 192.168.178.11 eingestellt.

Vorrausgesetzt ich verstehe deine Skizze richtig, muss auf den Clients die IP des AP als Gateway eingestellt werden, und auf dem AP die IP des Servers.
 
OP
P

proflan

Newbie
stummel schrieb:
Vorrausgesetzt ich verstehe deine Skizze richtig, muss auf den Clients die IP des AP als Gateway eingestellt werden, und auf dem AP die IP des Servers.

Dann müsste aber vom AP aus jetzt schon eine Verbindung möglich sein, oder?
 

stummel

Hacker
Wenn die Server-IP als GW eingetragen ist, ja. Vorrausgesetzt auf dem Server ist das "Forwarding" eingeschaltet.

Was ist denn dein "AP" überhaupt für ein "Teil"? Ist das auch ein Rechner? Ich blick da momentan nicht so ganz durch.
 
OP
P

proflan

Newbie
stummel schrieb:
Wenn die Server-IP als GW eingetragen ist, ja. Vorrausgesetzt auf dem Server ist das "Forwarding" eingeschaltet.
Was ist denn dein "AP" überhaupt für ein "Teil"?
Forwarding ist eingeschaltet, geht aber trotzdem nicht. AP ist ein Linksys Router - an dem scheint es nicht zu liegen, weil DNS Anfragen und Zugang der Clients via Proxy einwandfrei funktioniert (Auf dem Serve rläuft Squid und bind). D.h. Anfragen werden an den Server weitergeleitet.

Ich habe derzeit den Verdacht, dass es am Routing über das tun0 interface des Servers scheitert.

Routing Eintrag bei "Flag" fehlt das G - also nur U, statt UG:
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 tun0

Ich bekomms aber nicht hin, dass der Server Anfragen auf tun0 weiterleitet.
 

stummel

Hacker
proflan schrieb:
AP ist ein Linksys Router

Na dann ist ja gut das ich nachgefragt habe. Dann stimmt natürlich deine Skizze nicht. Der Server gehört dann in der Skizze zusammen mit den Clients auf die linke Seite, soll heissen an den Switch deines Routers. Dann ist natürlich die IP des Routers überall als Gateway einzutragen.

Und mal ehrlich gesagt, deinen Tunnel verstehe ich auch nicht. Wo ist denn das andere Ende des Tunnels? Wie Teflon schon fragte, zu was oder wem baust du überhaupt einen Tunnel auf.

Ehrlich gesagt verstehe ich jetzt dein ganzes Konstrukt nicht mehr.
 

teflon

Newbie
Hallo proflan!

Ich versuche einmal zu skizzieren wie ich !!!jetzt!!! die Konfiguration verstehe.

Client1 \
Client2----Wireless ----- AP/Router <---> Interent
Client3 /
Linux-Box---Kabel---vpn--/

Irgendwie bekomme ich die Leerzeichen für die Kabelverbindung der
Linux-Box in der 3.Zeile nicht hin. Soll aber per Kabel an den Router
angeschlossen sein.

Vielleicht kommt dies ja der Konfiguration näher als das Bild vorher.
Wenn dem so ist, dann müßten die Clients den Router als Gateway
haben.
Wie man dann dem Router erklären soll, daß der Traffic der Clients
zur LAN-Adresse der Linux Box gesendet wird, aber alles daß was aus
dem Tunnel fällt ins Internet, daß ist mir dann nicht so wirklich klar.

Eine Möglichkeit, wenn man das so machen möchte, wäre die Linux-Box
in ein extra Netz zu stecken.

Aber vielleicht habe ich es ja auch immer noch nicht richtig verstanden!?
Ausserdem ist mir in diesem Zusammenhang dann immer noch nicht klar,
wozu der Tunnel gut ist.

Wäre nett wenn Du uns den Hintergrund etwas erläutern wolltest.
Dann kann man das vielleicht besser verstehen.

Oder wir zäumen das Pferd ganz von Vorn auf und Du sagst was Du
eigentlich erreichen möchtest, so daß wir Dir dann Vorschläge machen
können.

Gruß
teflon
 
OP
P

proflan

Newbie
Nein, wir verstehen uns nicht so recht :)

Der Linksys Router ist nicht als DSL Router eingerichtet, sondern routet die Anfragen der W-LAN Clients an den Server. Außerdem kümmert er sich asl AP um dhcp. Der Server bezieht seine Internetverbindung über den VPN Tunnel (Verbindung mit einem anderen Netzwerk).

Ziel ist es, den Clients Internetzugang zur Verfügung zu stellen.
 

TomcatMJ

Guru
Hm, wenn ich das nun richtig verstehe, dann hat dein LWAN-Router genau null direkten Zugang zum Internet? Wenn dem so ist, musst du dem Router den Linux-Server als Defaultgateway nennen und der Linux-Server muss eine zweite Netzwerkkarte drin haben an dem ein DSL-Modem oder ein anderer Router hängt über die dann der Internet-datenverkehr abgewickelt wird.
Wenn dein WLAN-router jedoch auch den Internetzugangspunkt für den Linux-Server bildet, dann liegt dein problem im auf dem Router laufenden DHCP-Server, denn der kann nur ein Defaultgateway an die Clients melden, nämich sich selbst, und damit kann er nur noch das was er als Defaultgateway gemeldet bekommt selbst nutzen, und das meldet ihm dein Provider...das kannst du ohne Hardwareumstruturierung dann nur noch in den Griff kriegen, indem du die Defaultroute auf den Clients nicht per DHCP setzen lässt,denn sonst kriegst du nicht den Linux-Server als Defaultgateway gesetzt und den WLAN-Router nur als Route zum Linuxserver (der dann wiederum dann den WLAN als Defaultgateway ins Internet und zu allem anderen nutzen sollte)und der VPN-Tunnel wäre damit arbeitslos in deinem Netzwerk.
Ich weiss ja nicht weche Formware dein Linksys da nutzt, aber ich glaub mit OpenWRT müsstest du auf Shellebene im Router auch bei den Settings für feste IP-Zuordnung individuell ein Gateway per DHCP an den jeweiligen Client übergeben können das unabhängig vom Defaultgateway des Routers wäre und die gobalen DHCP-Optionen fürs Netz für genau den jeweiligen Host dann übergeht. Mit einem ISC-DHCPD auf einem normalen Linuxrechner kann man das jedenfalls global, pro Subnet, pro Host-Gruppe und pro einzelnen Host bei Bedarf getrennt einstellen...da ich jedoch keinen Linksys-Router (und somit auch kein OpenWRT) im Einsatz habe, weiss ich nun nicht genau ob der das auch so unterstützt, sondern vermute es nun einfach mal ;-)

Bis denne,
Tom
P.S.:Mal eine ganz blöde weil sehr simple Frage noch hinterhergeschickt: Hast du das Routing zwischen verschiedenen Interfaces auf dem Linux-Server überhaupt aktiviert?
 

teflon

Newbie
Hallo!
Hier nun der 3. Versuch:
Client1 \
Client2-- AP<=>eth0-Linux-eth1/tun1<=vpn=>RemVPN GW<=>Internet
Client3 /

Wenn dem nun so ist, dann sind folgende Gateways zu definieren

Node----------GW
------------------------
Client--------->AP
AP------------>Linux
Linux---------->RemVPNGW

Wobei eine Route zu setzen ist die besagt, daß RemVPNGW über tun1 zu erreichen ist. Dann schaust Du auf einem Client mit tracrroute wie weit Du kommst. !!! Routing abstände beachten !!!

Gruß
teflon
 
OP
P

proflan

Newbie
teflon schrieb:
Hallo!
Hier nun der 3. Versuch:
Client1 \
Client2-- AP<=>eth0-Linux-eth1/tun1<=vpn=>RemVPN GW<=>Internet
Client3 /
Routing abstände beachten !!!

Ja, genau so ist es aufgebaut :) - Der Linux Rechner selber kann auch Internet erreichen, nur die Clients nicht und der AP nicht. Die GAteways sind auch so eingestellt. Was sind denn "Routing Abstände" ? :) -evtl liegts daran.
 
OP
P

proflan

Newbie
TomcatMJ schrieb:
P.S.:Mal eine ganz blöde weil sehr simple Frage noch hinterhergeschickt: Hast du das Routing zwischen verschiedenen Interfaces auf dem Linux-Server überhaupt aktiviert?

Hi TomcatMJ
Wie kann ich das überprüfen?
 

teflon

Newbie
Hallo proflan!

Routingabstand ist nix anderes als unterschiedliche Netze.
Das bedeutet um wirklich zu routen müssen die beteiligten
Knoten in unterschiedlichen Netzen sein.

Noch einmal Deine Topologie:
Client1 \
Client2-- AP<=>eth0-Linux-eth1/tun1<=vpn=>RemVPN GW<=>Internet
Client3 /

Voraussetzung Dein Tunnel funktioniert.
Dann hier ein Beispiel:
Client x .............10.1.1.0 .......GW 10.1.1.254
AP Interface 1 ....10.1.1.254
AP Interface 2 ....10.1.2.1........GW 10.1.2.254
Linux eth0..........10.1.2.254
Linux eth1 .........10.1.3.1 .......GW 10.1.3.254
RemVPNGW IF1..10.1.3.254
RemVPNGW IF2.. dynamisch .... GW IF2

Netzwerkmaske ist 24Bit lang, also 255.255.255.0.

Wenn keine Denk- oder Tippfehler dabei ist,
sollte alles gehen.

Gruß
teflon
 

TomcatMJ

Guru
proflan schrieb:
TomcatMJ schrieb:
P.S.:Mal eine ganz blöde weil sehr simple Frage noch hinterhergeschickt: Hast du das Routing zwischen verschiedenen Interfaces auf dem Linux-Server überhaupt aktiviert?

Hi TomcatMJ
Wie kann ich das überprüfen?
Z.B. per
Code:
 cat /proc/sys/net/ipv4/ip_foward
, dort sollte dann
Code:
1
bei rauskommen. Wenn du die SuSEFirewall nutzt,sollte das eigentlich gesetzt sein, wenn nicht hilft spätestens ein
Code:
echo 1 > /proc/sys/net/ipv4/ip_forward
weiter, denn damit wirds quasi eigenhändig zwangsgesetzt ;-)

Bis denne,
Tom
P.S.:Das Setzen geht natürlich nur als User root (nur falls das nicht schon vorher klar war*g*)
 
OP
P

proflan

Newbie
teflon schrieb:
Routingabstand ist nix anderes als unterschiedliche Netze.
Das bedeutet um wirklich zu routen müssen die beteiligten
Knoten in unterschiedlichen Netzen sein.

Hi teflon, habe ich eigentlich gemacht:

Client x .............192.168.1.[60-110] .......GW 192.168.1.1
AP Interface 1 ....192.168.1.1
AP Interface 2 ....192.168.178.1........GW 192.168.178.11
Linux eth0..........192.168.178.11
 

teflon

Newbie
Hallo proflan!

Na dann nähern wir uns ja so langsam dem Problem. ;-)
Dann sei doch einmal so gut und zeige und Deine ipsec.conf
und Deine iptables Einstellungen.

Mache bitte mal ein ipsec eroute und zeige uns auch dessen Ausgabe.

Gruß
teflon
 
Oben