Site-to-Site-VPN zwischen OPNsense und pfSense

Im Vorfeld einer anstehende Migration bei einem Kunden sollten alle neuen Geräte bei uns in der Werkstatt vorbereitet werden. Zu diesem Zweck sollte ein Site-to-Site-VPN hergestellt werden, normalerweise keine große Sache.

Beim Kunden lief zu diesem Zeitpunkt eine OPNsense als reiner OpenVPN-Server als VM auf einem Hyper-V (Windows Server 2019 Standard) sowie eine Telekom DigitalisierungsBox Premium als Router, auf unserer Seite wurde eine pfSense in der Werkstatt aufgestellt.

Ausgehend von den Vorgaben ist der S2S-Server auf der OPNsense schnell erstellt:

Bemerkung: Da es nur eine vorübergehende Geschichte ist, wurde kurzerhand „Shared Key“ verwendet, für dauerhafte Lösungen empfiehlt sich der Einsatz von SSL/TLS.

  • Am Web-Interface anmelden.
  • Zu „VPN – OpenVPN – Servers“ wechseln.
  • Auf „+ Add“ klicken.
  • Bei „Description“ einen Namen eingeben.
  • Bei „Server Mode“ „Peer to Peer (Shared Key)“ auswählen.
  • Bei „IPv4 Tunnel Network“ das Transfer-Netz (z.B. 10.0.8.0/24) eintragen.
  • Bei „IPv4 Local Network“ das lokalen Subnetz (LAN, z.B. 192.168.2.0/24) eintragen.
  • Bei „IPv4 Remote Network“ das entfernte Subnetz (das LAN der Gegenseite, z.B. 192.168.1.0/24) eintragen.
  • Ggf. sofern die Gegenstelle keine feste öffentliche IP-Adresse hat noch den Haken setzen bei „Dynamic IP“.
  • Auf „Save“ klicken.
  • Anschließend den Server nochmals bearbeiten (Stift-Symbol) und aus dem Feld „Shared Key“ den Daten kopieren.
  • Unter „Firewall – Rules – WAN“ noch eine eingehende Regel für den S2S-Server-Port erstellen sowie unter Firewall – Rules – OpenVPN“ noch Regeln erstellen die den Datenverkehr der Gegenseite zulässt.

Da in diesem Szenario die OPNsense als VPN-Server hinter einem Router betrieben wurd, muss statt „WAN“ „LAN“ verwendet werden. Auf dem Router selbst muss eine Route erstellt werden, die den Datenverkehr zur pfSense-Seite an die OPNsense schickt, z.B.

IPv4-Netz: 192.168.1.0
Subnutz: 255.255.255.0
Gateway: <Die IP-Adresse der OPNsense>

Alternativ kann auf jedem Computer eine entsprechende Route hinterlegt werden.

Auf der pfSense sind die Schritte ähnlich einfach:

  • Am Web-Interface anmelden.
  • Zu „VPN – OpenVPN – Clients“ wechseln.
  • Auf „+ Add“ klicken.
  • Bei „Server Mode“ „Peer to Peer (Shared Key)“ auswählen.
  • Bei „Server host or address“ die öffentliche Adresse der OPNsense eintragen.
  • Bei „Description“ einen Namen eintragen.
  • Den Haken entfernen bei „Auto generate“ und den zuvor aus der OPNsense kopierten Schlüssel einfügen.
  • Bei „Auth digest algorithm“ „SHA1 (160-bit)“ auswählen.
  • Bei „IPv4 Tunnel Network“ das gleiche Transfer-Netz wie in der OPNsense (z.B. 10.0.8.0/24) eintragen.
  • Bei „IPv4 Remote network(s)“ das entfernte Subnetz (LAN auf der OPNsense-Seite, z.B. 192.168.2.0/24) eintragen.
  • Bei „Compression“ „Omit Preference (use OpenVPN Default)“ auswählen.
  • Auf „Save“ klicken.
  • Unter „Firewall – Rules – OpenVPN“ Regeln erstellen, die den Datenverkehr der Gegenstelle zulässt.

Dies ist soweit nur die Minimal-Konfiguration. Hinsichtlich der Sicherheit sollten die Cipher und sowohl die Firewall-Regeln entsprechend angepasst werden.

Überraschung mit der DigitalisierungsBox Premium

Trotz aller Erfahrung, Vorbereitung, mehrfacher Prüfung der Konfiguration, uvm. wollte das VPN nicht so recht laufen. Man konnte zwar gegenseitig Pingen, mehr aber auch nicht. In den Firewall-Logs auf beiden Seiten fand sich kein Treffer, die Routen waren beidseitig (inkl. in der DigiBox) gesetzt, keine Change.

Nach drei-stündigen Hin-und-Her dann der Abbruch und eine entsprechende Umdisponierung der Planung sowie der Termine.

Es schien, als würde die DigitalisierungsBox außer ICMP nicht weiter Routen. Nachgeprüft haben wir das beispielsweise mit tcpdump auf beiden VPN-Seiten, da sah man zwar die Pakete bei der OPNsense ankommen, aber an den Ziel-Hosts kam nichts an.

Der Kunde meinte bereits im Vorfeld das die DigiBox schon öfter Probleme gemacht hat und im Rahmen der Migration sollte diese zudem Weichen.

Ich konnte oder wollte das Ganze so nicht Ruhen lassen und nun da die DigiBox raus und eine FRITZ!Box drinnen ist reaktivierte ich das VPN noch mal. Außer der Port-Freigabe und der Route musste dazu ja nichts weiter in der FRITZ!Box konfiguriert werden.

Siehe da, es lebt! Das Ganze läuft auf Anhieb und so wie erwartet.

2 Kommentare

  • Hallo, jetzt hab ich Deinen Artikel mehrmals gelesen und bin etwas irritiert. Du beschreibst eine OpenVPN Einrichtung bei pf.. bzw. OPNsense. Die DigiBox beherrscht meines Wissens nach nur IPSec und kein SSL basiertes VPN. Wenn dann das Ganze – nur mit IPsec, was ja die XYsensen auch können . sowohl IKEv1 und IKE v2. Oder hab‘ ich was falsch verstanden. Ansonsten an dieser Stelle mal ein Lob an Deinen BLOG – schaue regelmässig vorbei. 😉 Weiter so!

  • Hallo Bernd,

    richtig, die DigiBox kann nur IPsec.
    In diesem Szenario hat sie allerdings nichts mit der (Open)VPN-Verbindung ansich zu tun, da diese von der OPN- und pfSense umgesetzt wird.
    Die DigiBox hätte nur auf der OPNsense-Seite das Routing zum LAN-Netz der Gegenstelle über die OPNsense machen sollen, was warum auch immer nicht funktioniert hat.

    > Ansonsten an dieser Stelle mal ein Lob an Deinen BLOG – schaue regelmässig vorbei. 😉 Weiter so!

    Danke und mach ich 😉

Schreibe einen Kommentar

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