Connexion à un homologue strongSwan
Vous pouvez utiliser IBM Cloud VPN for VPC pour connecter en toute sécurité votre VPC à un réseau sur site via un tunnel VPN. Cette rubrique explique comment configurer votre passerelle VPN strongSwan pour la connexion à VPN for VPC.
Ces instructions reposent sur Linux strongSwan U5.3.5/K4.4.0-133-generic.
Consultez la rubrique Limitations de la passerelle VPN avant de poursuivre la connexion à votre homologue sur site.
Allez dans le répertoire /etc et créez un nouveau fichier de configuration de tunnel personnalisé avec un nom (tel que ipsec.abc.conf
). Editez le fichier /etc/ipsec.conf
afin d'inclure le nouveau fichier
ipsec.abc.conf
en ajoutant la ligne suivante :
include /etc/ipsec.abc.conf
Lorsqu'un VPN strongSwan reçoit une demande de connexion depuis VPN for VPC, strongSwan utilise les paramètres IPsec de phase 1 pour établir une connexion sécurisée et authentifier la passerelle VPN for VPC. Ensuite, si la stratégie de sécurité autorise la connexion, le VPN strongSwan établit le tunnel en utilisant les paramètres IPsec de phase 2 et applique la stratégie de sécurité IPsec. Les services de gestion de clés, d'authentification et de sécurité sont négociés de manière dynamique via le protocole IKE.
Pour prendre en charge ces fonctions, les étapes de configuration générales suivantes doivent être effectuées sur le VPN StrongSwan :
- La définition des paramètres de phase 1 requis par strongSwan nécessite d'authentifier VPN for VPC et d'établir une connexion sécurisée.
- La définition des paramètres de phase 2 requis par strongSwan nécessite de créer un tunnel VPN avec VPN for VPC.
Connexion d'un VPN IBM basé sur des stratégies à un homologue strongSwan
Utilisez la configuration suivante :
-
Choisissez
IKEv2
dans l'authentification. -
Activez
DH-group 2
dans la proposition de phase 1. -
Définissez
lifetime = 36000
dans la proposition de phase 1. -
Désactivez PFS dans la proposition de phase 2.
-
Définissez
lifetime = 10800
dans la proposition de phase 2. -
Entrez vos informations d'homologues et de sous-réseaux dans la proposition de phase 2.
L'exemple suivant définit une connexion entre le sous-réseau sur site
10.160.26.64/26
(dont la passerelle VPN strongSwan a l'adresse IP169.45.74.119
) et le sous-réseau VPC192.168.17.0/28
(dont la passerelle VPN for VPC a l'adresse IP169.61.181.116
).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
-
Définissez la clé pré-partagée dans
/etc/ipsec.secrets
:vim ipsec.secrets # This file holds shared secrets or RSA private keys for authentication. 169.45.74.119 169.61.181.116 : PSK "******"
-
Une fois terminée l'exécution du fichier de configuration, redémarrez le VPN strongSwan.
ipsec restart
Connexion d'un IBM VPN basé sur les routes à un strongSwan pair
L'exemple de configuration suivant montre comment mettre en place deux tunnels basés sur les routes entre le strongSwan et le VPN for VPC.
-
Pour activer la redirection IP, entrez la commande suivante :
sudo sysctl -w net.ipv4.conf.all.forwarding=1
-
Créez un fichier nommé
/etc/strongswan.d/charon-no-route-install.conf
et ajoutez le contenu suivant :charon { install_routes = no }
-
Pour configurer la connexion VPN, mettez à jour le fichier
/etc/ipsec.abc.conf
. Dans l'exemple suivant, la passerelle VPN a deux IP publiques (135.90.134.86
,135.90.134.87
). L'IP du serveur strongSwan est169.59.212.125
. Cette configuration crée deux connexions. Leleftid
est l'IP publique du serveur strongSwan, tandis que lesright
etrightid
représentent l'IP publique de la passerelle VPN.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
-
Définissez la clé prépartagée dans le fichier
/etc/ipsec.secrets
et remplacez******
par la valeur réelle de la clé prépartagée :169.59.212.125 135.90.134.86 : PSK "******" 169.59.212.125 135.90.134.86 : PSK "******"
-
Créez des interfaces virtuelles sur le serveur et définissez l'état de l'interface VTI sur
up
. Remplacermark_num
par la valeur demark
(telle que définie à l'étape 3). Lelocal_ip
est l'IP privée du serveur strongSwan, et leremote_ip
est l'IP publique des adresses IP publiques de la passerelle VPN.# 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
-
Ajouter une route sur le serveur strongSwan. Dans cet exemple,
10.240.0.0/24
est le sous-réseau de la passerelle VPN à laquelle se connecter et les noms des VTI sont ceux de l'étape 5.sudo ip route add 10.240.0.0/24 proto static nexthop dev vti1 nexthop dev vti2
-
Une fois terminée l'exécution du fichier de configuration, redémarrez le VPN strongSwan.
ipsec restart