Forum: PC Hard- und Software [VPN] OpenVPN von Zuhause aus blockiert Internet


von X. A. (wilhem)


Lesenswert?

Hallo Freunde,

ich habe neulich einen VPN Server (OpenVPN) in meinem Firmenrouter 
eingerichtet.
Da der Router für OpenVPN ausgelegt ist (Router Modell: Netgear Orbi 
RBR850), war die Einrichtung des VPNs und der Portforwarding ziemlich 
einfach. Mit meinem Laptop (Ubuntu mit OpenVPN3 client) kann ich eine 
VPN-Verbindung herstellen und mich mit dem PC in der Firma verbinden. Es 
funktioniert tadellos und bin ziemlich happy….
ABER: Nun das Problem… alles läuft super, aber wenn ich mich von Zuhause 
aus versuche, mich zu verbinden, habe ich folgende Probleme:

- Internet geht nicht mehr (es geht nur wenn ich den OpenVPN Client auf 
meinem Laptop stoppe)
- Jegliche ssh-Verbindung zu meinem remote-PC wird zwar hergestellt (ich 
sehe das Home Verzeichnis meines Linux-PCs in der Firma. Aber die 
Verbindung hängt nach einigen Sekunden… Dieses Verhalten finde ich echt 
komisch, da ich sonst – auch von anderen Firmen aus – mich von überall 
mit dem selben Setup und zu dem selben PC verbinden kann.

Nun habe ich mir kurz überlegt, dass es vielleicht an den zwei folgenden 
Faktoren liegen kann:

- Ich schalte das Protokoll von UDP auf TCP um (OpenVPN nutzt UDP, da 
dieses schneller als TCP sein sollte). Diese Option finde ich nicht ganz 
elegant, da ich in vielen Quellen in Netz lesen konnte, dass UDP für 
OpenVPN empfohlen und verwendet werden sollte.
ODER
- Ich muss einen Portforwarding AUCH am Router Zuhause einrichten. Dies 
widerspricht meiner bisherigen Erfahrung, da ich bei anderen Routern 
nichts geändert habe und trotzdem funktioniert die VPN-Verbindung 
tadellos. Zudem habe ich nirgendwo gelesen, dass ich auch für den Client 
eine spezielle Einrichtung am Router vornehmen sollte. Am Server ok, 
aber auf der Client-Seite? Zudem wüsste ich nicht, welche Ports ich in 
diesem Fall freischalten sollte (1194 auf 1194?).

Habt ihr eine Idee, wie ich endlich eine stabile und funktionierende 
VPN-Verbindung über OpenVPN von Zuhause aus herstellen kann?

Zuerst dachte ich sogar an eine allgemeine Internet-Störung in meiner 
Stadt. Aber Internet geht super, sobald ich den VPN-Client stoppe. 
Firewall am Laptop habe ich nicht und der Router ist eine alte Fritzbox 
7362 SL, die nie ein Problem hatte.

Danke im Voraus
Gruß
W.

von Marc (gierig) Benutzerseite


Lesenswert?

D. A. schrieb:
> - Internet geht nicht mehr (es geht nur wenn ich den OpenVPN Client auf
> meinem Laptop stoppe)

Deine Default Route deines Client wird wohl auf das Remote (der von vom 
VPN Server)umgebogen. Dein Client darf dann nicht über dein Firmennetz 
wieder ins
internet. Das kann so gewollt sein.

Lösung1: Sorge dafür das dein Client wieder rausdarf.
dann geht jeglicher traffic über dein VPN (was gewollt sein kann)
Das ist dann die übliche Technik die auch „VPN“ Firmen anwenden.

Lösung2: Sorge dafür das nur die Netze die du per VPN erreichen willst
auch über VPN gehen und die default route so bleibt wie ohne VPN.

Beides sollte über deinen VPN Server einzurichten sein. Wie genau
keine Ahnung bei deinem Router Modell...

Ansonsten gibt es natührlich auch andere Stolpersteine wie z.B
DNS. dein Client bekommt dann den „Firmen DNS“ der dann aber für d
en Client gar nicht beantworten kann/darf.


D. A. schrieb:
> - Jegliche ssh-Verbindung zu meinem remote-PC wird zwar hergestellt (ich
> sehe das Home Verzeichnis meines Linux-PCs in der Firma. Aber die
> Verbindung hängt nach einigen Sekunden…

„hängt“ ist für mich eher „unscharf“ und man kann da viel 
reininterpretieren.
Wenn es nur „von daheim“ passiert und nicht von wo anders, dann
ist wohl „daheim“ etwas Faul. Falsche MTU ist da gerne ein Kandidat

Im Grunde kann dir ein Packet Trace da einiges verraten, dazu bedarf
es aber solide Kenntnisse um das aufzusetzen und interpretieren zu 
können

von X. A. (wilhem)


Lesenswert?

Kurzes Update:

dank folgendes Artikels bin ich einen halben Zentimeter weiter gekommen: 
https://www.computerbild.de/artikel/cb-Tipps-Internet-FritzBox-OpenVPN-24113743.html

Die Ports habe ich auf der Client-Seite freigegeben (exakt wie auf dem 
Bild im Artikel zu sehen ist).
Dennoch habe ich immer wieder dasgleiche Problem... Die VPN-Verbindung 
lässt sich aufbauen. Doch die ssh-Verbindung friert nach wenigen 
Sekunden ein...

von X. A. (wilhem)


Angehängte Dateien:

Lesenswert?

Ok,

danke für die Vorschläge.
Ich weiß auch nicht, wie man dieses Split machen kann. Ich werde mich 
gründlich informieren... Das ist schon eine Richtung.

Was an SSH betrifft: Ich habe ein Screeshot hochgeladen. Die Verbindung 
zum Remote-PC über ssh (beide Maschinen sind mit Ubuntu ausgestattet) 
erfolgt. Dann... egal was ich für einen Befehl im Terminal eingeben, 
friert die Verbindung ein. Auf dem Bild ist der Befehl "top" zu sehen. 
Aber es spielt keine Rolle, was ich da eintippe. Die ssh-Verbindung 
friert einfach ein...

: Bearbeitet durch User
von Markus M. (adrock)


Lesenswert?

D. A. schrieb:

> Dennoch habe ich immer wieder dasgleiche Problem... Die VPN-Verbindung
> lässt sich aufbauen. Doch die ssh-Verbindung friert nach wenigen
> Sekunden ein...

Friert die SSH Verbindung auch ein, wenn Du nichts tippst oder nur 
kleine Ausgaben erzeugst? Z.B. friert sie auch bei einem "echo hello 
world!" ein? Oder erst wenn Du irgendwelche längere Ausgaben von Deinem 
Server generierst, also z.B. ein Verzeichnislistung oder das Anzeigen 
einer Textdatei (oder eben "top")?

Wenn die Verbindung erst bei einer (längeren) Ausgabe einfriert, deutet 
das auf ein Problem mit der Paketgröße und der Path MTU hin. Sprich die 
Gegenstelle schickt zu große Netzwerkpakete, die auf dem Weg zu Dir 
geteilt werden müssten (aufgrund der Einkapselung für den Tunnel), aber 
ein "Don't Fragment" Flag gesetzt haben und deswegen einfach verworfen 
werden. Die Gegenstelle merkt das aber nicht und versucht weiter große 
Pakete zu schicken. Normalerweise gibt es dafür Mechanismen, so dass die 
Gegenstelle dies erkennt und dann die Pakete verkleinert. Funktioniert 
aber je nach Randbedingungen nicht immer.

: Bearbeitet durch User
von X. A. (wilhem)


Lesenswert?

Wow... Danke für die Infos!

Es friert nur nach langem Befehlen ("top", "ls -l", "htop", usw.) ein.
Ich bin jetzt im Büro (hier funktioniert dieselbe VPN Verbindung prima), 
daher kann ich keinen Test machen. Ich werde aber heute Abend Zuhause 
versuchen, den MTU Wert anzupassen.

Danke!

von Peter Pan (Gast)


Lesenswert?

https://www.anleitungen.rrze.fau.de/internet-zugang/vpn/

Du willst einen Split Tunnel wenn der Zugriff ins Internet über deinen 
Heimanschluss laufen soll.

Schau dir die configs des RRZE dazu an, die sind dahingehend eigentlich 
immer aktuell und als Vorlage ideal.

Ich persönlich würde auf Wireguard an deiner Stelle setzen, damit kannst 
du einen weitaus höheren Durchsatz erzielen.

Sind irgendwelche Firewalls/DPI aktiv?

Wie schauen die Netze und Routen aus?

In der SSH config kannst du Keepalive usw. eintragen, manche Firewall 
ist da ganz besonders. QoS muss man auch überprüfen, genauso auch 
einfach die Verbindung und Kapazitäten an sich.

von Markus M. (adrock)


Lesenswert?

D. A. schrieb:

> Es friert nur nach langem Befehlen ("top", "ls -l", "htop", usw.) ein.
> Ich bin jetzt im Büro (hier funktioniert dieselbe VPN Verbindung prima),
> daher kann ich keinen Test machen. Ich werde aber heute Abend Zuhause
> versuchen, den MTU Wert anzupassen.

Ja, ich kenne mich mit OpenVPN jetzt nicht so aus, aber ggfs. musst Du 
die MTU des Tunnel-Interfaces auf Deinem Linux-Rechner kleiner stellen 
(1400 könnte ein guter Wert für den Anfang sein, je nachdem was der 
aktuelle Wert ist).

Du könntest auch mit iptables ein "tcp mss clamping" realisieren, aber 
ich würde erstmal das mit der Tunnel MTU versuchen.

von X. A. (wilhem)


Lesenswert?

So Jungs...

ich versuche seit einer Stunde dieses Problem zu lösen. Leider nichts...

Aber der Reihenfolge nach:

1) Zuhause habe ich einen Laptop (Ubuntu 20.04) und einen alten PC mit 
Ubuntu 18.04. In beiden habe ich die gleichen Konfigurationsdatei des 
OpenVPN-Clients installiert.
2) Bei beiden taucht das gleiche Problem auf.
3) Ich habe versucht eine VPN-Verbindung über mein Handy (Tethering über 
USB-Kabel) zu realisieren: Die VPN-Verbindung funktioniert einwandfrei. 
ssh friert nicht ein. Ich kann den Remote-Rechner problemlos bedienen 
und zwar sowohl vom Laptop aus als auch vom alten PC aus.
4) Der MTU-Wert habe ich am VPN-Server (also der Router in der Firma) 
über eine Fernverbindung über Tethering von 1500 (dieser Wert war 
voreingestellt) auf 1400 umgestellt. Der MTU-Wert am OpenVPN-Client 
(also Laptop und PC Zuhause) habe ich ebenfalls auf 1400 gedrosselt 
(standardmäßig beträgt er 1500).
5) Versuche ich eine VPN-Verbindung über Kabel herzustellen dann habe 
ich die oben oft erwähnten Probleme. Wechsle ich zum Tethering dann geht 
wieder alles...

