Heute kam es zu einem Problem, das eine Cisco Meraki sich nicht über eine pfSense® zu dem entfernten VPN verbinden konnte. Die Lösung ist einfach aber nicht sehr naheliegend. Das VPN, was von der Meraki aufgebaut wird, benötigt eine sogenanntes statisches Outbound NAT. Das heißt, das die ausgehenden Ports nicht von der pfSense Firewall auf dem Weg ins Internet verändert werden dürfen.

Vorher (Falsch):

Meraki-IP:48015 -> pfSense® -> PUBLIC-IP:42334 -> VPN Server

Nachher (Richtig):

Meraki-IP:48015 -> pfSense® -> PUBLIC-IP:48015 -> VPN Server

In normalen Umgebungen ist das („falsche“) Verhalten normal und auch gewünscht (ist es doch Teil der „natürlichen Firewall die durch NAT erzeugt wird),
aber in diesem speziellen Falle wird es nicht benötigt und muss angepasst werden.

Auf der pfSense® ist das aber einfach zu lösen. Dazu gehen wir in das Menü:

Firewall / NAT / Port Forward und dort auf Outbound und ändern dort den Modus auf Hybrid und speichern.

Dann erscheinen weiter runter die automatisch erstellten Regeln, der wir eine neue Regel mit „Add“ hinzufügen:

  • Bei Interface wird in der Regel WAN ausgewählt (was ja auch der Weg ins Internet ist),
  • Wenn man es nicht genauer weiß bei Protocol „any“ auswählen,
  • Source, also die Quelle, ist die IP Adresse (am besten eine feste oder im DHCP reservierte) der Maraki Box
  • und da es nur eine Box ist, reicht als Subnetzmaske die /32.

Im Abschnitt darunter wird „Static Port“ angehakt, was genau DIE Aufforderung ist NICHT den Port zu verändern.

Dann mit Speichern bestätigen.

Die Regel wird nun am Ende der Liste stehen,  was sie aber unwirksam macht (die generelle 192.168.133.0 Regel kommt zu erst),
also einfach darüber schieben und mit Save abspeichern.

Ganz oben dann noch auf die Apply Changes drücken und damit ist der komplette Regelsatz aktiv.

Wer das Ergebnis gleich sehen möchte, kann das beschleunigen, indem alle aktuellen „States“ noch geschlossen werden und wir dadurch die Meraki Box zwingen die Verbindung neu aufzubauen. Dazu gehen wir in das Menü Diagnostics / States, Filtern dort auf die interne IP Adresse und können alle „States“ mit „Kill States“ entfernen.

Wenn alles gut gelaufen ist, sollten die neuen Einträge mit schönen gleichen Ports glänzen: