IPsec Verbindung bricht periodisch ab

Ich hatte ein „komisches“ Problem nach dem Aufbau einer IPsec Verbindung. Die Verbindung klappt, ping (ICMP) ging, SSH Login zum Server auch.

Wenn man aber innerhalb der des Servers bestimmte Kommandos (z.B. last, less oder vim) ausführte, „hing“ plötzlich die SSH Verbindung. Man musstre dann das Terminal Fenster schliessen, weil CTRL-C und CTRL-D auch nicht mehr gingen. Aber keine Probleme mit anderen Kommandos, wie ls, du, usw. Eine „ruhende“ SSH Verbindung konnte stundenlang ohne Probleme offen bleiben. Via Public IP auf denselben Server ging dann natürlich alles einwandfrei. Es MUSSTE also irgendwie am IPsec liegen. Nur sehr schräg, dass das nur einzelne Kommandos/Aufrufe/Programme betraf… 🧐

Nach langem suchen war es ein Problem der Paketgrösse. Das IPsec VPN braucht auch ein paar Bytes und man muss auf dem VPN Device somit die MTU entsprechend anpassen.

Die Lösung fand ich dann jedoch besser beim setzen von MSS Clamping mit der Maximum MSS 1380.

Den Optimalen Wert lässt sich übrigens mit ping bestimmen:

$ ping 192.168.0.1 -M do -s 8972
PING 192.168.0.1 (192.168.0.1) 8972(9000) bytes of data.
ping: local error: Message too long, mtu=1500

Hier sieht man den Wert der MTU. Von dieser macht man dann für IPsec die folgende Rechnung:

MSS=max ping + 28 -56

In früheren pfSense Versionen fand man die Einstellungen direkt bei den IPsec Advancend Settings. Ab pfSense 2.6 ist die Option in System / Advanced / Firewall & NAT zu finden.

Ressourcen

Published by

Steven Varco

Steven ist ein Redhat RHCE- und Kubernetes CKA Zertifizierter Linux-Crack und ist seit über 20 Jahren sowohl beruflich wie auch privat auf Linux spezialisiert. In seinem Keller steht ein Server Rack mit diversen ESX und Linux Servern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert