Kein Zugriff auf Netzwerk hinter einer VPN-Verbindung

Benutzer_Nr1958

Lt. Junior Grade
Registriert
Sep. 2011
Beiträge
349
An dem Titel habe ich lange überlegt, denn das Problem lässt sich kaum in wenigen Worten fassen.

Hier die etwas längere Fassung:
Eine Fritzbox, die mit Freetz und OpenVPN erweitert wurde, baut eine Verbindung zu einem OpenVPN-Server auf. Rechner, die an die FB angeschlossen sind (LAN und WLAN), können aber das Netz hinter dem OVPN-Server nicht erreichen.

Jetzt die ganz lange Fassung:
Nach der Umstellung auf VDSL, war es Zeit sich mit VPN zu beschäftigen. Jetzt ist auch die Upload-Geschwindigkeit ausreichend, um VPN zu verwenden.
2 Ziele:
- Mein Notebook baut irgendwo in einem freien WLan eine VPN-Verbindung zum meinen VDSL-Router auf und surft anschließend über diese Verbindung, bzw. kann auf Freigaben in diesem Netzwerk zugreifen - ganz kurz: dieses Ziel ist erreicht.
- Eine Fritzbox mit einem UMTS-Stick baut eine Verbindung zu dem VDSL-Router auf. Jetzt sollen Geräte auf beide Netzwerke zugreifen können. Hier liegt das Problem.

Zur Ausstattung:
1. ) Nennen wir es "Heimnetzwerk", also so wie AVM es nennt.
a) Dies ist zunächst auch eine Fritzbox, die 7490. Ihr Netzwerk ist 192.168.1.0/24.
Über AVM ist ein eindeutiger Name für den Router eingerichtet in der Form xxxxxxxxx.myfritz.net
Eine Portfreigabe ist eingerichtet mit UDP und Port nnnnn (extern) auf Port 1194 (intern)
Eine statische Route ist eingerichtet mit 10.8.0.0 auf 192.168.1.10
b) Auf einem Rasberry Pi mit Rasbian ist OpenVPN installiert und eingerichtet. Er hat die Adressen 192.168.1.10 bzw. 10.8.0.1 und hört auf Port 1194. Im Folgenden VPN-PI genannt.
Zertifikate, Schlüssel etc. sind erstellt.

Zusammen mit einem Notebook, auf dem OpenVPN installiert ist, funktioniert es bestens. Habe ich unterwegs Zugang zu einem Netz, kann ich VPN einschalten, ich bekomme eine IP (10.8.0.6) und jeder Internet-Verkehr läuft über diese Verbindung. Auf Freigaben im Heimnetz kann ich zugreifen, auch wenn das Einrichten von Windows-Rechnern hierfür eine große Frickelei war.

2.) Nennen wir es "Feriennetzwerk"
Dies ist eine 7270v2, die zu schade zum Ausmustern ist. Sie baut über einen UMTS-Stick eine Verbindung ins Internet auf (funktioniert gut). Ihr Netz ist 192.168.2.0/24.
Da es eine Mobilfunk-Verbindung ist, kann man das VPN der Fritzbox nicht verwenden. Daher kam als Erstes Freetz auf die Box incl. der Erweiterung OpenVPN.
Dann habe ich für sie Schlüssel und Zertifikat erstellt, auf die Box übertragen und OpenVPN eingerichtet.
Starte ich OpenVPN baut sie eine Verbindung zum VPN-Pi auf und bekommt eine IP (10.8.0.10).
Wenn ich mit Telnet auf der Box (Feriennetzwerk) bin, funktioniert ein ping auf andere Rechner im anderen Netz (Heimnetz), sofern es die Firewall auf einem Rechner es nicht verhindert.
Auch ein ping von einem beliebigen Rechner im Heimnetzwerk auf die VPN-IP-Adressen funktioniert (VPN-Pi und FB im Feriennetzwerk).
Die 7270 bekommt die Route in das Heimnetzwerk von dem VPN-Pi per push in der Konfiguration.

Endlich zu Problem:
Alle Rechner, die an der 7270 im Feriennetzwerk hängen, können aber keine Verbindung in das Heimnetzwerk aufbauen (ping, Zugriff auf Freigabe etc.)
Ich habe schon versucht, statische Routen auf den Rechnern und auf der 7270 zu erstellen, diverse Konfigurationen des VPN-Pi ausprobiert, aber alles ohne Erfolg.
Auch der Zugriff vom Heinnetzwerk auf das Feriennetzwerk geht nicht, aber das ist erstmal zweitrangig.

Hat jemand eine Idee?
 
