kein Internet bei VPN in Hotspots

cevaxn

Ensign
Registriert
Aug. 2017
Beiträge
203
Hallo Leute,

ich möchte von unterwegs auf mein Heimnetz zugreifen können, bzw. bei öffentlichen Hotspots einen Tunnel nachhause bauen, um sicher zu surfen.

Da das Fritz-VPN nur max 8mbit schafft und im Jahr 2019 immernoch auf Ikev1 setzt, bin ich gezwungen auf OpenVPN zu setzen.
Mein Setup zuhause sieht so aus:

[Internet]----[Fritzbox 6591 Cable][LAN]----[LAN][Asus AC68U mit DD-WRT]

Der AC68U läuft also im AP-Modus hinter der Fritte, Zertifikate sind generiert, der OpenVPN-Server ist eingerichtet, die .ovpn-Datei ist erstellt.
Ich kann mich von unterwegs verbinden.

Nach dem die Verbindung steht, kann ich lediglich auf mein Heimnetz zugreifen.
Das Endgerät (Smartphone oder Notebook) hat kein Internet...
Nach ewiger Fehlersuche und Recherche, habe ich diesen Firewall-Befehl für DD-WRT gefunden:
Code:
iptables -t nat -I POSTROUTING -o br0 -j SNAT --to ´nvram get lan_ipaddr´
Damit klappt alles wunderbar: ich kann unterwegs über fremde WLANs auf mein Heimnetz zugreifen und habe auch Internet.

Nun das Problem:
Gestern war ich bei McDonalds, wo es freies WLAN gab. Alles lief über ein Telekom-Hotspot.
Also mich in den Hotspot eingebucht und bekam 3 Stunden freies Internet.
Dann OpenVPN gestartet und mich nachhause verbunden. Klappt.
Ich kann auf mein Heimnetz zugreifen, konnte im Browser die Fritte und den AC68U aufrufen.

Internet ging aber nicht. Absolut kein Internet.

Jetzt stellt sich mir die Frage:
liegt es an meinem Setup? muss irgendeine andere Firewall-Regel her?
was bedeutet die oben erwähnte Firewallregel eigentlich?
oder filtert die Telekom den VPN-Traffic? wenn ja, warum kam die Verbindung trotzdem zustande?

Vielen Dank für eure Hilfe im vorraus
 
Das ist in der Tat seltsam, wenn es in anderen WLANs geht, sollte es auch bei McD gehen, zumal der Tunnel offenbar auch dort funktioniert was der Zugriff aufs Heimnetz zeigt.

Bist Du sicher, dass in "anderen" WLANs der I-Net Zugriff wirklich über den Tunnel läuft? (www.wieistmeineip.de sollte dann Deine Home-IP anzeigen)

Denke, hier liegt der Fehler im OpenVPN Setup. (z.B. fehlendes "redirect-gateway block-local")

Und hier wird die Firewall Regel erklärt:
https://www.linuxtopia.org/Linux_Firewall_iptables/x4658.html
 
Zuletzt bearbeitet:
till69 schrieb:
Bist Du sicher, dass in "anderen" WLANs der I-Net Zugriff wirklich über den Tunnel läuft?
Hey Till ;)
also wenn ich beim Kumpel bin und sein WLAN nutze und mich nachhause verbinde, stelle ich folgendes fest:
-die öffentliche IP ändert sich sofort, nach dem die Verbindung steht. Ich kriege also die IP meiner Internetleitung von zuhause.
- der Speedtest gibt nur das her, was meine Leitung von zuhause im Upload hergibt.
Das sind für mich Indizien, dass der Tunnel funktioniert.
Gibt es noch andere Methoden zu testen, ob alles über den Tunnel läuft?

till69 schrieb:
Denke, hier liegt der Fehler im OpenVPN Setup.
also mein Setup sieht so aus:
 

Anhänge

  • Client.JPG
    Client.JPG
    75 KB · Aufrufe: 371
  • Server.JPG
    Server.JPG
    86 KB · Aufrufe: 351
cevaxn schrieb:
die öffentliche IP ändert sich sofort, nach dem die Verbindung steht. Ich kriege also die IP meiner Internetleitung von zuhause.
Dann hast Du schon das meiste richtig gemacht ;)

Probiere in der Client-Config: "redirect-gateway block-local"

Beim Server Network 172.22.22.0 statt 10.8.0.0, und "Redirect Default Gateway" solltest Du abschalten, weil Du es ja in der Client-Config drin hast.

