Connessione al peer strongSwan

È possibile utilizzare IBM Cloud VPN for VPC per connettere in modo sicuro il VPC a una rete on-premises attraverso un tunnel VPN. Questo argomento fornisce indicazioni su come configurare il gateway VPN strongSwan per connettersi a VPN for VPC.

Queste istruzioni sono basate su Linux StrongSwan U5.3.5/K4.4.0-133-generic.

Leggete Problemi noti per i gateway VPN prima di continuare a connettervi al vostro peer on-premises.

Andare nella cartella /etc e creare un nuovo file di configurazione del tunnel personalizzato con un nome (ad esempio ipsec.abc.conf). Modifica il file /etc/ipsec.conf per includere il nuovo file ipsec.abc.conf aggiungendo la seguente riga:

include /etc/ipsec.abc.conf

Quando la VPN strongSwan riceve una richiesta di connessione da VPN for VPC, strongSwan utilizza i parametri IPsec Fase 1 per stabilire una connessione sicura e autenticare il gateway VPN for VPC. Quindi, se il criterio di sicurezza consente la connessione, la VPN strongSwan stabilisce il tunnel utilizzando i parametri IPsec Fase 2 e applica il criterio di sicurezza IPsec. I servizi di sicurezza, autenticazione e di gestione della chiave vengono negoziati in modo dinamico tramite il protocollo IKE.

Per supportare queste funzioni, è necessario eseguire i seguenti passi di configurazione generali sulla VPN StrongSwan:

  • Definire i parametri della Fase 1 che strongSwan richiede per autenticare VPN for VPC e stabilire una connessione sicura.
  • Definire i parametri di Fase 2 che strongSwan richiede per creare un tunnel VPN con VPN for VPC.

Connessione di una VPN basata sulla politica IBM a un peer strongSwan

Utilizza la seguente configurazione:

  1. Scegli IKEv2 nell'autenticazione.

  2. Abilita DH-group 2 nella proposta della fase 1.

  3. Imposta lifetime = 36000 nella proposta della fase 1.

  4. Disabilita PFS nella proposta della fase 2.

  5. Imposta lifetime = 10800 nella proposta della fase 2.

  6. Immetti le informazioni sui tuoi peer e le tue sottoreti nella proposta della fase 2.

    L'esempio seguente definisce una connessione tra la sottorete on-premises 10.160.26.64/26 (il cui gateway VPN strongSwan ha l'indirizzo IP 169.45.74.119) e la sottorete VPC 192.168.17.0/28 (il cui gateway VPN for VPC ha l'indirizzo 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. Impostare la chiave preshared in /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. Una volta terminata l'esecuzione del file di configurazione, riavvia la VPN StrongSwan.

    ipsec restart
    
    

Connessione di una VPN basata su route IBM a un peer strongSwan

L'esempio di configurazione seguente mostra come impostare due tunnel basati sulle rotte tra strongSwan e VPN for VPC.

  1. Per abilitare l'inoltro IP, inserire il seguente comando:

    sudo sysctl -w net.ipv4.conf.all.forwarding=1
    
  2. Creare un file chiamato /etc/strongswan.d/charon-no-route-install.conf e aggiungere il seguente contenuto:

    charon {
          install_routes = no
    }
    
  3. Per configurare la connessione VPN, aggiornare il file /etc/ipsec.abc.conf. Nell'esempio seguente, il gateway VPN ha due IP pubblici (135.90.134.86, 135.90.134.87). L'IP del server strongSwan è 169.59.212.125. Questa configurazione crea due connessioni. Il leftid è l'IP pubblico del server strongSwan, mentre i right e rightid rappresentano l'IP pubblico del gateway 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. Impostare la chiave preshared nel file /etc/ipsec.secrets e sostituire ****** con il valore reale della chiave preshared:

    169.59.212.125 135.90.134.86 : PSK "******"
    169.59.212.125 135.90.134.86 : PSK "******"
    
  5. Creare le interfacce virtuali sul server e impostare lo stato dell'interfaccia VTI su up. Sostituire mark_num con il valore di mark (come definito al punto 3). Il local_ip è l'IP privato del server strongSwan, mentre il remote_ip è l'IP pubblico degli indirizzi IP pubblici del 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. Aggiungere una rotta sul server strongSwan. In questo esempio, 10.240.0.0/24 è la sottorete del gateway VPN a cui connettersi e i nomi delle VTI sono i nomi delle VTI del passaggio 5.

    sudo ip route add 10.240.0.0/24 proto static next hop dev vti1 next hop dev vti2
    
  7. Una volta terminata l'esecuzione del file di configurazione, riavvia la VPN StrongSwan.

    ipsec restart