Da fehlen sehr wahrscheinlich ein paar Routingtabelleneinträge. Auf der 7490 z.b. 192.168.2.0 nach 192.168.1.10. Auf der anderen Fritzbox 192.168.1.0 nach 192.168.2.1 (oder was auch immer die Fritzbox für eine Adresse in diesem Netzwerk hat).
Ansonsten muss man sich mal die Routingtabellen der einzelnen Geräte anschauen.

(evtl. muss auf der zweiten Fritzbox auch diese Route: 192.168.1.0 nach 10.8.0.1. Ich weiß nicht genau, wie die Fritzbox welche Routen an die Clients weitergibt. Daher entweder Routingtabellen auf den Clients überprüfen oder aber beide Möglichkeiten durchprobieren)
 
Zuletzt bearbeitet:
Ja, eine Route fehlt (mindestens)
Aber welche und wo?

Auf dem Heimnetz-Router sind z.Z. 2 statische Routen:
nach 10.8.0.0 über 192.168.1.10 (also VPN über VPN-Pi im Heimnetz)
nach 192.168.2.0 über 192.168.1.10 (also Feriennetz über VPN-Pi im Heimnetz)

Auf dem VPN-Pi:
nach 192.168.2.0 über 10.8.0.1 (Feriennetz über VPN-Pi im VPN)

Die VPN-Clients bekommen vom VPN-Pi per push die Route:
nach 192.168.1.0 über tun0 (Heimnetz über VPN-Netzwerk)
VPN-Client ist in diesem Fall die Fritzbox im Feriennetz.

Deren Klienten, sprich PCs in ihrem Netz kennen diese Route nicht. Das sollte aber in Ordnung sein, da sie die Pakete ja zur Fritzbox schicken und die dann die richtige Route nehmen soll.
Eine Route wie z.B 192.168.1.0 über 10.8.0.1 geht nicht, da sie das Netz 10.8.0.0 nicht kennen (und auch nicht kennen brauchen)
Eine Route wie 192.168.1.0 über 192.168.2.1 (Heimnetz über die Fritzbox im Feriennetz) macht keinen Sinn, dass erledigt ja schon die default-Route (trotzdem ausprobiert)
 
Du hast recht, die Clienten im Feriennetz brauchen keine Routinginformationen, da diese über die Defaultroute abgedeckt sein sollten. Die Route im Pi-VPN ist aber falsch, richtig wäre "nach 192.168.2.0 über 10.8.0.10", da die Route ja über die Ferienfritzbox läuft als Next Hop.

Die Route 192.168.1.0 über 10.8.0.1 war auch für die Ferienfritzbox direkt gedacht. Sie muss ja wissen, wohin sie die Pakete mit der Zieladdr. 192.168.1.0 hinschicken soll (sollte durch das route-push eigentlich eingetragen werden).

Am besten die lässt dir die Routingtabelle einmal anzeigen mit "route -n" auf der Ferienfritzbox und dem Pi.

Für den Pi sollte sie in etwa so aussehen:
Code:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    1024   0        0 eth0
192.168.2.0     10.8.0.10     255.255.255.0     UG     1000   0        0 vpn
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Für die Ferienfritzbox so:
Code:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     10.8.0.1         255.255.255.0   UG     0      0        0 vpn
 
RTFM

Diese ewig gültige Regel habe ich mal wieder nicht befolgt. Es steht alles im OpenVPN-HOWTO

Zuerst einmal Danke für die Hilfe. Ich habe den Wald vor lauter Bäumen nicht gesehen.

Es stimmt, es fehlen Routen und diese Routen muss man über OpenVPN setzen und nur dort. Der Server benutzt sie und teilt sie den Clients mit.
Eine Route auf Betriebssystemebene des VPN-Pis funktioniert nicht, da die Gegenstelle dem Pi nicht bekannt ist.
Das Setzen der Route "192.168.2.0 über 10.8.0.10" quittiert der Pi mit
SIOCADDRT: Das Netzwerk ist nicht erreichbar

Die Lösung:

In die Konfigurationsdatei des OpenVPN-Servers kommen 2 neue Zeilen:
client-config-dir ccd
route 192.168.2.0 255.255.255.0

Dann muss das client-config-dir angelegt werden:
mkdir /etc/openvpn/ccd

In diesem Verzeichnis eine Datei erstellen mit dem common-name des Clienten. Dort steht
iroute 192.168.2.0 255.255.255.0

Sofern irgendwelche Firewalls auf den beteiligten Rechner es nicht verhindern, sollte es jetzt funktionieren.

Fast vergessen:
Auf dem Heimnetzrouter muss auch eine statische Route sein
192.168.2.0. über 192.168.1.10 (Feriennetzwerk über VPN-Pi)
 
Zuletzt bearbeitet:
Zurück
Oben