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.
Lisez les problèmes connus pour les passerelles VPN avant de continuer à vous connecter à 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
IKEv2dans l'authentification. -
Activez
DH-group 2dans la proposition de phase 1. -
Définissez
lifetime = 36000dans la proposition de phase 1. -
Désactivez PFS dans la proposition de phase 2.
-
Définissez
lifetime = 10800dans 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 strongSwan VPN 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 VPN basé sur les routes IBM à un homologue strongSwan
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.confet 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. Leleftidest l'IP publique du serveur strongSwan, tandis que lesrightetrightidrepré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.secretset 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_numpar la valeur demark(telle que définie à l'étape 3). Lelocal_ipest l'IP privée du serveur strongSwan, et leremote_ipest 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/24est 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 next hop dev vti1 next hop dev vti2 -
Une fois terminée l'exécution du fichier de configuration, redémarrez le VPN strongSwan.
ipsec restart