10-04-2019 11:00 AM - modifié 17-04-2019 04:54 PM
Ce document explique comment configurer un tunnel LAN à LAN entre deux routeurs Cisco lorsque les deux ont des adresses IP dynamiques avec un Dynamic Domain Name System (DDNS) configuré.
Contribution de Gustavo Medina, Wen Zhang et Oleg Tipisov, ingénieurs du Cisco TAC.
Cisco recommande de connaître les sujets suivants:
Conseil: Reportez-vous à la section suivante: Configuration de VPN du Guide de configuration des gammes Cisco 3900, 2900 et 1900 et à l'article suivant Configuration d'une interface de tunnel virtuel avec sécurité IP pour plus d'informations.
Les informations dans ce document sont basées sur les routeurs Cisco 2911 Integrated Services avec la version 15.2 (4) M6a.
Les informations contenues dans ce document ont été créées avec des équipements situés dans un environnement de laboratoire spécifique. Tous les appareils utilisés avaient la configuration par défaut. Si votre réseau est en production, assurez-vous de bien comprendre l'impact potentiel des commandes à utiliser.
Lorsqu'un tunnel LAN à LAN doit être établi, l'adresse IP des deux extrémités IPSec doit être connue. Si l'une des adresses IP n'est pas connue pour être dynamique, obtenue via DHCP par exemple, une alternative consiste à utiliser une entrée de carte de chiffrement dynamique. Cela fonctionne bien, mais le tunnel ne peut être initié que par le noeud final qui possède l'adresse IP dynamique, l'autre extrémité ne connaissant pas l'adresse IP dynamique obtenue par l'autre périphérique.
Pour plus d'informations sur les tunnels avec une adresse IP dynamique vers une adresse IP statique, voir
Configuring Router-to-Router Dynamic-to-Static IPSec with NAT.
Cisco IOS® a introduit une nouvelle fonctionnalité dans la version 12.3 (4) T qui permet de spécifier le nom de domaine complètement qualifié (FQDN) du disque sur lequel le tunnel IPsec doit se terminer. Lorsqu'un trafic correspond à une liste d'accès définissant le trafic à chiffrer, l'IOS résout le nom de domaine complet et obtient l'adresse IP de l'autre extrémité. Ensuite, essayez de soulever le tunnel.
Note: Cette fonctionnalité est limitée: la résolution de noms DNS pour les tunnels IPsec ne fonctionne que s’ils sont utilisés en tant qu’initiateur. Le premier paquet qui doit être chiffré entraînera une recherche DNS; Une fois la recherche DNS terminée, les paquets suivants déclenchent le protocole IKE (Internet Key Exchange). La résolution en temps réel ne fonctionne pas sur le périphérique qui répond à la connexion du tunnel.
Pour faire face à la limitation et pouvoir démarrer le tunnel de chaque site, nous pouvons créer une entrée de carte de chiffrement dynamique dans les deux routeurs afin que je puisse mapper les connexions IKE entrantes avec cette entrée. Cela est nécessaire car l'entrée statique avec la fonction de résolution en temps réel ne fonctionne pas lorsqu'elle agit en tant que répondeur.
Routeur A
crypto isakmp policy 10 encr aes authentication pre-share group 2 ! ip access-list extended crypto-ACL permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255 ! crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0 ! crypto ipsec transform-set myset esp-aes esp-sha-hmac ! crypto dynamic-map dyn 10 set transform-set myset ! crypto map mymap 10 ipsec-isakmp match address 140 set peer example-b.cisco.com dynamic set transform-set myset crypto map mymap 65535 ipsec-isakmp dynamic dyn ! interface fastethernet0/0 ip address dhcp crypto map secure_b
Routeur B
crypto isakmp policy 10 encr aes authentication pre-share group 2 ! ip access-list extended crypto-ACL permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 ! crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0 ! crypto ipsec transform-set myset esp-aes esp-sha-hmac ! crypto dynamic-map dyn 10 set transform-set myset ! crypto map mymap 10 ipsec-isakmp match address 140 set peer example-a.cisco.com dynamic set transform-set myset crypto map mymap 65535 ipsec-isakmp dynamic dyn ! interface fastethernet0/0 ip address dhcp crypto map secure_b
Note: Etant donné que vous ne savez pas quelle adresse IP du nom DNS vous allez utiliser, vous devez utiliser un Pre-Shared-Key comme joker: 0.0.0.0 0.0.0.0
Vous pouvez également utiliser VTI pour y parvenir. La configuration de base est montrée ici:
Routeur A
crypto isakmp policy 10 encryption aes authentication pre-share group 2 crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0 no-xauth crypto ipsec transform-set ESP-AES-SHA esp-aes esp-sha-hmac ! crypto ipsec profile ipsec-profile set transform-set ESP-AES-SHA ! interface Tunnel1 ip address 172.16.12.1 255.255.255.0 tunnel source fastethernet0/0 tunnel destination example-b.cisco.com tunnel mode ipsec ipv4 tunnel protection ipsec profile ipsec-profile
Routeur B
crypto isakmp policy 10 encryption aes authentication pre-share group 2 crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0 no-xauth crypto ipsec transform-set ESP-AES-SHA esp-aes esp-sha-hmac ! crypto ipsec profile ipsec-profile set transform-set ESP-AES-SHA ! interface Tunnel1 ip address 172.16.12.2 255.255.255.0 tunnel source fastethernet0/0 tunnel destination example-a.cisco.com tunnel mode ipsec ipv4 tunnel protection ipsec profile ipsec-profile
Une fois que la configuration précédente est en place avec un FQDN comme destination du tunnel, la commande show run indique l'adresse IP à la place du nom. C'est parce que la résolution ne se produit qu'une seule fois:
RouterA(config)#do show run int tunn 1 Building configuration... Current configuration : 130 bytes ! interface Tunnel1 ip address 172.16.12.1 255.255.255.250 tunnel source fastethernet0/0 tunnel destination 209.165.201.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile ipsec-profile end
RouterB(config)#do show run int tunn 1 Building configuration... Current configuration : 130 bytes ! interface Tunnel1 ip address 172.16.12.2 255.255.255.250 tunnel source fastethernet0/0 tunnel destination 209.165.200.225 tunnel mode ipsec ipv4 tunnel protection ipsec profile ipsec-profile end
Une solution pour cela consiste à configurer une applet afin de résoudre la destination du tunnel toutes les minutes:
Routeur A
event manager applet change-tunnel-dest event timer cron name TAC cron-entry "* * * * *" action 1.0 cli command "enable" action 1.1 cli command "configure terminal" action 1.2 cli command "interface tunnel1" action 1.3 cli command "tunnel destination example-b.cisco.com"
Routeur B
event manager applet change-tunnel-dest event timer cron name TAC cron-entry "* * * * *" action 1.0 cli command "enable" action 1.1 cli command "configure terminal" action 1.2 cli command "interface tunnel1" action 1.3 cli command "tunnel destination example-a.cisco.com"
Utilisez cette section pour vérifier que la configuration fonctionne correctement.
RouterA(config)#do show ip int brie Interface IP-Address OK? Method Status Protocol FastEthernet0/0 209.165.200.225 YES NVRAM up up FastEthernet0/1 192.168.10.1 YES NVRAM up up Tunnel1 172.16.12.1 YES manual up up RouterB(config)#do show ip int brie Interface IP-Address OK? Method Status Protocol FastEthernet0/0 209.165.201.1 YES TFTP up up FastEthernet0/1 192.168.20.1 YES manual up up Tunnel1 172.16.12.2 YES manual up up
RouterA(config)#do show cry isa sa dst src state conn-id slot status 209.165.200.225 209.165.201.1 QM_IDLE 2 0 ACTIVE RouterB(config)#do show cry isa sa dst src state conn-id slot status 209.165.200.225 209.165.201.1 QM_IDLE 1002 0 ACTIVE
RouterA(config)#do show cry ipsec sa interface: Tunnel1 Crypto map tag: Tunnel1-head-0, local addr 209.165.200.225 protected vrf: (none) local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0) remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0) current_peer 209.165.201.1 port 500 PERMIT, flags={origin_is_acl,} #pkts encaps: 10, #pkts encrypt: 10, #pkts digest: 10 #pkts decaps: 10, #pkts decrypt: 10, #pkts verify: 10 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 0, #recv errors 0 local crypto endpt.: 209.165.200.225, remote crypto endpt.: 209.165.201.1 path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0 current outbound spi: 0x8F1592D2(2400555730) inbound esp sas: spi: 0xF7B373C0(4155732928) transform: esp-3des esp-sha-hmac , in use settings ={Tunnel, } conn id: 2002, flow_id: AIM-VPN/BPII-PLUS:2, crypto map: Tunnel1-head-0 sa timing: remaining key lifetime (k/sec): (4501866/3033) IV size: 8 bytes replay detection support: Y Status: ACTIVE inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0x8F1592D2(2400555730) transform: esp-3des esp-sha-hmac , in use settings ={Tunnel, } conn id: 2001, flow_id: AIM-VPN/BPII-PLUS:1, crypto map: Tunnel1-head-0 sa timing: remaining key lifetime (k/sec): (4501866/3032) IV size: 8 bytes replay detection support: Y Status: ACTIVE outbound ah sas: outbound pcp sas: RouterB(config)#do show cry ipsec sa interface: Tunnel1 Crypto map tag: Tunnel1-head-0, local addr 209.165.201.1 protected vrf: (none) local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0) remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0) current_peer 209.165.200.225 port 500 PERMIT, flags={origin_is_acl,} #pkts encaps: 10, #pkts encrypt: 10, #pkts digest: 10 #pkts decaps: 10, #pkts decrypt: 10, #pkts verify: 10 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 0, #recv errors 0 local crypto endpt.: 209.165.201.1, remote crypto endpt.: 209.165.200.225 path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0 current outbound spi: 0xF7B373C0(4155732928) PFS (Y/N): N, DH group: none inbound esp sas: spi: 0x8F1592D2(2400555730) transform: esp-3des esp-sha-hmac , in use settings ={Tunnel, } conn id: 2003, flow_id: NETGX:3, sibling_flags 80000046, crypto map: Tunnel1-head-0 sa timing: remaining key lifetime (k/sec): (4424128/3016) IV size: 8 bytes replay detection support: Y Status: ACTIVE inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0xF7B373C0(4155732928) transform: esp-3des esp-sha-hmac , in use settings ={Tunnel, } conn id: 2004, flow_id: NETGX:4, sibling_flags 80000046, crypto map: Tunnel1-head-0 sa timing: remaining key lifetime (k/sec): (4424128/3016) IV size: 8 bytes replay detection support: Y Status: ACTIVE outbound ah sas: outbound pcp sas:
Après avoir modifié l'enregistrement DNS pour b.cisco.com sur le serveur DNS de 209.165.201.1 à 209.165.202.129, EEM informera le routeur A et le tunnel rétablira avec la nouvelle adresse IP correcte.
RouterB(config)#do show ip int brie Interface IP-Address OK? Method Status Protocol FastEthernet0/0 209.165.202.129 YES TFTP up up FastEthernet0/1 192.168.20.1 YES manual up up Tunnel1 172.16.12.2 YES manual up up
RouterA(config-if)#do show run int tunn1 Building configuration... Current configuration : 192 bytes ! interface Tunnel1 ip address 172.16.12.1 255.255.255.252 tunnel source fastethernet0/0 tunnel destination 209.165.202.129 tunnel mode ipsec ipv4 tunnel protection ipsec profile ipsec-profile end
Router1841A#show cry isa sa dst src state conn-id slot status 209.165.200.225 209.165.202.129 QM_IDLE 3 0 ACTIVE
Consultez l'article IOS IPSec and IKE debugs - IKEv1 Main Mode Troubleshooting pour résoudre les problèmes IKE / IPsec courants.
Publié par: Gustavo Medina / Version originale en espagnol
Hello, Documentation complète et riche , les étapes de configuration bien ficelés ,merci pour ce précieux partage.
La communauté est un hub pour vous connecter avec vos pairs et les spécialistes Cisco, pour demander de l'aide, partager votre expertise, développer votre réseau et évoluer professionnellement.
Vous êtes un nouvel arrivant ? Cliquez ici pour en savoir plus.
Nous voulons que votre navigation soit la meilleure, donc vous trouverez des liens pour vous aider à être rapidement familiarisé avec la Communauté Cisco :
Parcourez les liens directs de la Communauté et profitez de contenus personnalisés en français