IBM Cloud Docs
Conexión a un igual de strongSwan

Conexión a un igual de strongSwan

Puede utilizar IBM Cloud VPN for VPC para conectar de forma segura el VPC a una red local a través de un túnel de VPN. En este tema se proporciona orientación sobre cómo configurar la pasarela VPN de strongSwan para conectarse a VPN for VPC.

Estas instrucciones se basan en Linux strongSwan U5.3.5/K4.4.0-133-generic.

Lea Problemas conocidos de las pasarelas VPN antes de continuar conectándose a su homólogo local.

Vaya al directorio /etc y cree un nuevo archivo de configuración de túnel personalizado con un nombre (como ipsec.abc.conf). Edite el archivo /etc/ipsec.conf para que incluya el nuevo archivo ipsec.abc.conf añadiendo la línea siguiente:

include /etc/ipsec.abc.conf

Cuando una VPN de strongSwan recibe una solicitud de conexión de VPN for VPC, strongSwan utiliza los parámetros de fase 1 de IPsec para establecer una conexión segura y autenticarse en la pasarela de VPN for VPC. A continuación, si la política de seguridad permite la conexión, la VPN de strongSwan establece el túnel utilizando los parámetros de la Fase 2 de IPsec y aplica la política de seguridad de IPsec. Los servicios de seguridad, autenticación y gestión de claves se negocian dinámicamente mediante el protocolo IKE.

Para ofrecer soporte a estas funciones, se deben realizar los siguientes pasos de configuración general en la VPN de strongSwan:

  • Defina los parámetros de fase 1 que la VPN de strongSwan necesita para autenticar VPN for VPC y establecer una conexión segura.
  • Defina los parámetros de fase 2 que la VPN de strongSwan necesita para crear un túnel VPN con VPN for VPC.

Conexión de una VPN basada en políticas de IBM a un igual de strongSwan

Utilice la configuración siguiente:

  1. Elija IKEv2 en la autenticación.

  2. Habilite DH-group 2 en la propuesta de fase 1.

  3. Establezca lifetime = 36000 en la propuesta de fase 1.

  4. Inhabilite PFS en la propuesta de fase 2.

  5. Establezca lifetime = 10800 en la propuesta de fase 2.

  6. Especifique la información de subredes y de iguales en la propuesta de fase 2.

    El siguiente ejemplo define una conexión entre la subred local 10.160.26.64/26 (cuya pasarela VPN strongSwan tiene la dirección IP 169.45.74.119) y la subred VPC 192.168.17.0/28 (cuya pasarela VPN for VPC tiene la dirección 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. Establezca la clave precompartida en /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. Reinicie la VPN de StrongSwan cuando el archivo de configuración haya terminado de ejecutarse.

    ipsec restart
    
    

Conexión de una VPN basada en rutas IBM a un peer strongSwan

El siguiente ejemplo de configuración muestra cómo configurar dos túneles basados en rutas entre el strongSwan y VPN for VPC.

  1. Para activar el reenvío IP, introduzca el siguiente comando:

    sudo sysctl -w net.ipv4.conf.all.forwarding=1
    
  2. Crea un archivo llamado /etc/strongswan.d/charon-no-route-install.conf y añade el siguiente contenido:

    charon {
          install_routes = no
    }
    
  3. Para configurar la conexión VPN, actualice el archivo /etc/ipsec.abc.conf. En el siguiente ejemplo, la pasarela VPN tiene dos IP públicas (135.90.134.86, 135.90.134.87). La IP del servidor strongSwan es 169.59.212.125. Esta configuración crea dos conexiones. La leftid es la IP pública del servidor strongSwan, mientras que las right y rightid representan la IP pública de la pasarela 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. Establece la clave precompartida en el archivo /etc/ipsec.secrets y sustituye ****** por el valor real de la clave precompartida:

    169.59.212.125 135.90.134.86 : PSK "******"
    169.59.212.125 135.90.134.86 : PSK "******"
    
  5. Cree interfaces virtuales en el servidor y establezca el estado de la interfaz VTI en up. Sustituya mark_num por el valor de mark (definido en el paso 3). El local_ip es la IP privada del servidor strongSwan, y el remote_ip es la IP pública de las direcciones IP públicas de la pasarela 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. Añade una ruta en el servidor strongSwan. En este ejemplo, 10.240.0.0/24 es la subred de la pasarela VPN a la que conectarse y los nombres VTI son los nombres VTI del paso 5.

    sudo ip route add 10.240.0.0/24 proto static nexthop dev vti1 nexthop dev vti2
    
  7. Reinicie la VPN de StrongSwan cuando el archivo de configuración haya terminado de ejecutarse.

    ipsec restart