Das waren die ersten Ergebnisse. Nun habe ich einen Termin.
Später versuche ich:
a) Den MTU auf 1300 an beiden Seiten zu drosseln
b) Den Parameter "keepalive" in der SSH config Datei einzustellen.

FW habe ich nicht (nur am Router. Ein Portforwarding habe ich aber 
bereits gemacht).

: Bearbeitet durch User
von X. A. (wilhem)


Lesenswert?

Es hat geklappt!!!!

Zuerst habe ich die "Keepalive" Option in der SSH-Datei eingepflegt und 
leider nichts erzielt.
Dann...habe ich den Link von Peter Pan angeschaut. Da bin ich auf die 
Beispiele für OpenVPN config Dateien stutzig geworden und mir die 
Parameter in diesen Dateien genauer unter die Lupe genommen.

Dann bin ich auf die folgende Konfiguration gestoßen:
1
# Neue Einstellungen aus: https://blog.doenselmann.com/openvpn-durchsatz-optimieren/
2
tun-mtu 1400
3
fragmentation 1300
4
mssfix 1300
5
push "tun-mtu 1400"
6
push "fragmentation 1300"

entscheidend waren hier: fragmentation, mssfix und die beiden 
Befehle push, die die Möglichkeit anbieten, den remoten Server aus dem 
Client aus zu übersteuern (ich bin immer davon ausgegangen, dass ich vor 
dem Router sitzen muss, um ihn zu konfigurieren).

Das Resultat ist Klasse!!! SSH friert nicht mehr ein und selbst Internet 
geht.
Ich muss nun den Split-Tunnel einrichten und dann bin ich wirklich 
zufrieden.

Welches Buch über Netzwerke für Laien würdet ihr empfehlen?

Gruß

: Bearbeitet durch User
von Zombie (Gast)


Lesenswert?

D. A. schrieb:
> Internet geht nicht mehr (es geht nur wenn ich den OpenVPN Client auf
> meinem Laptop stoppe)

Wenn du den Internetzugriff nicht über das VPN leiten willst, darf 
folgende Direktive NICHT in der Server config stehen (also 
auskommentieren).
1
push "redirect-gateway def1 bypass-dhcp"

von Zombie (Gast)


Lesenswert?

bzw. jede Direktive deaktivieren, die mit
1
push "redirect-gateway
in der Server config oder
1
redirect-gateway
in der Client config beginnt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.