Das Thema ist aus diesem Thema entstanden, hat aber mit der eigentlich Fragestellung nichts mehr zu tun, also gehts hier weiter, damit auch andere mit dem Problem den Thread leichter finden.
Problem ist folgendes: ein openVPN ist zwischen einem openwrt Router (VPN Server) und einer Freetz-Box (VPN Client) aufgebaut. Das VPN läuft im Bridging (TAP) Modus. Die Clients hinter dem OpenWrt Server könenn die Clients hinter der Freetz Box pingen und umgekehrt. Andere Services, insbesondere http Verbindungen, funktionieren jedoch nicht; es erscheint im Browser die Nachricht "Verbindung unterbrochen".
Meine bisherige Suche zum Thema Verbindungsabbrüche hat mich auf Probleme mit der MTU aufmerksam gemacht. Ich habe daher bereits ausprobiert die openvpn Config (jeweils Server und clientseitig) mit folgenden Optionen zu tunen: "tun-mtu 1300", danach "link-mtu 1300", danach "fragment 1400" und dann alle drei in Kombination mit "mssfix". Der Fehler bleibt bestehen.
Aufgefallen ist, dass sich ein Windows Rechner, der hinter der Freetz-Box sitz, sich per openvpn-client direkt am Server anmelden kann und das Problem mit den Verbindungsabbrüchen dann nicht besteht.
Das Netzwerk sieht folgendermaßen aus:
Clients (192.168.3.x) --- OpenWRT Router Lan Port (192.168.3.92) Wan Port (192.168.1.93) --- Fritzbox als Internetgateway (192.168.1.1) --- Freetz-Box 192.168.1.25 --- (Clients 192.168.1.x)
Der Vollständigkeit halber noch die aktuellen OpenVPN configs und die routings der beiden Router:
VPN-Server: (sieht etwas anders aus bei OpenWRT)
VPN-Client
- - - Aktualisiert - - -
MaxMuster hat (im alten Thema) dazu folgendes angemerkt:
MaxMuster danke schonmal für deine erneute Hilfe; meinem Verständnis nach muss doch das routing grundsätzlich stimmen, sonst würde kein Ping funktionieren, oder ?
Ich kann mit clienten hinter dem openWRT das Webinterface der FreetzBox auf der Lan IP und auf der VPN IP erreichen.
Folgendes ergibt der von dir vorgeschlagene Test: (ausgeführt von einem client hinter FreetzBox gegen einen Server hinter dem openWRT)
Führe ich den Test von einem Clienten aus der ebenfalls am openWRT hängt, so sieht es so aus:
Problem ist folgendes: ein openVPN ist zwischen einem openwrt Router (VPN Server) und einer Freetz-Box (VPN Client) aufgebaut. Das VPN läuft im Bridging (TAP) Modus. Die Clients hinter dem OpenWrt Server könenn die Clients hinter der Freetz Box pingen und umgekehrt. Andere Services, insbesondere http Verbindungen, funktionieren jedoch nicht; es erscheint im Browser die Nachricht "Verbindung unterbrochen".
Meine bisherige Suche zum Thema Verbindungsabbrüche hat mich auf Probleme mit der MTU aufmerksam gemacht. Ich habe daher bereits ausprobiert die openvpn Config (jeweils Server und clientseitig) mit folgenden Optionen zu tunen: "tun-mtu 1300", danach "link-mtu 1300", danach "fragment 1400" und dann alle drei in Kombination mit "mssfix". Der Fehler bleibt bestehen.
Aufgefallen ist, dass sich ein Windows Rechner, der hinter der Freetz-Box sitz, sich per openvpn-client direkt am Server anmelden kann und das Problem mit den Verbindungsabbrüchen dann nicht besteht.
Das Netzwerk sieht folgendermaßen aus:
Clients (192.168.3.x) --- OpenWRT Router Lan Port (192.168.3.92) Wan Port (192.168.1.93) --- Fritzbox als Internetgateway (192.168.1.1) --- Freetz-Box 192.168.1.25 --- (Clients 192.168.1.x)
Der Vollständigkeit halber noch die aktuellen OpenVPN configs und die routings der beiden Router:
VPN-Server: (sieht etwas anders aus bei OpenWRT)
Code:
option enabled '1'
option tls_server '1'
option proto 'udp'
option ca '/etc/openvpn/ca.crt'
option cert '/etc/openvpn/server.crt'
option key '/etc/openvpn/server.key'
option dh '/etc/openvpn/dh2048.pem'
option ifconfig_pool_persist '/tmp/ipp.txt'
option keepalive '10 120'
option persist_key '1'
option persist_tun '1'
option user 'nobody'
option status '/tmp/openvpn-status.log'
option verb '3'
option port '1196'
option comp_lzo 'adaptive'
option dev 'tap_myvpn'
option client_to_client '1'
option server_bridge '192.168.3.92 255.255.255.0 192.168.3.228 192.168.3.250'
option link_mtu '1400'
option mssfix
Code:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.3.0 * 255.255.255.0 U 0 0 0 br-lan
VPN-Client
Code:
client
dev tap
;dev tun
;dev-node MyTap
;proto tcp
proto udp
remote 192.168.1.93 1196
;remote my-server-2 1194
;remote-random
resolv-retry infinite
nobind
;user nobody
;group nobody
persist-key
persist-tun
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]
;mute-replay-warnings
ca /var/tmp/flash/openvpn/ca.crt
cert /var/tmp/flash/openvpn/client1.crt
key /var/tmp/flash/openvpn/client1.key
;ns-cert-type server
;tls-auth ta.key 1
;cipher x
comp-lzo
log-append /var/tmp/debug_openvpn.out
verb 3
;mute 20
link-mtu 1400
mssfix
remote-cert-tls server
Code:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 * 255.255.255.0 U 0 0 0 tap0
192.168.1.0 * 255.255.255.0 U 0 0 0 lan
192.168.189.0 * 255.255.255.0 U 0 0 0 guest
169.254.0.0 * 255.255.0.0 U 0 0 0 lan
- - - Aktualisiert - - -
MaxMuster hat (im alten Thema) dazu folgendes angemerkt:
Kann es trotzdem das Routing sein?
Oder andersrum: Sicher, dass du den Webserver auch wirklich intern erreichst?
Der "Windows-OpenVPN-Client" ist ja direkt mit einer VPN-IP am Server, Geräte hinter dem FB-VPN-Client, die geroutet werden, kommen ja mit ihrer LAN-IP.
Der VPN-Server muss dann neben den "route" auch "iroute" Einträge für den entsprechenden OpenVPN-Client mit diesem LAN haben.
Einfacher Test wäre:
Kannst du das Web-IF der Freetz-Box auf der LAN-IP erreichen?
Geht es "von Hand" mit deinem Server, also z.B. geht ein "telnet <dein interner Webserver> 80"
(ggf. danach testen mit :
Code:
GET / HTTP/1.1
HOST: <deinserver>
<RETURN>
<RETURN>
)
MaxMuster danke schonmal für deine erneute Hilfe; meinem Verständnis nach muss doch das routing grundsätzlich stimmen, sonst würde kein Ping funktionieren, oder ?
Ich kann mit clienten hinter dem openWRT das Webinterface der FreetzBox auf der Lan IP und auf der VPN IP erreichen.
Folgendes ergibt der von dir vorgeschlagene Test: (ausgeführt von einem client hinter FreetzBox gegen einen Server hinter dem openWRT)
Code:
# telnet 192.168.3.7 80
Trying 192.168.3.7 ...
Connected to 192.168.3.7
Escape Character is '^]'.
GET / HTTP/1.1
Connection closed by foreign host.
Führe ich den Test von einem Clienten aus der ebenfalls am openWRT hängt, so sieht es so aus:
Code:
telnet 192.168.3.7 80
Trying 192.168.3.7...
Connected to 192.168.3.7.
Escape character is '^]'.
GET / HTTP/1.1
HOST 192.168.3.7
HTTP/1.1 400 Bad Request
Date: Sun, 17 Apr 2016 13:44:36 GMT
Server: Apache
Vary: Accept-Encoding
Content-Length: 369
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Request header field is missing ':' separator.<br />
<pre>
HOST 192.168.3.7</pre>
</p>
<hr>
<address>Apache Server at 192.168.3.7 Port 80</address>
</body></html>
Connection closed by foreign host.
Zuletzt bearbeitet: