Verbindung zu einem strongSwan-Peer herstellen
Mit IBM Cloud VPN for VPC können Sie Ihre VPC über einen VPN-Tunnel sicher mit einem lokalen Netz zu verbinden. Dieser Abschnitt enthält eine Anleitung dazu, wie Sie Ihr strongSwan-VPN-Gateway für die Verbindung zu VPN for VPC konfigurieren.
Diese Anweisungen basieren auf Linux strongSwan U5.3.5/K4.4.0-133-generic.
Lesen Sie die Einschränkungen für VPN-Gateways, bevor Sie damit fortfahren, eine Verbindung zu Ihrem lokalen Peer herzustellen.
Wechseln Sie in das Verzeichnis /etc und erstellen Sie eine neue benutzerdefinierte Tunnelkonfigurationsdatei mit einem Namen (z. B. ipsec.abc.conf
). Bearbeiten Sie die Datei /etc/ipsec.conf
, um die neue
Datei ipsec.abc.conf
einzufügen, indem Sie die folgende Zeile hinzufügen:
include /etc/ipsec.abc.conf
Wenn das strongSwan-VPN eine Verbindungsanforderung von VPN for VPC empfängt, werden von strongSwan die IPsec Phase 1-Parameter verwendet, um eine sichere Verbindung herzustellen und das VPN for VPC-Gateway zu authentifizieren. Wenn die Sicherheitsrichtlinie die Verbindung zulässt, richtet das strongSwan-VPN den Tunnel unter Verwendung der IPsec Phase 2-Parameter ein und wendet die IPsec-Sicherheitsrichtlinie an. Schlüsselmanagement, Authentifizierung und Sicherheitsservices werden über das IKE-Protokoll dynamisch vereinbart.
Zur Unterstützung dieser Funktionen müssen die folgenden allgemeinen Konfigurationsschritte auf dem strongSwan-VPN durchgeführt werden:
- Definieren Sie die Phase 1-Parameter, die strongSwan zum Authentifizieren von VPN for VPC und zum Einrichten einer sicheren Verbindung benötigt.
- Definieren Sie die Phase 2-Parameter, die strongSwan zum Erstellen eines VPN-Tunnels mit VPN for VPC benötigt.
Verbindung eines auf IBM Richtlinien basierenden VPN zu einem strongSwan-Peer herstellen
Verwenden Sie die folgende Konfiguration:
-
Wählen Sie in der Authentifizierung
IKEv2
aus. -
Aktivieren Sie
DH-group 2
im Vorschlag für Phase 1. -
Legen Sie
lifetime = 36000
im Vorschlag für Phase 1 fest. -
Inaktivieren Sie PFS im Vorschlag für Phase 2.
-
Legen Sie
lifetime = 10800
im Vorschlag für Phase 2 fest. -
Geben Sie die Informationen für den Peer und das Teilnetz im Vorschlag für Phase 2 ein.
Das folgende Beispiel definiert eine Verbindung zwischen dem lokalen Subnetz
10.160.26.64/26
(dessen strongSwan VPN-Gateway die IP-Adresse169.45.74.119
hat) und dem VPC-Subnetz192.168.17.0/28
(dessen VPN for VPC-Gateway die IP-Adresse169.61.181.116
hat).vim /etc/ipsec.abc.conf conn all type=tunnel auto=start #aggressive=no esp=aes256-sha256! ike=aes256-sha256-modp2048! left=%any leftsubnet=10.160.26.64/26 rightsubnet=192.168.17.0/28 right=169.61.181.116 leftauth=psk rightauth=psk leftid="169.45.74.119" keyexchange=ikev2 rightid="169.61.181.116" lifetime=10800s ikelifetime=36000s dpddelay=30s dpdaction=restart dpdtimeout=120s
-
Legen Sie den vorab verteilten Schlüssel in
/etc/ipsec.secrets
fest:vim ipsec.secrets # This file holds shared secrets or RSA private keys for authentication. 169.45.74.119 169.61.181.116 : PSK "******"
-
Starten Sie nach der Ausführung der Konfigurationsdatei das strongSwan-VPN erneut.
ipsec restart
Verbindung eines IBM routenbasierten VPN mit einer strongSwan Gegenstelle
Die folgende Beispielkonfiguration zeigt, wie zwei routenbasierte Tunnel zwischen dem strongSwan und dem VPN for VPC eingerichtet werden können.
-
Um die IP-Weiterleitung zu aktivieren, geben Sie den folgenden Befehl ein:
sudo sysctl -w net.ipv4.conf.all.forwarding=1
-
Erstellen Sie eine Datei mit dem Namen
/etc/strongswan.d/charon-no-route-install.conf
und fügen Sie den folgenden Inhalt hinzu:charon { install_routes = no }
-
Um die VPN-Verbindung zu konfigurieren, aktualisieren Sie die
/etc/ipsec.abc.conf
-Datei. Im folgenden Beispiel hat das VPN-Gateway zwei öffentliche IPs (135.90.134.86
,135.90.134.87
). Die strongSwan Server IP ist169.59.212.125
. Diese Konfiguration schafft zwei Verbindungen. Dieleftid
ist die öffentliche IP des strongSwan-Servers, während dieright
undrightid
die öffentliche IP des VPN-Gateways darstellen.conn peer_135.90.134.86 keyexchange=ikev2 left=%any leftid=169.59.212.125 leftsubnet=0.0.0.0/0 rightsubnet=0.0.0.0/0 right=135.90.134.86 rightid=135.90.134.86 auto=start ike=aes256-aes192-aes128-sha512-sha384-sha256-modp2048s256-modp2048s224-modp1024s160-ecp521-ecp384-ecp256-modp8192-modp6144-modp4096-modp3072-modp2048-x25519! ikelifetime=36000s esp=aes256gcm16-aes192gcm16-aes128gcm16,aes256-aes192-aes128-sha512-sha384-sha256! lifetime=10800s type=tunnel leftauth=psk rightauth=psk dpdaction = restart dpddelay = 10s mark = 1 conn peer_135.90.134.87 keyexchange=ikev2 left=%any leftid=169.59.212.125 leftsubnet=0.0.0.0/0 rightsubnet=0.0.0.0/0 right=135.90.134.87 rightid=135.90.134.87 auto=start ike=aes256-aes192-aes128-sha512-sha384-sha256-modp2048s256-modp2048s224-modp1024s160-ecp521-ecp384-ecp256-modp8192-modp6144-modp4096-modp3072-modp2048-x25519! ikelifetime=36000s esp=aes256gcm16-aes192gcm16-aes128gcm16,aes256-aes192-aes128-sha512-sha384-sha256! lifetime=10800s type=tunnel leftauth=psk rightauth=psk dpdaction = restart dpddelay = 10s mark = 2
-
Legen Sie den vorab freigegebenen Schlüssel in der Datei
/etc/ipsec.secrets
fest und ersetzen Sie******
durch den tatsächlichen Wert des vorab freigegebenen Schlüssels:169.59.212.125 135.90.134.86 : PSK "******" 169.59.212.125 135.90.134.86 : PSK "******"
-
Erstellen Sie virtuelle Schnittstellen auf dem Server und setzen Sie den VTI-Schnittstellenstatus auf
up
. Ersetzen Siemark_num
durch den Wert vonmark
(wie in Schritt 3 definiert). Dielocal_ip
ist die private IP des strongSwan-Servers und dieremote_ip
ist die öffentliche IP der öffentlichen IP-Adressen des VPN-Gateways.# sample: sudo ip tunnel add vti<mark_num> local <local_ip> remote <remote_ip> mode vti key <mark_num> sudo ip tunnel add vti1 local 10.240.2.11 remote 135.90.134.86 mode vti key 1 sudo ip tunnel add vti1 local 10.240.2.11 remote 135.90.134.87 mode vti key 2 sudo ip link set vti1 up sudo ip link set vti2 up
-
Fügen Sie eine Route auf dem strongSwan-Server hinzu. In diesem Beispiel ist
10.240.0.0/24
das Subnetz des VPN-Gateways, zu dem eine Verbindung hergestellt werden soll, und die VTI-Namen sind die VTI-Namen aus Schritt 5.sudo ip route add 10.240.0.0/24 proto static nexthop dev vti1 nexthop dev vti2
-
Starten Sie nach der Ausführung der Konfigurationsdatei das strongSwan-VPN erneut.
ipsec restart