Und zuletzt (wenn alles geht) würde ich die Firewall ändern: (das hat aber nix mit Deinem Problem zu tun, sondern begrenzt das nötige NAT auf die VPN Verbindung)
Code:
iptables -t nat -I POSTROUTING -s 172.22.22.0/24 -o br0 -j MASQUERADE
 
Zuletzt bearbeitet:
hey Till,
ich habe die Einstellung jetzt so geändert, wie du es beschrieben hast.
Werde nachher zu einem anderen McD und Ikea fahren und das ganze Testen.

Aber rein aus Interesse: was bewirkt das ändern der IP des Subnetzes eigentlich?
 
Das vermeidet Adresskonflikte, 10.0.0.0/8 wird sehr oft verwendet, z.B. von o2 im Mobilfunk.
 
so, ich war grad bei Ikea und einem anderen McD.
Beim Ikea-Hotspotwurde der Tunnel nachhause aufgebaut und auch Internet funktionierte.
Unter "YOUR PRIVATE IP" im OpenVPN-Log steht auch "172.22.22.0"

Beim McD und dem Telekomhotspot wieder das Gleiche: Tunnel erfolgreich aufgebaut. Zugriff auf Heimnetzgeräte kein Problem, aber kein Internet

Woran könnte es liegen?
 
was für einen ip-adressbereich hat denn der mcdonalds hotspot?
 
till69 schrieb:
Glaube ich nicht ;), Dein Server hat 172.22.22.1, der erste Client sollte 172.22.22.2 bekommen.
ich meinte natürlich 172.22.22.2, kleiner Zahlenverdreher von mir.

till69 schrieb:
Hmm, gute Frage, Notebook oder Handy? Wenn Handy, gehts über Mobilfunk?
Sowohl als auch. Es klappt alles andere sonst. Also mobiles Internet, WLAN beim Kumpel, Ikea-Hotspot. Alles geht.
Nur mit dem Hotspot der Telekom gehts nicht.

Olunixus schrieb:
was für einen ip-adressbereich hat denn der mcdonalds hotspot?
gute Frage, ich werde noch mal mit Notebook hindüsen und es mal checken.

till69 schrieb:
Und die IP Deiner Fritzbox und des Asus Routers?
Meine Fritzbox habe ich auf 192.168.8.1 festgelegt, der Asus-Router, der per LAN-to-LAN an der Fritte hängt, hat die feste 192.168.8.2 und der DHCP dadrauf ist natürlich deaktiviert.

Mein Problem ist im Prinzip genau wie hier beschrieben
Ich werde es mal probeweise auf TCP umstellen, mal sehen, ob es so klappt
 
Probiere in der Client-Config: "redirect-gateway block-local"
Hast Du das so drin? Das bewirkt, wenn das McD Gateway auch zufällig die 192.168.8.1 hat, Du trotzdem aufs Heimnetz kommst außer eben auf Deine 192.168.8.1

cevaxn schrieb:
Ich werde es mal probeweise auf TCP umstellen, mal sehen, ob es so klappt
Wenn das funktioniert, hast Du bei UDP lediglich ein MTU Problem. (wovon ich schwer ausgehe bei 1500)

Du kannst aber auch gleich beim Server einstellen:
Tunnel MTU setting: 1400
Tunnel UDP MSS-Fix: Einschalten

Viel Spaß beim McD surfen ;)

Und wenn Du auf TCP (etwas langsamer als UDP) umstellst, gleich auch den Port 443 benutzen, dann kommst Du durch deutlich mehr Firewalls.

Mehr Performance bekommt Du mit:
https://wiki.dd-wrt.com/wiki/index.php/The_Easiest_Tunnel_Ever

So habe ich bei mir einen OpenVPN Server auf TCP 443 (als Backup) und Wireguard auf UDP 443. Damit bist überall (außer Länder wo man eh nicht hin will ;)) gut versorgt.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: cevaxn
so, ich habe auf dem AC68U, sowie in der ovpn-Datei auf TCP umgestellt und war grad im McD.
Verbindung klappt, Tunnel steht und Internet funktioniert dann auch endlich.

Jetzt die Gretchenfrage: liegt das Problem bei meinem Setup, oder filter der Telekom-Hotspot etwas?

till69 schrieb:
Wenn das funktioniert, hast Du bei UDP lediglich ein MTU Problem. (wovon ich schwer ausgehe bei 1500)
Tunnel MTU setting: 1400
Tunnel UDP MSS-Fix: Einschalten
1500 war schon vorgegeben, als ich DD-WRT auf den AC68U flashte.
Ich habe ehrlich gesagt auch keine Ahnung was das ist

Bist du sicher, dass wenn ich auf 1400 und "MSS-Fix einschalten" stelle, es auch mit UDP klappt?

