Einrichtung von einem IPSec-VPN zwischen Ubiquiti Security Gateway und PFSense Firewall

Worum geht es

Wer mich kennt weiß, dass ich schon lange und sehr gerne Produkte von der Firma Ubiquiti einsetze. Das Portfolio erstreckt sich über alle möglichen Netzwerk-Geräte, angefangen von WLAN-APs über Switches bis hin zu Routern. Einer dieser Router, die man kaufen kann, ist das Ubiquiti Security Gateway. Dieses gibt es in zwei Varianten, einmal “normal” und einmal als Pro-Modell. Verwaltet werden die Geräte über einen Controller, über diesen Controller kann man unter anderem auch einen VPN-Tunnel zwischen zwei Geräten erstellen. Ich stand vor kurzem vor der Herausforderung, mit nur einem USG Pro-Gerät einen IPsec-VPN-Tunnel zu einem anderen Router aufzubauen, genauer gesagt zu einer PFSense Firewall. Ich habe ein bisschen gesucht und habe erst nach ein wenig rumprobieren die korrekten Einstellungen herausgefunden, die ich hier gerne teile.

Wichtige Information: Ein Security Gateway kann nur ein IPsec-VPN nutzen, wenn auf dem Router direkt die (WAN-) IP anliegt. Sobald ein NAT vorhanden ist, geht kein IPsec VPN mehr. In diesem Fall muss OpenVPN genutzt werden!

Die Einstellungen im Security Gateway

Wir beginnen mit den Einstellungen im USG Pro. Hier wird in der entsprechenden Site in der Administration unter Networks ein neues Netzwerk erstellt.

Die Einstellungen sehen wie folgt aus:

Die Möglichkeiten, die mir hier geboten werden, sind leider nicht die besser, z.B. stört mich die Verwendung von SHA1, die (noch schlechtere) Alternative wäre MD5. SHA256 ist leider nicht vorhanden, das sollte eigentlich Standard sein. Ist aber leider nicht, schade.

Die Advanced Options

Die Werte für die Encryption und die DH Group können natürlich mit der Gegenseite angepasst werden (die Aussage im Screenshot bezieht sich auf die Screenshots der Gegenseite), solange beide Seiten gleich eingestellt sind, wird auch eine Verbindung aufgebaut. DH Group 2 ist vielleicht auch nicht die beste Wahl heutzutage…

Die Einstellungen in der PFSense

Nachdem wir nun die Seite A mit dem USG eingerichtet haben, kommen wir nun zu den Einstellungen der Site B. Hier gilt es, die Einstellungen der PFSense an das USG Pro anzupassen, damit der Tunnel aufgebaut werden kann.

Wir beginnen mit VPN => IPsec

Hier müssen wir die beiden Phasen des VPNs nacheinander anlegen, wir beginnen mit Phase 1. Dazu erstellen wir einen neuen P1-Tunnel.

Dieser wird wie folgt konfiguriert:

Nachdem wir die Einstellungen wie in dem Screenshot gesetzt haben, speichern wir die Phase 1 und fügen die Phase 2 hinzu. Die Einstellungen dieser Phase 2 sehen wie folgt aus:

Werden die Einstellungen wie in diesen Screenshots gesetzt, verbinden sich die beiden Systeme zueinander und bauen einen IPsec-VPN-Tunnel auf. Wird in der Phase 2 unter Advanced Configuration eine IP-Adresse auf der Gegenseite angegeben, wird diese versucht anzupingen. Dies führt dazu, dass ein System im anderen Netzsegment versucht wird zu erreichen und sich dadurch ggf. der Tunnel (wieder) aufbaut, falls die Verbindung mal unterbrochen werden sollte.

Die Performance

Die Nutzung von einem IPsec-VPN zwischen zwei USG Pro-Geräten ist einigermaßen schnell und man kann mit einer akzeptablen Bandbreite arbeiten. Ich habe leider gemerkt, dass die nutzbare Bandbreite bei dieser Art von VPN ziemlich beschränkt ist, ich habe eine maximale Datenübertragung von 20 Mbps gesehen, was nicht wirklich viel ist wenn man bedenkt, dass ein Gerät einen Downstream von bis zu 400 Mbps hat und das andere Geräte in einem Rechenzentrum mit Gigabit-Anbindung steht. Dieses Problem haben wohl auch noch andere, im Ubiquiti-Forum sind einige Einträge zu lesen, bei denen die mangelnde Bandbreite von einem IPsec-VPN angemerkt wird. Wenn ich es zeitlich schaffe, werde ich testweise mal eine IPsec-VPN-Strecke auf OpenVPN umstellen und mir die Bandbreite in diesem Szenario angucken, vielleicht bringt dies schon eine Lösung bzw. Besserung.

