Connessione a un peer Vyatta

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

Queste istruzioni si basano sulla versione Vyatta: AT&T vRouter 5600 1801d.

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

Quando la VPN Vyatta riceve una richiesta di connessione da VPN for VPC, Vyatta utilizza i parametri IPsec Fase 1 per stabilire una connessione sicura e autenticare il gateway VPN for VPC. Quindi, se la politica di sicurezza consente la connessione, la VPN Vyatta stabilisce il tunnel utilizzando i parametri IPsec Fase 2 e applica la politica 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 Wyatta:

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

Connessione di una VPN basata su criteri IBM a un peer Vyatta

Utilizza la seguente configurazione:

  1. Scegli IKEv2 nell'autenticazione.
  2. Attivare il sito DH-group 19 nella proposta di 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.

I seguenti comandi utilizzano le seguenti variabili, dove:

  • {{ peer_address }} è l'indirizzo IP pubblico del gateway VPN.
  • {{ ibm_vpc_cidr }} è la sottorete VPC IBM.
  • {{ vyatta_address }} è l'indirizzo IP pubblico Wyatta.
  • {{ vyatta_cidr }} è la sottorete Vyatta.

Prima di iniziare

Per configurare il peer Vyatta remoto, assicurarsi di aver creato i seguenti prerequisiti.

  • Un VPC

  • Una sottorete nel VPC

  • Un gateway VPN nel VPC senza connessioni

    Dopo che è stato eseguito il provisioning del gateway VPN, prendi nota del suo indirizzo IP pubblico.

  • L'indirizzo IP pubblico Vyatta

  • La sottorete di Vyatta a cui desideri connetterti utilizzando una VPN

Configurazione di Vyatta

È possibile eseguire la configurazione su Vyatta in due modi:

  1. Accedi a Vyatta ed esegui il file create_vpn.vcli utilizzando i seguenti comandi.
  2. Esegui i seguenti comandi nella console Vyatta:

Ricordati di:

  • Scegli IKEv2 nell'autenticazione.
  • Abilitare DH-group 19.
  • Set lifetime = 36000.
  • Disattivare PFS.
  • Set lifetime = 10800.

I comandi seguenti utilizzano le seguenti variabili, dove:

  • {{ peer_address }} è l'indirizzo IP pubblico del gateway VPN.
  • {{ ibm_vpc_cidr }} è la sottorete VPC IBM.
  • {{ vyatta_address }} è l'indirizzo IP pubblico Wyatta.
  • {{ vyatta_cidr }} è la sottorete Vyatta.
vim vyatta_temp/create_vpn.vcli
#!/bin/vcli -f
configure

set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} dead-peer-detection timeout 120
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} lifetime {{ ike["lifetime"] }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} ike-version {{ ike["version"] }}

set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} proposal {{ loop.index }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} proposal {{ loop.index }} dh-group {{ proposal["dhgroup"] }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} proposal {{ loop.index }} encryption {{ proposal["encryption"] }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} proposal {{ loop.index }} hash {{ proposal["integrity"] }}


set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} compression disable
set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} lifetime {{ ipsec["lifetime"] }}
set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} mode tunnel
set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} pfs {{ ipsec["proposals"][0]["dhgroup"] }}

set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} proposal {{ loop.index }} encryption {{ proposal["encryption"] }}
set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} proposal {{ loop.index }} hash {{ proposal["integrity"] }}

set security vpn ipsec site-to-site peer {{ peer_address }} authentication mode pre-shared-secret
set security vpn ipsec site-to-site peer {{ peer_address }} authentication pre-shared-secret {{ psk }}
set security vpn ipsec site-to-site peer {{ peer_address }} ike-group {{ peer_address }}_{{ ike["name"] }}
set security vpn ipsec site-to-site peer {{ peer_address }} default-esp-group {{ peer_address }}_{{ ipsec["name"] }}
set security vpn ipsec site-to-site peer {{ peer_address }} description "automation test"
set security vpn ipsec site-to-site peer {{ peer_address }} local-address {{ vyatta_address }}
set security vpn ipsec site-to-site peer {{ peer_address }} connection-type {{ connection_type }}
set security vpn ipsec site-to-site peer {{ peer_address }} authentication remote-id {{ peer_address }}

