Site-to-site IPSec VPN zwischen VPNaaS (SIM-Cloud) und OPNsense Router (Remote Office)

Beschreibung

Betrachten Sie die Konfiguration der IPSec Site-to-Site VPN-Verbindung zwischen dem VPNaaS auf der Seite der Cloud-Infrastruktur und dem OPNsense-basierten Router auf der Seite des Remote Office.
Beide Router haben echte IP-Adressen an den WAN-Schnittstellen, d.h. sie verwenden kein NAT.
Dieser Artikel enthält Konfigurationsbeispiele unter Verwendung einer Verwaltungsoberfläche (GUI)

Ausgangsbedingungen

  • Beide Knoten, zwischen denen der VPN-Tunnel aufgebaut werden soll, haben reale IP-Adressen.
  • Standort A ist das von SIM-Cloud bereitgestellte cloudbasierte VPNaaS.
  • Standort B ist die Infrastruktur des Kunden, basierend auf OPNsense.
  • Jeder Standort hat sein eigenes privates Subnetz:
    • Site „A“ - 10.5.4.0/24
    • Site „B“ - 192.168.255.0/24
  • VPNaaS version: 12.0.5
  • OPNsense version: 19.7-amd64

Warnung

Abhängig von der Betriebssystemversion des Routers oder der Software kann die weitere Konfiguration variieren.

Hinweis

Um eine VPN-Verbindung aufzubauen, müssen die folgenden Voraussetzungen erfüllt sein:

  • Netzwerkverfügbarkeit zwischen den Routern:

    • Protocol: UDP, port 500 (für IKE, um encryption keys zu verwalten).
    • Protocol: UDP, port 4500 (für IPSEC NAT-Traversal mode).
    • Protocol: ESP, value 50 (für IPSEC).
    • Protocol: AH, value 51 (für IPSEC).
  • Die Firewall-Regeln dürfen den Netzwerkverkehr zwischen den Routern und den privaten Subnetzen nicht blockieren.

  • Private Subnetze, die über IPSec verbunden werden, müssen unterschiedlich sein und dürfen sich nicht gegenseitig einschließen.

„Summary table“
VPN Router VPN Peer IP Private Network Private Network GW IP Private Network Host IP
Site „A“ (VPNaaS) 156.67.54.218 10.5.4.0/24 10.5.4.1/32 10.5.4.7
Site „B“ (OPNsense) 156.67.53.137 192.168.255.0/24 192.168.255.21/32 192.168.255.29

In diesem Beispiel wird die Erstkonfiguration der sicheren IPsec-Site-to-Site-VPN-Verbindung durchgeführt. Dazu verbinden wir die privaten Netze 10.5.4.0/24 und 192.168.255.0/24, die sich hinter den Routern befinden.

Site A Konfiguration (VPNaaS)

Die Konfiguration des VPNaaS erfolgt gemäß der in der Dokumentation angegebenen Anleitung :

A1. Konfigurieren der IKE Policy. Für diesen Schritt werden die folgenden Parameter verwendet:

„IKE Policy“
Name ikepolicy
Authorization algorithm sha1
Encryption algorithm 3des
IKE version v2
Lifetime value for IKE keys 86400
Perfect Forward Secrecy group5
IKE Phase1 negotiation mode main

A2. Konfigurierung der IPSec Policy. Für diesen Schritt werden die folgenden Parameter verwendet:

„IPsec Policy“
Name ipsecpolicy
Authorization algorithm sha1
Encapsulation mode tunnel
Encryption algorithm 3des
Lifetime value for IKE keys 3600
Perfect Forward Secrecy group5
Transform Protocol esp

A3. Konfigurierung des VPN Service. Für diesen Schritt werden die folgenden Parameter verwendet:

„VPN service“
Name VPNservice
Router Select from list of cloud project routers

A4. Konfigurierung der Endpoint Groups. Für diesen Schritt werden die folgenden Parameter verwendet:

