Site-to-site IPSec VPN zwischen VPNaaS (SIM-Cloud) und OPNsense Router (Remote Office)¶
- Beschreibung
- `Anfangsbedingungen`_
- Site A Konfiguration (VPNaaS)
- Site B Konfiguration (OPNsense)
- Tunnelfunktionsprüfung
Beschreibung¶
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.
| 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:
| 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:
| 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:
| 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 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:
| 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:
| 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
| 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 |
| 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 |
| 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 |
| 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
| Mode | Tunnel IPv4 | Select Tunnel mode |
| Description | Local network on VPNaaS | Description |
| Type | LAN subnet | Route the local LAN subnet |
| Type | Network | Route a remote network |
| Address | 10.5.4.0/24 | The remote LAN subnet |
| 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.
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:
| 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¶
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.