ubuntuusers.de

Openvpn Routing klappt nicht

Status: Ungelöst | Ubuntu-Version: Kubuntu 8.10 (Intrepid Ibex)
Antworten |

tandem65

Anmeldungsdatum:
27. April 2008

Beiträge: 22

Einen fröhlichen Tag,

das folgende Szenario:

Mein Openvpn-Server hat eine öffentliche IP und benutzt für das vpn 10.8.0.0/24. Läuft auf ubuntu 8.04

Code

route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.2        *               255.255.255.255 UH    0      0        0 tun0
xx.xx.xx.xxx    static.xxx.xx.x 255.255.255.224 UG    0      0        0 eth0
xx.xx.xx.xxx    *               255.255.255.224 U     0      0        0 eth0
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
default         static.xxx.xx.x 0.0.0.0         UG    100    0        0 eth0


ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:23 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:1447 (1.4 KB)  TX bytes:300 (300.0 B)

Ein Openssh Client steht hinter hinter einer floppyfw heisst picante und hat die IP 10.0.10.2. Läuft auf kubuntu 8.10

Code

route
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
10.8.0.9        *               255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.9        255.255.255.0   UG    0      0        0 tun0
localnet        *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0
default         encore.xxxx.xxx 0.0.0.0         UG    100    0        0 eth0

ifconfig tun0
tun0      Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet Adresse:10.8.0.10  P-z-P:10.8.0.9  Maske:255.255.255.255
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 SendewarteschlangenlÀnge:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

der andere client steht hinter einem DSL WLAN Router im Adressbereich 10.0.10.x heisst tragetasche und hat die IP 10.0.10.91 Läuft auf kubuntu 8.10

Code

route
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
10.8.0.5        *               255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.9        255.255.255.0   UG    0      0        0 tun0
localnet        *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0
default         encore.xxxx.xxx 0.0.0.0         UG    100    0        0 eth0

ifconfig tun0
tun0      Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet Adresse:10.8.0.10  P-z-P:10.8.0.9  Maske:255.255.255.255
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 SendewarteschlangenlÀnge:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

auf beiden Clients laufen lokale Nameserver das Gateway heisst auf beiden clients encore und hat jeweils die 10.0.10.1 als Adresse.

nun kann ich mittlerweile auf dem Server mit

route add -host 10.0.10.2  gw 10.8.0.2 dev tun0

für picante eine default route legen und per ssh 10.0.10.2 mich auf picante einloggen. Wenn ich jedoch in der client.conf

route 10.0.10.0 255.255.255.0 10.8.0.9

eintrage verliere ich auf dem client mein routing. Ich habe dann vom Client aus keinen zugriff auf das Internet und auch nicht auf den VPN-Server, geschweige denn uf den anderen client. hier komme ich nicht weiter.

Wie muss die Netzmaske aussehen, damit nicht 10.0.10.1 auch auf tun0 gerouted wird sondern nur der Adressbereich 10.0.10.2 - 10.0.10.255 ?

Herzlichen Dank für's lesen!

Mit fröhlichen Grüßen.

Peter

lygie

Anmeldungsdatum:
10. Dezember 2007

Beiträge: 299

Hallo tandem65,

ich bin jetzt etwas verwirrt.

Du nutzt für VPN das Netz 10.8.0.0/24. Warum willst Du das Netz 10.0.10.0/24 durch den VPN tunnel schicken?

Das 10er Netz ist doch dein LAN? Wenn die Clients dort schon im gleichen privaten Netz sind, warum dann noch ein virtuelles darüber stülpen?

Oder denke ich in die falsche Richtung?

tandem65

(Themenstarter)

Anmeldungsdatum:
27. April 2008

Beiträge: 22

Einen fröhlichen Tag lygie,

als erstes mal die Frage an einen Admin ob das hier nicht nach ubuntuusers.de » Forum » Fortgeschrittene Netzwerkkonfiguration verschoben werden kann?

lygie schrieb:

Hallo tandem65,

ich bin jetzt etwas verwirrt.

Du nutzt für VPN das Netz 10.8.0.0/24. Warum willst Du das Netz 10.0.10.0/24 durch den VPN tunnel schicken?

Das 10er Netz ist doch dein LAN? Wenn die Clients dort schon im gleichen privaten Netz sind, warum dann noch ein virtuelles darüber stülpen?

Oder denke ich in die falsche Richtung?

Nun, die beiden Clients !benutzten! zwar das gleiche lokale Netz, 10.0.10.0/24 und werden durch das VPN 10.8.0.0/24 verbunden. ich habe nun schon bei einem der Clients das lokale Netz auf 10.0.11.0/24 geändert.

Nun habe ich auf den clients die folgenden Routing Tabellen.

route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
10.8.0.9        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.9        255.255.255.0   UG    0      0        0 tun0
10.0.10.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.0.11.0       10.8.0.9        255.255.255.0   UG    0      0        0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         10.0.10.1       0.0.0.0         UG    100    0        0 eth0

hinter diesem Client hängt noch ein größeres lokales Netz mit ca. 10 clients die ich gerne von dem untenstehenden client und aus seinem lokalen Netz heraus mit ssh 10.0.10.x ansprechen möchte.

route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.5        255.255.255.0   UG    0      0        0 tun0
10.0.10.0       10.8.0.5        255.255.255.0   UG    0      0        0 tun0
10.0.11.0       0.0.0.0         255.255.255.0   U     0      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
0.0.0.0         10.0.11.1       0.0.0.0         UG    100    0        0 wlan0