„Endpoint Groups“
Endpoint group name Type Value
local_epg SUBNET 10.5.4.0/24
remote_epg CIDR 192.168.255.0/24

A5. Konfigurierung der IPsec site connection. Für diesen Schritt werden die folgenden Parameter verwendet:

„IPsec site connection“
Name ipsecsiteconn
VPN service associated with this connection VPNservice
Endpoint group for local subnet(s) local_epg
IKE policy associated with this connection ikepolicy
IPsec policy associated with this connection ipsecpolicy
Peer gateway public IPv4/IPv6 Address or FQDN 156.67.53.137
Peer router identity for authentication (Peer ID) 156.67.53.137
Endpoint group for remote peer CIDR(s) remote_epg
Pre-Shared Key (PSK) string Baejii9ahwoo
MTU 1500

A6. Nachdem alle diese Änderungen vorgenommen wurden, kann man sehen, dass die IPsec-Standortverbindung erfolgreich erstellt wurde und den Status ‘Down’ hat. When enn der Tunnel am anderen Ende konfiguriert und erfolgreich aufgebaut ist, ändert sich dieser Status in ‘Active’.

Site B Konfiguration (OPNsense)

Die Anleitung zur Konfiguration des VPN auf der OPNsense Software ist dem Originalkapitel des Softwareherstellers entnommen: „Setup IPsec site to site tunnel“.

B0-1. Bevor Sie den VPN-Tunnel direkt konfigurieren, stellen Sie sicher, dass das Routing des Verkehrs aus den privaten Netzwerken (definiert in RFC1918) über die WAN-Schnittstelle erlaubt ist.

Gehen Sie dazu in das Menü ‘Interfaces ‣ [WAN]’ und deaktivieren Sie das Kontrollkästchen ‘Block private networks’.
Speichern Sie Ihre Änderungen mit ‘Save’ und übernehmen Sie sie mit ‘Apply changes’.

B0-2. Um IPsec-Tunnelverbindungen zuzulassen, konfigurieren Sie Protokollregeln für die Firewall:

  • Protocol ESP
  • UDP Traffic on Port 500 (ISAKMP)
  • UDP Traffic on Port 4500 (NAT-T)

Gehen Sie dazu in das Menü ‘Firewall ‣ Rules ‣ WAN’ und erstellen Sie die Regeln gemäß der Tabelle:

„Edit WAN Firewall rules“
Action Interface TCP/IP Version Protocol Destination Destination port range Description
Pass WAN IPv4 ESP WAN address Any IPsec ESP
Pass WAN IPv4 TCP/UDP WAN address ISAKMP IPsec ISAKMP
Pass WAN IPv4 TCP/UDP WAN address IPsec NAT-T IPsec NAT-T

Hinweis

Für zusätzliche Sicherheit kann die IP-Adresse des VPNaaS-Routers im Regelfeld „Source“ definiert werden (in diesem Beispiel ist dies 156.67.54.218)

Nachdem Sie die Regeln erstellt haben, klicken Sie auf die Schaltfläche ‘Apply changes’.

B1. Konfigurieren des VPN-IPsec-Tunnels. Phase 1

Gehen Sie in das Menü ‘VPN ‣ IPsec ‣ Tunnel Settings’ und drücken Sie ‘+’.
Die folgenden Parameter werden verwendet:
General information
Connection method default  
Key Exchange version V2 Must match the version specified in the VPNaaS
Internet Protocol IPv4  
Interface WAN An interface facing the Internet network must be selected
Remote gateway 156.67.54.218 In this case the public IP address of the VPNaaS
Description VPNaaS Description
Phase 1 proposal (Authentication)
Authentication method Mutual PSK Use Pre-shared Key
My identifier My IP address Simple identification if using a fixed IP
Peer identifier Peer IP address Simple identification if using a fixed IP
Pre-Shared Key Baejii9ahwoo Random characters must be same as the sequence entered at the other end
Phase 1 proposal (Algorithms)
Encryption algorithm 3DES Must match the version specified in the VPNaaS
Hash algoritm SHA1 Must match the version specified in the VPNaaS
DH key group 5 Must match the version specified in the VPNaaS
Lifetime 86400 Must match the version specified in the VPNaaS
Advanced Options
Disable Rekey Unchecked Re-request key if action times out
Disable Reauth Unchecked For IKEv2 only re-authenticate peer on rekeying
NAT Traversal Disabled Always enabled for IKEv2 NAT traversal
Dead Peer Detection Unchecked  