till69 schrieb:
Viel Spaß beim McD surfen ;)
hehe danke schön.
Es geht eigentlich garnicht um McD oder Telekom, sondern dass mein VPN überall, bei jedem WLAN, jedem öffentlichen Hotspot funktioniert.
Kann mich erinnern, dass der Tunnel (damals noch mit Fritz-VPN) am Hotspot am Flughafen nicht funktionierte...

till69 schrieb:
Hast Du das so drin? Das bewirkt, wenn das McD Gateway auch zufällig die 192.168.8.1 hat, Du trotzdem aufs Heimnetz kommst außer eben auf Deine 192.168.8.1
das ist ein super Hinweis. Das werde ich natürlich in die Config einpflegen, danke

till69 schrieb:
Noch mehr Performance bekommt Du mit:
https://wiki.dd-wrt.com/wiki/index.php/The_Easiest_Tunnel_Ever

So habe ich bei mir einen OpenVPN Server auf TCP 443 (als Backup) und Wireguard auf UDP 443. Damit bist überall (außer Länder wo man eh nicht hin will ;)) gut versorgt.
danke schön, werde ich mir auf jeden Fall durchlesen. Was ist dieses Wireguard? Ein Add-On für DD-WRT?
Mit der DD-WRT-Firmware, habe ich leider nur einen OpenVPN-Server.
Ideal wären zwei, so könnte ich einen mit UDP, den anderen für den Notfall mit TCP betreiben.

Bevor ich DD-WRT flashte, hatte ich dieses Advanced-Tomato ausprobiert und da gab es aufjedenfall zwei Server.
Aber da ich mit dem Interface nicht klar kam, weil ich DD-WRT gewohnt bin, schmiss ich es wieder runter
 
cevaxn schrieb:
Jetzt die Gretchenfrage: liegt das Problem bei meinem Setup, oder filter der Telekom-Hotspot etwas?
Dein Setup, eben MTU zu groß
cevaxn schrieb:
Bist du sicher, dass wenn ich auf 1400 und "MSS-Fix einschalten" stelle, es auch mit UDP klappt?
Ja, wenn nicht 1350 und 1300 testen.
cevaxn schrieb:
Es geht eigentlich garnicht um McD oder Telekom, sondern dass mein VPN überall, bei jedem WLAN, jedem öffentlichen Hotspot funktioniert.
Kann mich erinnern, dass der Tunnel (damals noch mit Fritz-VPN) am Hotspot am Flughafen nicht funktionierte...
FritzVPN ist UDP 500/4500, viele Firewalls sperren UDP komplett. Deshalb OpenVPN TCP 443 als Backup, und Wireguard auf UDP 443 ;)
cevaxn schrieb:
Was ist dieses Wireguard?
www.wireguard.com

OpenWRT ist für solche Spielereien aber besser geeignet, allerdings mit Wifi-Problemen auf Broadcom-Hardware (wie Deinem Asus Router). Auf einer Fritzbox 4040 z.B. funktioniert Wifi unter OpenWRT einwandfrei. Wenn Wifi aber nicht so wichtig ist, ist Dein Asus auch mit OpenWRT vollkommen ok.

OpenWRT kannst Du auch erst mal prima in einer VM testen ;)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: cevaxn
till69 schrieb:
Ja, wenn nicht 1350 und 1300 testen.
ladies and gentleman:
mein persönlicher Netzwerkexperte des Monats: till69
:D

Ich habe in DD-WRT den MTU-Wert auf 1300 gestellt und siehe da: das Internet funzt jetzt auch beim Telekom-Hotspot. Der Fehler ist also gefunden.

Aber warum eigentlich? hat die Telekom irgendetwas eingestellt, oder warum stellen sich andere Hotspots nicht so zickig an und akzeptieren auch 1500?
Ich würde ganz gerne bei 1500 bleiben.

Bei der Desktop-Version erhalte ich noch diese rotmarkierte Meldung:
WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1570', remote='link-mtu 1370'
WARNING: 'tun-mtu' is used inconsistently, local='tun-mtu 1500', remote='tun-mtu 1300'

schreibe ich "tun-mtu 1300" in die Client-Config, kommt dann folgende Meldung:
WARNING: normally if you use --mssfix and/or --fragment, you should also set --tun-mtu 1500 (currently it is 1300)

Muss man etwas machen, damit die Meldung nicht mehr kommt? Fühle mich unwohl, wenn irgendwelche Warnings bleiben.

till69 schrieb:
das probiere ich am WE mal aus. Mal schauen ob ich es hinkriege
 
Zurück
Oben