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.
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
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...
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
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
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!
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.
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.
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
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
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" |
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.