Fazit

Die Anbindung zwischen USG Pro und PFSense ist grundsätzlich möglich, dieser Artikel listet die benötigten Einstellungen und Optionen auf. Was unschön ist, ist die magere Art der Verschlüsselung und die mangelhafte Bandbreite. Wenn allerdings, wie in meinem Fall, nur Kilobytes über die Strecke laufen, kann die Höhe der maximalen Bandbreite ein bisschen vernachlässigt werden. Ist dies aber wichtig, ist diese Art der Verbindung vermutlich nicht die wünschenswerte Lösung.


Sie benötigten persönliche Unterstützung oder haben nicht die richtige Lösung für Ihr Problem gefunden?

Dieser Blog wird von mir, Jan Kappen, in seiner Freizeit betrieben, hier beschreibe ich Lösungen für Probleme aller Art oder technische Anleitungen mit Lösungsansätzen.

Die berufliche Unabhängigkeit

Ich bin seit Januar 2020 vollständig selbstständig und habe meine eigene Firma gegründet, die Building Networks mit Sitz in Winterberg im schönen Sauerland. Hier stehe ich als Dienstleister gerne für Anfragen, Support oder Projekte zur Verfügung.

Die Firma Building Networks bietet Ihnen:

  • Hilfe und Support per Telefon, Fernwartung oder persönlich vor Ort
  • Projekt-Unterstützung
  • Ausgezeichnete Kompetenz zu den Themen
    • Microsoft Hyper-V
    • Microsoft Failover Clustering & HA
    • Storage Spaces Direct (S2D) & Azure Stack HCI
    • Veeam Backup & Recovery
    • Microsoft Exchange
    • Microsoft Exchange Hybrid Infrastruktur
    • Microsoft Active Directory
    • Microsoft Office 365
    • Ubiquiti
    • 3CX VoIP PBX
    • Fortinet Network Security
    • Baramundi Software
    • ...

Ich freue mich über Ihren Kontakt, weitere Informationen finden Sie auf der Webseite meiner Firma unter Building-Networks.de

Jan

Jan Kappen arbeitet seit 2005 in der IT. Er hat seine Ausbildung 2008 abgeschlossen und war bis 2018 als IT-Consultant im Bereich Hyper-V, Failover Clustering und Software Defined Storage unterwegs. Seit 2015 wurde er jährlich von Microsoft als Most Valuable Professional (MVP) im Bereich "Cloud & Datacenter Management" ausgezeichnet für seine Kenntnisse und die Weitergabe seines Wissens. Jan ist häufig auf Konferenzen als Sprecher zu finden, weiterhin bloggt er viel. Von September 2018 bis Dezember 2019 war Jan als Senior Network- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland angestellt. Im Januar 2020 hat er den Sprung in die Selbstständigkeit gewagt und ist seitdem Geschäftsführer der Firma Building Networks in Winterberg. In seiner Freizeit kümmert er sich um das Freifunk-Netzwerk in Winterberg und Umgebung.