set security vpn ipsec site-to-site peer {{ peer_address }} tunnel {{ ns.tunnel_index }} local prefix {{ vyatta_cidr }}
set security vpn ipsec site-to-site peer {{ peer_address }} tunnel {{ ns.tunnel_index }} remote prefix {{ ibm_vpc_cidr }}

commit
end_configure

Ad esempio, puoi eseguire i seguenti comandi:

#!/bin/vcli -f
configure

set security vpn ipsec ike-group 169.61.247.167_test_ike
set security vpn ipsec ike-group 169.61.247.167_test_ike dead-peer-detection timeout 120
set security vpn ipsec ike-group 169.61.247.167_test_ike lifetime 36000
set security vpn ipsec ike-group 169.61.247.167_test_ike ike-version 2

set security vpn ipsec ike-group 169.61.247.167_test_ike proposal 1
set security vpn ipsec ike-group 169.61.247.167_test_ike proposal 1 dh-group 19
set security vpn ipsec ike-group 169.61.247.167_test_ike proposal 1 encryption aes256
set security vpn ipsec ike-group 169.61.247.167_test_ike proposal 1 hash sha2_256
set security vpn ipsec esp-group 169.61.247.167_test_ipsec compression disable
set security vpn ipsec esp-group 169.61.247.167_test_ipsec lifetime 10800
set security vpn ipsec esp-group 169.61.247.167_test_ipsec mode tunnel
set security vpn ipsec esp-group 169.61.247.167_test_ipsec pfs disable


set security vpn ipsec esp-group 169.61.247.167_test_ipsec proposal 1 encryption aes256
set security vpn ipsec esp-group 169.61.247.167_test_ipsec proposal 1 hash sha2_256
set security vpn ipsec site-to-site peer 169.61.247.167 authentication mode pre-shared-secret
set security vpn ipsec site-to-site peer 169.61.247.167 authentication pre-shared-secret ***YOUR-PSK***
set security vpn ipsec site-to-site peer 169.61.247.167 ike-group 169.61.247.167_test_ike
set security vpn ipsec site-to-site peer 169.61.247.167 default-esp-group 169.61.247.167_test_ipsec
set security vpn ipsec site-to-site peer 169.61.247.167 description "automation test"
set security vpn ipsec site-to-site peer 169.61.247.167 local-address 169.63.66.53
set security vpn ipsec site-to-site peer 169.61.247.167 connection-type initiate
set security vpn ipsec site-to-site peer 169.61.247.167 authentication remote-id 169.61.247.167


set security vpn ipsec site-to-site peer 169.61.247.167 tunnel 1 local prefix 10.65.15.104/29
set security vpn ipsec site-to-site peer 169.61.247.167 tunnel 1 remote prefix 10.240.0.0/24


commit
end_configure

Infine, prendete nota del valore di {{ psk }}. È necessario per impostare la connessione VPN nel passaggio successivo.

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

Utilizzare i seguenti criteri IKE e IPsec per creare la connessione VPN a Vyatta:

  1. Scegli IKEv2 nell'autenticazione.
  2. Abilitare DH-group 19, aes256, sha256 nella proposta di Fase 1.
  3. Imposta lifetime = 86400 nella proposta della fase 1.
  4. Abilitare PFS, aes256, e sha256 nella proposta di Fase 2.
  5. Imposta lifetime = 10800 nella proposta della fase 2.

Questa politica è solo un esempio. È possibile utilizzare qualsiasi altro valore abbinato alla proposta di Vyatta.

Prima di iniziare

