IBM Cloud Docs
Conectando-se a um peer do strongSwan

Conectando-se a um peer do strongSwan

É possível usar o IBM Cloud VPN for VPC para conectar de forma segura sua VPC a uma rede no local por meio de um túnel VPN. Este tópico fornece orientação sobre como configurar o seu gateway VPN do strongSwan para se conectar ao VPN for VPC.

Estas instruções são baseadas no Linux strongSwan U5.3.5/K4.4.0-133-generic.

Leia os problemas conhecidos dos gateways de VPN antes de continuar a se conectar ao seu par local.

Vá para o diretório /etc e crie um novo arquivo de configuração de túnel personalizado com um nome (como ipsec.abc.conf). Edite o arquivo /etc/ipsec.conf para incluir o novo arquivo ipsec.abc.conf incluindo a linha a seguir:

include /etc/ipsec.abc.conf

Quando a VPN do strongSwan recebe uma solicitação de conexão do VPN for VPC, o strongSwan usa os parâmetros da Fase 1 do IPsec para estabelecer uma conexão segura e autenticar o gateway do VPN for VPC. Em seguida, se a política de segurança permitir a conexão, a VPN de strongSwan estabelecerá o túnel usando os parâmetros da Fase 2 do IPsec e aplicará a política de segurança do IPsec. Os serviços de gerenciamento de chaves, de autenticação e de segurança são negociados dinamicamente por meio do protocolo IKE.

Para suportar essas funções, as etapas gerais de configuração a seguir devem ser executadas na VPN do strongSwan:

  • Defina os parâmetros da Fase 1 que o strongSwan requer para autenticar o VPN for VPC e estabelecer uma conexão segura.
  • Defina os parâmetros da Fase 2 que o strongSwan requer para criar um túnel VPN com o VPN for VPC.

Conectando uma VPN baseada em política IBM a um peer strongSwan

Use a configuração a seguir:

  1. Escolha IKEv2 na autenticação.

  2. Ative DH-group 2 na proposta da Fase 1.

  3. Configure lifetime = 36000 na proposta da Fase 1.

  4. Desative o PFS na proposta da Fase 2.

  5. Configure lifetime = 10800 na proposta da Fase 2.

  6. Insira suas informações de peers e sub-redes na proposta da Fase 2.

    O exemplo a seguir define uma conexão entre a sub-rede local 10.160.26.64/26 (cujo gateway de VPN strongSwan tem o endereço IP 169.45.74.119) e a sub-rede VPC 192.168.17.0/28 (cujo gateway VPN for VPC tem o endereço 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. Configure a chave pré-compartilhada em /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. Após o arquivo de configuração concluir a execução, reinicie a VPN do strongSwan.

    ipsec restart
    
    

Conexão de uma VPN baseada em rota IBM a um par strongSwan

O exemplo de configuração a seguir mostra como configurar dois túneis baseados em rota entre o strongSwan e a VPN for VPC.

  1. Para ativar o encaminhamento de IP, digite o seguinte comando:

    sudo sysctl -w net.ipv4.conf.all.forwarding=1
    
  2. Crie um arquivo chamado /etc/strongswan.d/charon-no-route-install.conf e adicione o seguinte conteúdo:

    charon {
          install_routes = no
    }
    
  3. Para configurar a conexão VPN, atualize o arquivo /etc/ipsec.abc.conf. No exemplo a seguir, o gateway de VPN tem dois IPs públicos (135.90.134.86, 135.90.134.87). O IP do servidor strongSwan é 169.59.212.125. Essa configuração cria duas conexões. O leftid é o IP público do servidor strongSwan, enquanto o right e o rightid representam o IP público do gateway de 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. Defina a chave pré-compartilhada no arquivo /etc/ipsec.secrets e substitua ****** pelo valor real da chave pré-compartilhada:

    169.59.212.125 135.90.134.86 : PSK "******"
    169.59.212.125 135.90.134.86 : PSK "******"
    
  5. Crie interfaces virtuais no servidor e defina o status da interface VTI como up. Substitua mark_num pelo valor de mark (conforme definido na etapa 3). O local_ip é o IP privado do servidor strongSwan, e o remote_ip é o IP público dos endereços IP públicos do gateway 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. Adicione uma rota no servidor strongSwan. Neste exemplo, 10.240.0.0/24 é a sub-rede do gateway de VPN ao qual se conectar e os nomes de VTI são os nomes de VTI da etapa 5.

    sudo ip route add 10.240.0.0/24 proto static nexthop dev vti1 nexthop dev vti2
    
  7. Após o arquivo de configuração concluir a execução, reinicie a VPN do strongSwan.

    ipsec restart