OpenVPN: Routing scheinbar nur in einer Richtung

maceis

Mitglied
Mitglied seit
9 Apr 2006
Beiträge
687
Punkte für Reaktionen
4
Punkte
18
Hallo zusammen,

ich habe eine Box als OpenVPN Server mit Zertifikaten konfiguriert und mehrere andere Boxen als OpenVPN Clients. Alles funktioniert soweit mit einer Ausnahme.

Ich habe eine ClientBox, die als IP-Client hinter einer anderen Box (IP-Router) ohne Modifikationen sitzt.
Auf der IP-Router Box sind Portweiterleitungen eingerichtet, u. a. für ssh.

Wenn ich mich über ssh an der IP-Client Box anmelde, kann ich das lokale Netz des OpenVPN Server (192.168.100.1) anfingen und bekomme Antwort. Daraus schließe ich, dass das Routing richtig eingerichtet ist.
Wenn ich aber auf der OpenVPN Server Box angemeldet bin, kann ich das lokale Netz der IP-Client (=OpenVPN Client) nicht anpingen.
Wie kann das sein?

Hier mal noch die Routing Tabellen und einige Ping-Ergebnisse:
Client Box
Code:
route Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.178.1   0.0.0.0         UG    9      0        0 lan
10.8.0.0        *               255.255.255.0   U     0      0        0 tun0
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
192.168.1.0     10.8.0.32       255.255.255.0   UG    0      0        0 tun0
192.168.100.0   10.8.0.1        255.255.255.0   UG    0      0        0 tun0
192.168.102.0   10.8.0.2        255.255.255.0   UG    0      0        0 tun0
192.168.103.0   10.8.0.3        255.255.255.0   UG    0      0        0 tun0
192.168.105.0   10.8.0.5        255.255.255.0   UG    0      0        0 tun0
192.168.178.0   *               255.255.255.0   U     0      0        0 lan

ping 192.168.100.1
PING 192.168.100.1 (192.168.100.1): 56 data bytes
64 bytes from 192.168.100.1: seq=0 ttl=64 time=43.617 ms
64 bytes from 192.168.100.1: seq=1 ttl=64 time=42.403 ms

ping 192.168.102.1
PING 192.168.102.1 (192.168.102.1): 56 data bytes
64 bytes from 192.168.102.1: seq=0 ttl=64 time=117.538 ms
64 bytes from 192.168.102.1: seq=1 ttl=64 time=114.629 ms

OpenVPN Server Box:
Code:
route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
xx.20.97.xx     *               255.255.255.255 UH    2      0        0 dsl
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
xx.237.151.xx *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
xx.237.148.xx *               255.255.255.255 UH    2      0        0 dsl
192.168.100.0   *               255.255.255.0   U     0      0        0 lan
192.168.179.0   *               255.255.255.0   U     0      0        0 guest
192.168.102.0   10.8.0.2        255.255.255.0   UG    0      0        0 tun0
192.168.103.0   10.8.0.3        255.255.255.0   UG    0      0        0 tun0
192.168.1.0     10.8.0.32       255.255.255.0   UG    0      0        0 tun0
10.8.0.0        *               255.255.255.0   U     0      0        0 tun0
192.168.104.0   10.8.0.4        255.255.255.0   UG    0      0        0 tun0
192.168.105.0   10.8.0.5        255.255.255.0   UG    0      0        0 tun0
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         *               0.0.0.0         U     2      0        0 dsl

ping 192.168.102.1
PING 192.168.102.1 (192.168.102.1): 56 data bytes
64 bytes from 192.168.102.1: seq=0 ttl=64 time=71.732 ms
64 bytes from 192.168.102.1: seq=1 ttl=64 time=71.021 ms

 ping 192.168.104.1
PING 192.168.104.1 (192.168.104.1): 56 data bytes
^C
--- 192.168.104.1 ping statistics ---
18 packets transmitted, 0 packets received, 100% packet loss

ping 10.8.0.4
PING 10.8.0.4 (10.8.0.4): 56 data bytes
64 bytes from 10.8.0.4: seq=0 ttl=64 time=43.649 ms
64 bytes from 10.8.0.4: seq=1 ttl=64 time=42.630 ms