9 Kommentare:

  1. Hallo Jan,

    vielen Dank für die Klasse Anleitung. Sehr gut strukturiert und leicht verständlich!

    Hast Du den Test mit OpenVPN schon durcheführt? Eine kurze Hardcopy Deiner Einstellungen wären für mich interessant.

    Viele Grüße,

    Dirk.

  2. Hallo Jan,

    auch ich möchte mich für die Anleitung herzlich bedanken. Sie hat mir super weitergeholfen und leider auch etwas Hoffnung zerschlagen (Stichwort: IPsec behind NAT).

    Leider muss ich deinen Hinweis am Anfang des Artikels korrigieren:
    Tatsächlich funktioniert IPsec durch ein NAT hindurch. Dies habe ich bereits erfolgreich mit zwischen der USG und einer pfSense sowie einer Palo Alto Firewall getestet. Auf der USG wird an der Stelle “Local WAN IP” die tatsächliche Adresse (nicht die öffentliche IP!) eingetragen. D.h. die private IP des Routers zum Internet (Fritz!Box, DigiBox, …), welche dem WAN-Interface zugewiesen wurde.
    Der Router zum Internet (Fritz!Box, DigiBox, …) gibt die Ports und Protokolle für IPSec (500 UDP, 4500 UDP, 10000 TCP und ESP) an das WAN-Interface der USG weiter.
    Auf der Seite der pfSense bzw. der Palo Alto habe ich als “Remote Gateway” die öffentliche IP eingetragen, jedoch bei “Peer Identifier” unter “Authentication” die IP-Adresse der WAN-Schnittstelle der USG (also die gleiche die als “Local WAN IP” auf der USG eingetragen wurde).

    Die Vorgehensweise auf Seite der USG ist auch in der KB von Ubiquiti nachzulesen:
    https://help.ubnt.com/hc/en-us/articles/360002426234-UniFi-USG-UDM-VPN-How-to-Configure-Site-to-Site-VPN#3
    zu finden unter Manual IPSec -> Local WAN IP:
    “Local WAN IP: Public IP of the USG adopted to the site in which this VPN is being configured. If this USG is behind NAT configure the address found on the WAN interface. To find the WAN interface IP navigate to Devices > USG Properties Panel > Details > WAN 1.”

    Gruß und viel Spaß beim zukünftigen Einrichten

    Heiko

    • Hallo Heiko,
      danke für den Hinweis und die weiterführenden Informationen. Ich habe es mittlerweile auch schon gemacht mittels “Exposed Host” auf einer Fritzbox, das hat ebenfalls funktioniert.
      Danke und Gruß
      Jan

  3. Alexander Wagner

    Hallo!

    Das hört sich sehr gut an!
    Versuche zur Zeit folgende VPN Connection aufzubauen:

    Site A:
    Static IP, Fritzbox Cable mit UDMPRO als exposed host (externe IP)

    Site B:
    Dynamic IP, Fritzbox 7590 an Telekom, mit USG als exposed host (IP im Subnetz der Fritzbox)

    Site A, scheint wie oben beschrieben simple

    Site B, IPSEC Ports freigeben für IP USG, statische Route fritz nach USG subnetz, usg beschrieben wie oben! Richtig ?!

    Danke im Voraus für ein Feedback
    Gruß

    • Moin Alexander,
      wenn du auf beiden Seiten ein USG als exposed Host betreibst, brauchst du keine weiteren Portfreigaben oder sonstige Einstellungen. Lenkst du das VPN von Site A auf die IP von Site B, wird automatisch alles auf das zweite USG geschmissen. Wenn dann noch beide Einstellungen passen, baut sich das VPN auf.
      Schönen Gruß, Jan

  4. Nicht zwei USGs, siehe bitte oben.
    Danke und Gruß
    Alexander

  5. Hi Alexander, sorry falsch gelesen. Sowohl USG als auch UDM Pro brauchen keine speziellen Freigaben in der Fritzbox, wenn sie als Exposed Host konfiguriert sind. Ein Exposed Host ist grundsätzlich frei erreichbar, egal ob es ein UI-Gerät ist oder ein anderes Gerät. Hast du folgenden Artikel schon gesehen? https://help.ui.com/hc/en-us/articles/360002426234-UniFi-USG-UDM-VPN-How-to-Configure-Site-to-Site-VPNs
    Gruß, Jan

  6. Hi Jan,
    yap, beide sind exposed hosts, das USG liegt aber mit seiner IP im Subnetz der Fritzbox. Was gebe ich als eigene IP, bzw. im UDM als peer ip?
    LG
    Alexander

  7. Hallo zusammen,

    ich bin gerade dabei eine Verbindung zwischen einer USG Pro und einer pfSense einrichten. Die USG Pro hängt hinter einer Fritzbox – sollte ja eigentlich funktionieren, zumindest in den Kommentaren. Ich habe es auch so versucht in der Config der USG die “WAN IP” einzugeben, auch auf der pfsense habe ich unterschiedliche varianten probiert (gar keine Authentifizierung über die ID/IP usw.) doch leider bekomme ich keine Verbindung hin. Die restlichen Einstellungen habe ich so wie hier beschrieben eingerichtet.
    Was bei mir noch ist: ich habe schon eine bestehende S2S Verbindung zu einer anderen USG über OpenVPN am laufen – kann es an dieser liegen?

    Viele Grüße
    Manuel

Schreibe einen Kommentar

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