Fritzbox / OpenVPN Routing Problem

McBo

Neuer User
Mitglied seit
30 Jul 2005
Beiträge
45
Punkte für Reaktionen
0
Punkte
6
Hallo,

ich habe mir das unten gezeigte Netzwerk aufgebaut.

ScreenShot_06 Mar. 16 15.24.jpgScreenShot_06 Mar. 16 15.24.jpg

Über den Open VPN-Tunnel, habe ich einen entfernt stehenden Debian Server,
über einen UMTS Router angebunden.

Vom Debian Server, kann ich die FritzBox anpingen und umgekehrt von der FritzBox kann ich die IP:10.8.0.2 erreichen.
Von all meinen FritzBox-LAN Teilnehmern ist der extern stehende Debian Server ebenfalls erreichbar.

Jetzt würde ich gern an der FritzBox ein Portforwarding auf den extern stehenden Server einrichten,
damit ich den WEB Server über das WWW erreichen kann.
Dafür habe ich an der FritzBox eine Portweiterleitung von Port 80 auf 10.8.0.2 Port 80 eingerichtet.
Ich kann aber mit http://ip.dyndns.com:80 nicht den Webserver erreichen.
Testweise habe ich mal eine Portweiterleitung von Port 80 auf 10.8.0.1 Port 80 eingerichtet.
Da meldet sich dann auch meine NSLU2.
Somit kann es nicht an der FritzBox (Problem FremdNetz und Portforwarding) und dem 10.8.0.0er Netz liegen.
Wenn ich mit Telnet auf die FritzBox gehe, und einen Ping an 10.8.0.2 sende, kommt der komischerweise an.

Hier noch meine OpenVPN-Configuration:

VPN-Server Config
-----------------
dev tun
ifconfig 10.8.0.1 10.8.0.2
secret /etc/openvpn/certs/static.key
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
daemon

VPN-Client1 Config
-----------------
remote ip.dyndns.com
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret /etc/openvpn/certs/static.key
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
daemon


Kann mir bei diesem Problem bitte jemand helfen?


Gruß

Marcel
 
Nein, das wird nicht funktionieren. Der Grund ist die Arbeitsweise von NAT mit Portweiterleitungen. Dabei werden nämlich die Absender Adressen nicht verändert.

Wenn eine Anfrage aus dem Internet (sagen wir, von Adresse 2.2.2.2) auf deine Fritzbox stößt und dann auf den Webserver auf der anderen Seite des VPNs weitergeleitet wird, dann kommt dort eine Anfrage von 2.2.2.2 an. Der Server will an 2.2.2.2 antworten - die Route für 2.2.2.2 zeigt aber nicht auf den VPN Tunnel, sondern aufs Internet. Bei 2.2.2.2 kommt plötzlich eine Antwort von einem Rechner an, an den sie nie eine Frage gestellt hat. Das Paket passt zu keiner Session, und jede Firewall oder jeder Router wird das Paket abblocken. 2.2.2.2 kann nichts damit anfangen.

Der Ping von der Fritzbox funktioniert natürlich. Er hat ja auch eine Absender Adresse, die der Webserver mit der anderen Seite des VPNs in Verbindung bringt.
 
Hallo Frank,

danke für Deine ausführliche Erklärung. Das war mir so nicht bekannt.
Es gibt aber sicher ein Lösung für dieses Problem?

Würde es funktionieren, wenn der Debian-Server eine IP aus meinem Fritz-Lan hätte (OpenVPN im Bridgingmodus)?

Gruß

Marcel
 
Nein, TAP Interfaces werden dein Problem auch nicht lösen.

Mit meinen eingeschränkten Kenntnissen kann ich mir zwei Lösungen vorstellen. Die eine ist, dass du NAT vom WAN in den VPN Tunnel machst. Sowas hab ich aber noch nie probiert. Alternativ kann der VPN Client den Tunnel als Defaultgateway nutzen.
 
Alternativ kann der VPN Client den Tunnel als Defaultgateway nutzen.

Das klingt interessant.
Was meinst du mit Client? Meinen Debian Server (OpenVPN-Client?)

Du meinst statt dem UMTS-Router als Gateway (192.168.10.1) soll ich die 10.8.0.2 vom VPN-Tunnel nehmen?


Gruß

Marcel
 
Naja, ganz so natürlich nicht. Wenn du das komplette IP Default Gateway auf den VPN Tunnel umstellst, findet der Debian Server ja auch den Weg zum VPN Server nicht mehr. :)