Den Endpunkt des Tunnels im entfernten Netz kann ich also anfingen, die entfernte "lokale" IP Adresse aber nicht. Ich versteh das nicht.
Kann das jemand erklären?

Danke und Gruß
maceis
 
Da der IP-Client wohl kaum NAT mit seiner eigenen Adresse im dortigen LAN machen wird (steht jedenfalls nichts davon in #1), braucht es schon im "default gateway" noch eine Route (oder in jedem einzelnen Client), die Daten für die andere Seite des VPN dann auch an die FRITZ!Box mit dem OpenVPN sendet. Sollte es so eine Route bereits wieder geben auf der Seite, wo das LAN 192.168.104.0/24 konfiguriert ist, fehlt auch diese Angabe in #1.
 
Danke für Dein Feedback.
Ich habe zwischenzeitlich ein wenig herumprobiert und die Netzwerkkonfiguration geändert.
Nichts grundsätzliches, nur dass ich jetzt anstelle des 192.168.104-er Netzes das 192.168.178.0 Netz verwende.

Irgendwas ist jetzt wohl anders.
Jedenfalls kann ich jetzt aus allen OpenVPN Netzen die Fritzbox, auf der der OpenVPN Client (IP=192.168.178.2) hinter dem NAT Router (IP=192.168.178.1) läuft über den Tunnel anpingen und auch per ssh, http usw. erreichen.

Wenn ich andere Geräte (z. B. den NAT Router anpingen möchte, passiert folgendes auf dem OpenVPN Client.

Der echo request kommt mit der Qelladresse 10.8.0.1 (= Tunnel Netz) auf dem TUN Interface herein und wird mit der selben QA auf dem LAN Interface ins lokale Netz geschickt. Auf dem gesuchten Netzwerkgerät (hier 192.168.178.1) gibt es für das 10er Netz kein statische Route, also denke ich, dass die über das Default Gateway (hier zufällig das gleiche Gerät) hinausgeschickt wird. Der nächste Router (im Internet) verwirft das Paket, da privates Netz.

Etwas ähnliches passiert, wenn ich andere Geräte als den NAT Router anpinge oder aus den mit OpenVPN verbundenen Netzen heraus pinge.

Ich verstehe das so, dass der OpenVPN Client weiß, dass die Antworten an das 10er Netz in das TUN Interface gehören.
Der NAT Router (bzw. das Standardgateway) müsste jetzt Routen zum den OpenVPN Client in die OpenVPN Netze haben, der das wiederum in das TUN Interface schickt.

Ist das so weit nachvollziehbar und richtig?

Gibt es eine schlaue Lösung, wie man die Geräte im entfernten Netz über den Tunnel erreichbar macht, wenn man keine Routen auf dem Standardgateway (=NAT Router) einrichten kann?

Eine Idee wäre, dass der OpenVPN Client NAT für die entfernten Netze macht?
Ich weiß aber nicht, ob das grundsätzlich geht und wie man das umsetzen könnte?

Gruß
D.Mon
 
Zuletzt bearbeitet:
Letztlich brauchst du eine Route für alle Netze, die im VPN "auf der anderen Seite" sind, die auf die VPN-Box weist.

Ganz einfach wäre nur die Route(n) auf dem Default-Router im Netz der Client-Box einzutragen.
Wenn das nicht geht:

  • die Route(n) auf jedem einzelnen Gerät eintragen, dass durch das VPN erreichbar sein soll oder
  • die VPN-Box als "Default-Gateway" angeben (dort sollten die Routen Richtung VPN vorhanden sein) und dort zeigt die "eigentliche" Defaultroute für alle anderen Netze dann zur "Internet-Box".
  • Ganz exotisch: die Routen fürs VPN per DHCP "puschen" lassen, ggf. dieses von der VPN-Box machen lassen, also
    • DHCP-Server auf Internet-Box ausschalten
    • DHCP-Server auf VPN-Box konfigurieren, der die Internet-Box als DG und Routen fürs VPN auf sich selbst verteilt

Gibt vielleicht noch andere Möglichkeiten, aber die fielen mir gerade ein
 
Danke.
Ich werde wohl die Routen an der "Internet"-Box, also dem bisherigen Standardgateway einrichten.
Hab dort inzwischen einen entfernten Zugang.

Gruß
maceis
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.