Connexion à un homologue Vyatta
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 Vyatta pour la connexion à VPN for VPC.
Ces instructions sont basées sur la version Vyatta : AT & T vRouter 5600 1801d.
Lisez les problèmes connus pour les passerelles VPN avant de continuer à vous connecter à votre homologue sur site.
Lorsque le VPN Vyatta reçoit une demande de connexion de VPN for VPC, Vyatta 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 Vyatta é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 Vyatta :
- La définition des paramètres de phase 1 requis par Vyatta 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 Vyatta nécessite de créer un tunnel VPN avec VPN for VPC.
Connexion d'un VPN IBM basé sur des stratégies à un homologue Vyatta
Utilisez la configuration suivante :
- Choisissez
IKEv2dans l'authentification. - Permettre le site
DH-group 19dans la proposition de la phase 1. - Définissez
lifetime = 36000dans la proposition de phase 1. - Désactivez PFS dans la proposition de phase 2.
- Définissez
lifetime = 10800dans la proposition de phase 2. - Entrez vos informations d'homologues et de sous-réseaux dans la proposition de phase 2.
Les commandes qui suivent utilisent ces variables, dans lesquelles :
{{ peer_address }}est l'adresse IP publique de la passerelle VPN.{{ ibm_vpc_cidr }}est un sous-réseau IBM VPC.{{ vyatta_address }}est l'adresse IP publique Vyatta.{{ vyatta_cidr }}est le sous-réseau Vyatta.
Avant de commencer
Pour configurer votre homologue Vyatta distant, assurez-vous de créer les prérequis suivants.
-
Un cloud privé virtuel
-
Un sous-réseau dans le cloud privé virtuel
-
Une passerelle VPN dans le cloud privé virtuel sans connexion
Une fois la passerelle VPN mise à disposition, notez son adresse IP publique.
-
L'adresse IP publique Vyatta
-
Le sous-réseau Vyatta à connecter à l'aide d'un VPN
Configuration de l'unité Vyatta
Vous pouvez exécuter la configuration sur votre système Vyatta de deux manières :
- Connectez-vous à l'unité Vyatta et exécutez le fichier
create_vpn.vclià l'aide des commandes ci-dessous. - Exécutez les commandes suivantes dans la console Vyatta.
N'oubliez pas :
- Choisissez
IKEv2dans l'authentification. - Activez
DH-group 19. - Définissez
lifetime = 36000. - Désactivez PFS.
- Définissez
lifetime = 10800.
Les commandes qui suivent utilisent ces variables, dans lesquelles :
{{ peer_address }}est l'adresse IP publique de la passerelle VPN.{{ ibm_vpc_cidr }}est le sous-réseau IBM VPC.{{ vyatta_address }}est l'adresse IP publique Vyatta.{{ vyatta_cidr }}est le sous-réseau 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
Par exemple, vous pouvez exécuter les commandes suivantes :
#!/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
Enfin, notez la valeur de YOUR {{ psk }}. Vous en aurez besoin pour configurer la connexion VPN à l'étape suivante.
Connexion d'un VPN IBM basé sur des routes à un homologue Vyatta
Utilisez la stratégie IKE et IPsec suivante pour créer la connexion VPN à Vyatta :
- Choisissez
IKEv2dans l'authentification. - Activez
DH-group 19,aes256,sha256dans la proposition de phase 1. - Définissez
lifetime = 86400dans la proposition de phase 1. - Activez PFS,
aes256etsha256dans la proposition de phase 2. - Définissez
lifetime = 10800dans la proposition de phase 2.
Cette stratégie n'est qu'un exemple parmi d'autres. Vous pouvez utiliser toutes les autres valeurs correspondant à la proposition Vyatta.
Avant de commencer
Pour configurer votre homologue Vyatta distant, assurez-vous de créer les prérequis suivants :
-
Un cloud privé virtuel
-
Un sous-réseau dans le cloud privé virtuel
-
Une passerelle VPN dans le cloud privé virtuel sans connexion
Une fois la passerelle VPN mise à disposition, notez son adresse IP publique. La petite adresse IP est l'adresse IP principale et la grande adresse IP est l'adresse IP secondaire.
-
L'adresse IP publique Vyatta
-
Le sous-réseau Vyatta à connecter à l'aide d'un VPN
Configuration de l'unité Vyatta
Les commandes qui suivent utilisent ces variables, dans lesquelles :
{{ primary_peer_address }}est la petite adresse IP publique de la passerelle VPN basée sur des routes.{{ ibm_vpc_cidr }}est le sous-réseau IBM VPC.{{ secondary_peer_address }}est la grande adresse IP publique de la passerelle VPN basée sur des routes.{{ vyatta_address }}est l'adresse IP publique Vyatta.
Voici un exemple de configuration de Vyatta.
-
Définissez la proposition IKE correspondante :
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 -
Définissez la proposition IPsec correspondante :
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 -
Créez l'interface VTI et la connexion VPN au tunnel principal IBM :
Créez l'interface de tunnel virtuel et configurez l'adresse locale de liaison (
169.254.0.2/30) sur l'interface. Veillez à choisir l'adresse locale de liaison et assurez-vous qu'elle ne se chevauchent pas avec d'autres adresses sur le périphérique. Il existe deux adresses IP disponibles (169.254.0.1et169.254.0.2) dans un sous-réseau avec un masque de réseau de 30 bits. La première adresse IP169.254.0.1est utilisée comme adresse VTI de la passerelle IBM VPN ; la seconde,169.254.0.2, est utilisée comme adresse VTI Vyatta. Si vous avez plusieurs VTI sur Vyatta, vous pouvez choisir un autre sous-réseau local, tel que169.254.0.4/30,169.254.0.8/30, etc.Il n'est pas nécessaire de configurer
169.254.0.1sur la passerelle IBM VPN. Il est référencé uniquement lorsque vous configurez les routes sur 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 -
Créez la route principale :
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 -
Créez l'interface VTI et la connexion VPN au tunnel secondaire 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 vti2L'adresse IP VTI
169.254.0.6est indiquée à titre d'exemple. Vous pouvez utiliser une autre adresse IP inutilisée. -
Créez la route principale :
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
Traitement des incidents
-
Si vous activez le pare-feu CPP sur Vyatta, vous devez configurer les règles pour autoriser le trafic à partir de la passerelle IBM. Par exemple, si le nom de votre pare-feu CPP est
GATEWAY_CPP, ajoutez les règles suivantes au pare-feu :# set security firewall name GATEWAY_CPP rule 250 source address 169.61.247.167 # set security firewall name GATEWAY_CPP rule 250 action accept -
Si vous appliquez le pare-feu à l'interface, vous devez autoriser le trafic à partir d'IBM VPC. Exemple :
# 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-vpcVous devrez peut-être ajouter d'autres règles en fonction des exigences de votre réseau pour autoriser un autre trafic.
-
Si vous utilisez un pare-feu de zone avec IPsec, voir Configuration d'un tunnel IPsec qui fonctionne avec des pare-feux de zone.