Aber OpenVPN bietet natürlich eine Lösung dafür: redirect-gateway. Damit wird alles durch den Tunnel geschickt, außer die Pakete zum VPN Server. Aber bedenke die Konsequenzen: Ab sofort müssen alle Pakete für den Debian Server durch den Upload der Fritzbox.
 
Danke, hiermit funktioniert es:

VPN-Client1 Config
-----------------
remote ip.dyndns.com
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret /etc/openvpn/certs/static.key
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
daemon
route-gateway 10.8.0.1
route 192.168.2.150 255.255.255.0
redirect-gateway
 
Zuletzt bearbeitet:
Hallo,

habe jetzt noch drei Probleme mit dem Tunnel.

1. Wenn der Tunnel getrennt wurde (Server neu gestartet oder Netzwerkverbindung getrennt),
verbindet sich zwar der Tunnel wieder (Ping zu meiner Fritzbox steht).
Der Debian Server ist dann aber nicht mehr vom Internet aus über meine Fritzbox erreichbar.
Ich vermute, das die Option "redirect-gateway" nicht mehr funktioniert.
Mache ich einen Neustart des OpenVPN Clients, läuft alles wieder.

2. Vom Debian-Server (OpenVPN-Client) funktioniert bei aufgebauten VPN-Tunnel kein DNS.
Ich habe in der VPN-Client Config mal die Option "dhcp-option DNS 192.168.2.150" probiert.
hat aber auch keinen Erfolg gebracht.

3. Aus meinem Fritz-Homelan (192.168.2.0/24) ist der Debian-Server nicht unter der DynDns-Adresse ansprechbar.
Nur über die Lokale LAN-Adresse 10.8.0.2.


Kann mir hier bitte noch jemand unter die Arme greifen?
Am wichtigsten ist mir hier natürlich Punkt 1.

Gruß

Marcel
 
Zu Punkt 1 habe ich keine Idee. Ich betreibe auch OpenVPN Clients mit redirect-gateway, und da etabliert sich die Route wieder sauber von allein.

Zu 2: Hast du einen automatischen resolv.conf changer installiert, z.B. das Debian Paket resolvconf? Sonst werden ja die DNS Server nicht in Abhängigkeit von der OpenVPN Verbindung verändert.

Zu 3: Da ist vermutlich eher das Problem, dass die Box Pakete aus dem eigenen Subnetz auf die eigene WAN Schnittstelle unterbindet.
 
Hallo Frank,

da ich blutiger Linux Anfänger bin, kannte ich das resolvconf Paket nicht und hatte es auch nicht installiert.
Habe es jetzt installiert und siehe da, DNS vom VPN-Client geht. Damit ist der Punkt 2 erledigt.

Punkt 1 (redirect-gateway nach Tunnel-Reconnect) macht mir immer noch Probleme.
Ich habe mir an den Server ein USB-Display mit lcd4linux angehangen.
Darauf zeige ich mir mit einem kleinen Script (WANIP=`wget -q -O - http://ip.keithscode.com`) die WAN-IP an.
Wenn der Tunnel steht, wird mir die WAN-IP von meiner FritzBox (ip.dyndns.com) angezeigt.
Funktioniert der "redirect-gateway" nicht, was bei mir nach einer Tunnelunterbrechung der Fall ist,
wird die WAN-IP vom UMTS-Router angezeigt.

Ich verwende auf meinem VPN-Client (Debian-Server) "OpenVPN 2.1.3 i486-pc-linux-gnu"
und auf dem VPN-Server (NSL2U) "OpenVPN 2.0.9 armeb-linux"

Hier noch einmal meine VPN-Configurationen. Vielleicht kannst Du ja einen Fehler erkennen.

#OpenVPN-Server
dev tun
ifconfig 10.8.0.1 10.8.0.2
secret /etc/openvpn/certs/static.key
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
daemon


#OpenVPN-Client
remote ip.dyndns.com
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret /etc/openvpn/certs/static.key
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
route-gateway 10.8.0.1
route 192.168.2.0 255.255.255.0
redirect-gateway
daemon


Könnte ich das Problem mit einem kleinen Script lösen?
Wenn die IP von ip.dyndns.com <> der IP von "wget -q -O - http://ip.keithscode.com",
dann "openvpn restart" oder so ähnlich?

Zu 3: Da ist vermutlich eher das Problem, dass die Box Pakete aus dem eigenen Subnetz auf die eigene WAN Schnittstelle unterbindet.

Auf meiner Windows-Kiste habe ich einfach einen Eintrag in die Hosts-Datei gemacht "10.8.0.2 ip.dyndns.com".
Damit funktioniert das.

Kann ich das, für den lokalen DNS-Server der FritzBox, auch in gleicher Weise machen?


Gruß

Marcel
 
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.