durch die Änderung des einen lokalen Netzes auf 10.0.11.0 bricht schon mal mein Routing nicht mehr zusammen. Ich kann weiterhin im www surfen und kann mich mit ssh 10.8.0.x von client zu client verbinden. Nur, z.B. aus dem lokalen Netz 10.0.11.0/24 kann ich leider nicht per ssh 10.0.10.x mit einem Client verbinden! ☹

Ich schreibe jetzt noch dazu, daß das lokalen Netz 10.0.10.0 das älteste ist. Ich habe es daran zu basteln muß ja nicht unbedingt sein. Sollte ich für das VPN ein anderes Netz wählen? Ist es ungeschickt den VPN server im öffentlichen Raum stehen zu haben? Ich dachte jedenfalls das sei nicht verkehrt, da ich damit dyndns nicht benötige.

Mit fröhlichen Grüßen.

Peter

lygie

Anmeldungsdatum:
10. Dezember 2007

Beiträge: 299

Hallo tandem65,

puh, ich verstehe jetzt langsam, was Du vorhast.

Meiner Erfahrung nach ist der Einfachste Weg über VPN zugriff auf ein ganzes LAN zu bekommen, wenn der VPN-Server auch das Gateway für dieses LAN ist.

Was mir aus Deiner Beschreibung noch nicht ganz klar ist, welches Gateway die 10 Clients haben.

Eine Konfiguration die bei mir super funktioniert sieht so aus.

Ein LAN hängt an einer Firewall die sowohl Gateway, als auch VPN-Server ist. Das LAN hat ein beliebiges Privates Netz z.B.: 192.168.0.0/24.

Wenn ich mich jetzt von außen mit dem VPN-Server verbinde, brauche ich nur eine Route zu dem Netz durch den VPN Tunnel

1
2

192.168.0.0   0.0.0.0 255.255.255.0 U 0 0  0 tap0

Und schon habe ich ZUgriff auf alle Clients im LAN. Ich selbst muss natürlich in einem anderen Privaten Netz sein als 192.168.0.0, sonst sperrt mich die Route aus meinem eigenen Netz inkl. Gateway aus.

Vielleicht hilft das ja schon weiter.

Liebe Grüße

tandem65

(Themenstarter)

Anmeldungsdatum:
27. April 2008

Beiträge: 22

Einen fröhlichen Tag lygie,

lygie schrieb:

Hallo tandem65,

puh, ich verstehe jetzt langsam, was Du vorhast.

Meiner Erfahrung nach ist der Einfachste Weg über VPN zugriff auf ein ganzes LAN zu bekommen, wenn der VPN-Server auch das Gateway für dieses LAN ist.

Ja, in allen Threads, die ich bisher gelesen habe steht der Server in einem privaten Netzwerk und ist das Gateway für das LAN.

Was mir aus Deiner Beschreibung noch nicht ganz klar ist, welches Gateway die 10 Clients haben.

Die Clients haben 10.0.10.1 als Gateway, das ist ein Rechner mit floppyfw. Der VPN-Client ist ja 10.0.10.2 Den könnte ich als default route für das Netz 10.0.10.0/24 setzen. Auch noch wenn ich ihn als VPN-Server konfiguriere.

Eine Konfiguration die bei mir super funktioniert sieht so aus.

Ein LAN hängt an einer Firewall die sowohl Gateway, als auch VPN-Server ist. Das LAN hat ein beliebiges Privates Netz z.B.: 192.168.0.0/24.

Wenn ich mich jetzt von außen mit dem VPN-Server verbinde, brauche ich nur eine Route zu dem Netz durch den VPN Tunnel

1
2

192.168.0.0   0.0.0.0 255.255.255.0 U 0 0  0 tap0

Und schon habe ich ZUgriff auf alle Clients im LAN. Ich selbst muss natürlich in einem anderen Privaten Netz sein als 192.168.0.0, sonst sperrt mich die Route aus meinem eigenen Netz inkl. Gateway aus.

Vielleicht hilft das ja schon weiter.

Nun leider nicht wirklich. Ich sehe halt das wohl niemand eigene Webserver hat die als VPN-Server für entsprechende Szenarien eingesetzt werden. 😮 Dann setze ich halt auch auf dyndns und stelle den VPN-Server ins Lokale Netz.

Mit fröhlichen Grüßen.

Peter

melc

Anmeldungsdatum:
28. Dezember 2008

Beiträge: 181

Wohnort: Karlsruhe

tandem65 schrieb:

Ja, in allen Threads, die ich bisher gelesen habe steht der Server in einem privaten Netzwerk und ist das Gateway für das LAN.

Das spielt keine Rolle, solange die Routen stimmen.

Die Clients haben 10.0.10.1 als Gateway, das ist ein Rechner mit floppyfw. Der VPN-Client ist ja 10.0.10.2 Den könnte ich als default route für das Netz 10.0.10.0/24 setzen. Auch noch wenn ich ihn als VPN-Server konfiguriere.

Einfacher ist es den Clients (neben den lokalen Routen) nur die Standardroute zum Gateway mitzugeben. Dieses Gateway muss dann wissen was wohin geleitet werden muss. Aber grundsätzlich kann man natürlich auch bei jedem Client einzeln die Routen eintragen.

Nun leider nicht wirklich. Ich sehe halt das wohl niemand eigene Webserver hat die als VPN-Server für entsprechende Szenarien eingesetzt werden. 😮 Dann setze ich halt auch auf dyndns und stelle den VPN-Server ins Lokale Netz.

Ich fände es hilfreich wenn du ein Bild des Netzes mit eindeutigen Bezeichnungen zeichnest. Solange jedes lokale Netz und das VPN-Netz einen eigenen Adressbereich hat, ist es auch möglich dass jeder jeden erreicht, ganz gleich wo der VPN-Server steht.

Antworten |