Speichern Sie die Änderungen, indem Sie auf die Schaltfläche „Save“ klicken.

B2. Konfigurieren des VPN-IPsec-Tunnels. Phase 2

Gehen Sie zum Men ‘VPN ‣ IPsec ‣ Tunnel Settings’. Nach Klicken des Buttons ‘+ Show 0 Phase-2 entries’ öffnet sich eine leere Liste; drücken Sie rechts ‘+’(Phase-2-Eintrag hinzufügen), um einen Eintrag für ‚Phase 2‘ hinzuzufügen.
Die folgenden Parameter sind zu verwenden:
General information
Mode Tunnel IPv4 Select Tunnel mode
Description Local network on VPNaaS Description
Local Network
Type LAN subnet Route the local LAN subnet
Remote Network
Type Network Route a remote network
Address 10.5.4.0/24 The remote LAN subnet
Phase 2 proposal (SA/Key Exchange)
Protocol ESP Select ESP for encryption
Encryption algorithms 3DES Must match the version specified in the VPNaaS
Hash algortihms SHA1 Must match the version specified in the VPNaaS
PFS Key group 5(1536bits) Must match the version specified in the VPNaaS
Lifetime 3600 Must match the version specified in the VPNaaS

Speichern Sie Ihre Änderungen durch Klicken auf „Save“ und übernehmen Sie sie durch Klicken auf „Apply changes“.

B3. Aktivieren Sie den VPN-IPsec-Tunnel.

Gehen Sie in das Menü ‘VPN ‣ IPsec ‣ Tunnel Settings’ und setzen Sie ein Häkchen bei dem Punkt ‘Enable IPsec’.
Speichern Sie die Änderungen, indem Sie auf die Schaltfläche “ Save “ klicken.

B4. Fügen Sie der Firewall Regeln hinzu, um den Datenverkehr durch den IPsec-Tunnel in das lokale Netzwerk zuzulassen.

Gehen Sie dazu in das Menü ‘Firewall ‣ Rules ‣ IPsec’ und fügen Sie die Regel gemäß der Tabelle hinzu:

„Edit IPsec Firewall rules“
Action Interface TCP/IP Version Protocol Destination Destination port range Description
Pass IPsec IPv4 any LAN net any Allow IPsec traffic to LAN net

Nachdem Sie die Regeln erstellt haben, klicken Sie auf die Schaltfläche „Apply changes“.

Tunnelfunktionsprüfung

Wenn diese Änderungen abgeschlossen sind, sollte der VPN-Tunnel aufgebaut sein und der Traffic zwischen den lokalen Netzen sollte durch ihn fließen können.
Dies kann mit einem Ping-Befehl zwischen den Hosts in den gegenüberliegenden lokalen Netzen überprüft werden.

Hinweis

Wenn der Tunnel nicht aufgebaut ist, starten Sie den VPN-Dienst auf beiden Seiten neu.

  • Um den Status des Tunnels in OPNsense zu überprüfen, gehen Sie in das Menü ‘VPN ‣ IPsec ‣ Status Overview’. Dort können Sie auch auf das Piktogramm mit dem ‚(i)‘ Symbol klicken, um die Details für ‚Phase 2‘ zu sehen.
  • Der Status „IPsec site connection“ in VPNaaS hat sich auf „Active“ geändert.