Per configurare il peer Vyatta remoto, assicurarsi di aver creato i seguenti prerequisiti:

  • Un VPC

  • Una sottorete nel VPC

  • Un gateway VPN nel VPC senza connessioni

    Dopo che è stato eseguito il provisioning del gateway VPN, prendi nota del suo indirizzo IP pubblico. L'indirizzo IP piccolo è l'IP primario e l'indirizzo IP grande è l'IP secondario.

  • L'indirizzo IP pubblico Vyatta

  • La sottorete di Vyatta a cui desideri connetterti utilizzando una VPN

Configurazione di Vyatta

I seguenti comandi utilizzano le seguenti variabili, dove:

  • {{ primary_peer_address }} è l'indirizzo IP pubblico piccolo del gateway VPN basato sulla rotta.
  • {{ ibm_vpc_cidr }} è la sottorete VPC IBM.
  • {{ secondary_peer_address }} è l'indirizzo IP pubblico grande del gateway VPN basato sulla rotta.
  • {{ vyatta_address }} è l'indirizzo IP pubblico Wyatta.

Ecco un esempio di configurazione di Vyatta.

  1. Definire la proposta IKE abbinata:

    set security vpn ipsec ike-group ibm-vpc-ike-group
    set security vpn ipsec ike-group ibm-vpc-ike-group dead-peer-detection interval 2
    set security vpn ipsec ike-group ibm-vpc-ike-group dead-peer-detection action clear
    set security vpn ipsec ike-group ibm-vpc-ike-group lifetime 86400
    set security vpn ipsec ike-group ibm-vpc-ike-group ike-version 2
    set security vpn ipsec ike-group ibm-vpc-ike-group proposal 1
    set security vpn ipsec ike-group ibm-vpc-ike-group proposal 1 dh-group 19
    set security vpn ipsec ike-group ibm-vpc-ike-group proposal 1 encryption aes256
    set security vpn ipsec ike-group ibm-vpc-ike-group proposal 1 hash sha2_256
    
  2. Definire la proposta IPsec abbinata:

    set security vpn ipsec esp-group ibm-vpc-ipsec-group compression disable
    set security vpn ipsec esp-group ibm-vpc-ipsec-group lifetime 10800
    set security vpn ipsec esp-group ibm-vpc-ipsec-group mode tunnel
    set security vpn ipsec esp-group ibm-vpc-ipsec-group pfs dh-group19
    set security vpn ipsec esp-group ibm-vpc-ipsec-group proposal 1 encryption aes256
    set security vpn ipsec esp-group ibm-vpc-ipsec-group proposal 1 hash sha2_256
    
  3. Creare la connessione VTI e VPN al tunnel primario IBM:

    Creare l'interfaccia del tunnel virtuale e configurare l'indirizzo link-local (169.254.0.2/30) sull'interfaccia. Fare attenzione a scegliere l'indirizzo link-local e assicurarsi che non si sovrapponga ad altri indirizzi del dispositivo. Ci sono due indirizzi IP disponibili (169.254.0.1 e 169.254.0.2) in una sottorete con una netmask di 30 bit. Il primo indirizzo IP 169.254.0.1 è usato come indirizzo VTI del gateway IBM VPN; il secondo, 169.254.0.2, è usato come indirizzo VTI di Vyatta. Se si dispone di più di un VTI sul Vyatta, è possibile scegliere un'altra subnet link-local, come 169.254.0.4/30, 169.254.0.8/30, e così via.

    Non è necessario configurare 169.254.0.1 sul gateway IBM VPN. Si fa riferimento solo quando si configurano le rotte su Vyatta.

    set interfaces vti vti1 description "to-IBM-VPN-primary"
    set interfaces vti vti1 address 169.254.0.2/30
    set interfaces vti vti1 ip tcp-mss limit 1360
    set security vpn ipsec site-to-site peer {{ primary_peer_address }} authentication mode pre-shared-secret
    set security vpn ipsec site-to-site peer {{ primary_peer_address }} authentication pre-shared-secret {{your_pre_shared_key}}
    set security vpn ipsec site-to-site peer {{ primary_peer_address }} ike-group ibm-vpc-ike-group
    set security vpn ipsec site-to-site peer {{ primary_peer_address }} default-esp-group ibm-vpc-ipsec-group
    set security vpn ipsec site-to-site peer {{ primary_peer_address }} description "to-IBM-VPN-primary"
    set security vpn ipsec site-to-site peer {{ primary_peer_address }} local-address {{ vyatta_address }}
    set security vpn ipsec site-to-site peer {{ primary_peer_address }} connection-type initiate
    set security vpn ipsec site-to-site peer {{ primary_peer_address }} authentication remote-id {{ primary_peer_address }}
    set security vpn ipsec site-to-site peer {{ primary_peer_address }} vti bind vti1
    
  4. Creare il percorso primario:

    set protocols static route {{ ibm_vpc_cidr }} next-hop 169.254.0.1 distance 10
    set protocols static route {{ ibm_vpc_cidr }} next-hop 169.254.0.1 interface vti1
    
  5. Creare la connessione VTI e VPN al tunnel secondario IBM:

    set interfaces vti vti2 description "to-IBM-VPN-secondary"
    set interfaces vti vti2 address 169.254.0.6/30
    set interfaces vti vti2 ip tcp-mss limit 1360
    set security vpn ipsec site-to-site peer {{ secondary_peer_address }} authentication mode pre-shared-secret
    set security vpn ipsec site-to-site peer {{ secondary_peer_address }} authentication pre-shared-secret {{your_pre_shared_key}}
    set security vpn ipsec site-to-site peer {{ secondary_peer_address }} ike-group ibm-vpc-ike-group
    set security vpn ipsec site-to-site peer {{ secondary_peer_address }} default-esp-group ibm-vpc-ipsec-group
    set security vpn ipsec site-to-site peer {{ secondary_peer_address }} description "to-IBM-VPN-secondary"
    set security vpn ipsec site-to-site peer {{ secondary_peer_address }} local-address {{ vyatta_address }}
    set security vpn ipsec site-to-site peer {{ secondary_peer_address }} connection-type initiate
    set security vpn ipsec site-to-site peer {{ secondary_peer_address }} authentication remote-id {{ secondary_peer_address }}
    set security vpn ipsec site-to-site peer {{ secondary_peer_address }} vti bind vti2
    

    L'indirizzo IP VTI 169.254.0.6 ne è un esempio. È possibile utilizzare qualsiasi altro indirizzo IP non utilizzato.

  6. Creare il percorso primario:

    set protocols static route {{ ibm_vpc_cidr }} next-hop 169.254.0.5 distance 20
    set protocols static route {{ ibm_vpc_cidr }} next-hop 169.254.0.5 interface vti2
    

Risoluzione dei problemi

  • Se si abilita il firewall CPP su Vyatta, è necessario configurare le regole per consentire il traffico dal gateway IBM. Ad esempio, se il tuo nome firewall CPP è GATEWAY_CPP, aggiungi queste regole al firewall:

    # set security firewall name GATEWAY_CPP rule 250 source address 169.61.247.167
    # set security firewall name GATEWAY_CPP rule 250 action accept
    
  • Se si applica il firewall all'interfaccia, è necessario consentire il traffico da IBM VPC. Ad esempio:

    # set security firewall name to-vpc rule 20 destination address 10.240.0.0/24
    # set security firewall name to-vpc rule 20 action accept
    # set security firewall name from-vpc rule 20 source address 10.240.0.0/24
    # set security firewall name from-vpc rule 20 action accept
    # set interfaces bonding dp0bond0 vif 862 firewall out to-vpc
    # set interfaces bonding dp0bond0 vif 862 firewall in from-vpc
    

    Potresti dover aggiungere altre regole in base al tuo requisito di rete per consentire altro traffico.

  • Se stai utilizzando un firewall zona con IPsec, vedi Configurazione di un tunnel IPsec che funziona con firewall zona.