IBM Cloud Docs
Connexion à un homologue strongSwan

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 :

  1. Choisissez IKEv2 dans l'authentification.

  2. Activez DH-group 2 dans la proposition de phase 1.

  3. Définissez lifetime = 36000 dans la proposition de phase 1.

  4. Désactivez PFS dans la proposition de phase 2.

  5. Définissez lifetime = 10800 dans la proposition de phase 2.

  6. 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 IP 169.45.74.119) et le sous-réseau VPC 192.168.17.0/28 (dont la passerelle VPN for VPC a l'adresse IP 169.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
    
  7. 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 "******"
    
    
  8. 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.

  1. Pour activer la redirection IP, entrez la commande suivante :

    sudo sysctl -w net.ipv4.conf.all.forwarding=1
    
  2. Créez un fichier nommé /etc/strongswan.d/charon-no-route-install.conf et ajoutez le contenu suivant :

    charon {
          install_routes = no
    }
    
  3. 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 est 169.59.212.125. Cette configuration crée deux connexions. Le leftid est l'IP publique du serveur strongSwan, tandis que les right et rightid 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
    
  4. 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 "******"
    
  5. Créez des interfaces virtuelles sur le serveur et définissez l'état de l'interface VTI sur up. Remplacer mark_num par la valeur de mark (telle que définie à l'étape 3). Le local_ip est l'IP privée du serveur strongSwan, et le remote_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
    
  6. 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
    
  7. Une fois terminée l'exécution du fichier de configuration, redémarrez le VPN strongSwan.

    ipsec restart