Accueil / Notes techniques / Tunnel IPSec Huawei-Cisco derrière NAT

IPSec Huawei AR vers Cisco derrière NAT / IP dynamique : une configuration de tunnel de succursale qui fonctionne vraiment

Un routeur de succursale Huawei AR dont l'adresse publique est attribuée par DHCP, situé derrière un dispositif NAT, établissant un tunnel IPSec vers un routeur Cisco à adresse fixe au siège — mode agressif, traversée NAT, le modèle de carte dynamique côté Cisco, et les modes de défaillance qui n'apparaissent que lorsque le NAT et une adresse IP mouvante coexistent.

Par Yuwen Zhang (Atlas), fondateur d'AtlasCommTech — 13 ans de déploiements de réseaux opérateurs et d'entreprise · Mis à jour en juillet 2026

Quand la succursale n'a pas d'adresse fixe

La note précédente Huawei-Cisco supposait que les deux extrémités avaient une adresse IP connue. Retirez cela et la conception change.

Une agence obtient rarement une IP publique fixe de son FAI, et se trouve généralement derrière un dispositif NAT quelconque — un CPE opérateur, un boîtier NAT dédié, ou du NAT tournant directement sur l'interface WAN du routeur AR. La négociation IKE en mode principal, qui identifie les pairs par adresse IP, tolère mal ces deux situations : une adresse dynamique signifie que le siège ne peut pas préconfigurer une adresse de pair fixe pour cette succursale, et le NAT réécrit précisément l'adresse source qu'IKE utiliserait autrement pour choisir la bonne clé pré-partagée.

Cette note détaille la configuration qui résout les deux problèmes à la fois — une passerelle de succursale Huawei AR avec une adresse WAN attribuée par DHCP, derrière un dispositif NAT séparé, négociant en mode agressif IKEv1 avec traversée NAT activée vers un routeur Cisco du siège qui accepte la succursale via un modèle de carte dynamique — plus ce qui change lorsque le routeur de la succursale fait lui-même le NAT au lieu d'utiliser un boîtier séparé, et ce qui change encore lorsque c'est le siège, et non la succursale, qui se trouve derrière le NAT.

Topologie et plan de données

Trois appareils cette fois, pas deux — le routeur de la succursale, un dispositif NAT, et le routeur Cisco du siège.

RouterAHuawei branch · dynamic IP NATerNAT device RouterBCisco HQ gateway Internet DHCP · 192.168.1.0/24 60.1.1.1 60.1.2.1 IPSec Tunnel · Aggressive Mode + NAT-T Branch private subnet10.1.1.0/24 HQ private subnet10.1.2.0/24

Les légendes du schéma restent en anglais pour la clarté technique.

Adressage — RouterA et RouterB

ÉlémentRouterA — passerelle Huawei de la succursaleRouterB — passerelle Cisco du siège
Adresse publique (WAN)Attribuée par DHCP, atteinte via NATer60.1.2.1 (static)
Sous-réseau privé10.1.1.0/2410.1.2.0/24
Identité IKElocal-name huaweiattend le nom de pair distant RouterB

Dispositif NAT (NATer)

ÉlémentValeur (cet exemple)
Interface WAN (vers internet)60.1.1.1/24 — nat outbound
Interface LAN (vers RouterA)192.168.1.1/24 — dhcp select interface
Route statique0.0.0.0/0 via 60.1.1.2

Phase 1 — Paramètres de négociation IKE

ParamètreValeur (cet exemple)
Version IKEIKEv1
Mode de négociationMode agressif
Méthode d'authentificationClé pré-partagée
Clé pré-partagée (cet exemple)YsHsjx_202206la clé de l'exemple source ; définissez toujours votre propre clé unique.
Algorithme de chiffrementaes-cbc-128
Algorithme d'authentificationsha2-256
Groupe DHgroup14
Traversée NATActivée (nat traversal)
Identité du pairBasée sur le nom (local-id-type name / remote-name)

Phase 2 — Paramètres de négociation IPSec

ParamètreValeur (cet exemple)
Protocole de sécuritéESP
Mode d'encapsulationTunnel (par défaut)
Algorithme de chiffrementaes-128
Algorithme d'authentificationsha2-256
Flux protégé (ACL 3000)10.1.1.0/24 ↔ 10.1.2.0/24

Configuration — RouterA (succursale, IP dynamique, derrière NAT)

Le mode agressif et la traversée NAT remplacent les hypothèses d'IP fixe du mode principal.

  1. Définissez le nom de l'appareil, activez la compatibilité SHA-2, et définissez le nom d'identité IKE local que le côté Cisco devra reconnaître.
  2. Définissez le trafic protégé dans une ACL — du sous-réseau de la succursale vers celui du siège.
  3. Définissez la proposition IPSec — ESP, authentification SHA2-256, chiffrement AES-128.
  4. Définissez la proposition IKE — chiffrement AES-CBC-128, authentification SHA2-256, groupe DH14.
  5. Définissez le pair IKE en mode agressif, avec traversée NAT activée, une identité locale/distante basée sur un nom, et l'adresse publique fixe du routeur du siège comme adresse distante.
  6. Appliquez la politique IPSec à l'interface WAN, et activez le client DHCP pour que l'interface puisse obtenir son adresse dynamique.
#
 sysname RouterA
#
 ipsec authentication sha2 compatible enable
#
 ike local-name huawei
#
acl number 3000
 rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
#
ipsec proposal prop1
 esp authentication-algorithm sha2-256
 esp encryption-algorithm aes-128
#
ike proposal 1
 encryption-algorithm aes-cbc-128
 dh group14
 authentication-algorithm sha2-256
#
ike peer peer1 v1
 exchange-mode aggressive
 pre-shared-key cipher
 ike-proposal 1
 local-id-type name
 remote-name RouterB
 nat traversal
 remote-address 60.1.2.1
#
ipsec policy policy1 10 isakmp
 security acl 3000
 ike-peer peer1
 proposal prop1
#
interface GigabitEthernet0/0/1
 ipsec policy policy1
 ip address dhcp-alloc
#
interface GigabitEthernet0/0/2
 ip address 10.1.1.1 255.255.255.0
#
return

Configuration du dispositif NAT (NATer)

Un boîtier dédié entre le routeur de la succursale et internet. Il n'a pas besoin de connaître le flux protégé par IPSec — il traduit simplement chaque paquet sortant et attribue au routeur de la succursale une adresse privée par DHCP.

#
 sysname NATer
#
dhcp enable
#
acl number 3000
 rule 5 permit ip
#
interface GigabitEthernet0/0/1
 ip address 60.1.1.1 255.255.255.0
 nat outbound 3000
#
interface GigabitEthernet0/0/2
 ip address 192.168.1.1 255.255.255.0
 dhcp select interface
#
ip route-static 0.0.0.0 0.0.0.0 60.1.1.2
#
return

Configuration — RouterB (siège Cisco, modèle de carte dynamique)

Comme l'adresse de la succursale peut changer et que d'autres succursales pourraient devoir se connecter de la même façon, le côté Cisco accepte par identité plutôt que par adresse de pair fixe, via une crypto map dynamique.

!
hostname RouterB
!
crypto isakmp policy 1
  encryption aes 128
  hash sha256
  authentication pre-share
  group 14
crypto isakmp key YsHsjx_202206 hostname huawei
!
crypto isakmp identity hostname
!
crypto ipsec transform-set p1 esp-sha256-hmac esp-aes 128
!
crypto dynamic-map p1 1
  set transform-set p1
  match address 102
!
crypto map p1 1 ipsec-isakmp dynamic p1
!
interface GigabitEthernet0/0
  ip address 60.1.2.1 255.255.255.0
  duplex auto
  speed auto
  crypto map p1
!
interface GigabitEthernet0/1
  ip address 10.1.2.1 255.255.255.0
  duplex auto
  speed auto
!
ip route 0.0.0.0 0.0.0.0 60.1.2.2
!
access-list 102 permit ip 10.1.2.0 0.0.0.255 10.1.1.0 0.0.0.255
!
end

La syntaxe côté Cisco de cette note a été vérifiée sur Cisco IOS Software, C3900e-UNIVERSALK9-M, version 15.2(4)M1 — IOS-XE et ASA utilisent une syntaxe proche mais non identique.

Si c'est Cisco qui initie le mode agressif

L'exemple ci-dessus fait initier par la succursale Huawei. Si le routeur Cisco doit initier le mode agressif vers une succursale derrière NAT, il a besoin d'un bloc spécifique au pair plutôt que de la carte dynamique.

crypto isakmp peer ip-address 60.1.1.1
 set aggressive-mode client-endpoint fqdn huawei
 set aggressive-mode password YsHsjx_202206
Quand la succursale fait elle-même le NAT

Certaines succursales n'ont pas de dispositif NAT séparé — le routeur AR fait lui-même le NAT sur la même interface qui porte le trafic protégé par IPSec. Dans ce cas, l'ordre de traitement compte : le NAT s'exécute avant le chiffrement IPSec, donc à moins que le flux protégé ne soit explicitement exclu de l'ACL du NAT, le NAT réécrit l'adresse source avant même que l'ACL propre d'IPSec ne la voie, et l'ACL de sécurité du tunnel cesse de correspondre. L'ACL utilisée pour le NAT doit refuser le flux protégé par IPSec et n'autoriser que tout le reste :

acl number 3001
 rule 5 deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
 rule 10 permit ip
#
interface GigabitEthernet0/0/1
 ipsec policy policy1
 nat outbound 3001
 ip address dhcp-alloc

5 pièges derrière NAT et IP dynamique

Ce sont les problèmes qui viennent spécifiquement du fait d'ajouter du NAT et une adresse IP mouvante à un tunnel Huawei-Cisco par ailleurs ordinaire.

1. Le mode principal ne survit pas à un dispositif NAT sur le trajet

SYMPTÔMELa négociation de phase 1 échoue ou choisit la mauvaise clé pré-partagée dès qu'un dispositif NAT se trouve entre la succursale et le siège — alors que les mêmes paramètres exacts fonctionnaient parfaitement sur une liaison IP publique directe.

CAUSELe mode principal sélectionne la clé pré-partagée en fonction de l'adresse IP du pair. Une fois que le NAT réécrit cette adresse en transit, l'extrémité distante ne recherche plus la clé selon l'adresse réellement configurée du côté proche.

SOLUTIONPassez en mode agressif et identifiez le pair par un nom plutôt que par une adresse IP — un nom survit à la traduction NAT, une adresse IP non.

[RouterA] ike peer peer1 v1
[RouterA-ike-peer-peer1] exchange-mode aggressive
[RouterA-ike-peer-peer1] local-id-type name
[RouterA-ike-peer-peer1] remote-name RouterB

2. La traversée NAT n'est pas automatique sur toutes les versions logicielles

SYMPTÔMELa commande nat traversal est rejetée sur un appareil, ou le NAT-T se comporte comme s'il n'avait jamais été configuré sur un autre, alors que les deux sont des routeurs Huawei AR.

CAUSESur V200R008, la traversée NAT est activée par défaut et la commande elle-même n'est pas prise en charge. Sur les versions postérieures à V200R008, elle doit être configurée explicitement avec la commande nat traversal sous le pair IKE.

SOLUTIONVérifiez la version logicielle avant de supposer l'état du NAT-T — ne copiez pas un bloc de pair IKE d'une branche de firmware AR vers une autre sans confirmer si la commande s'applique.

[RouterA-ike-peer-peer1] nat traversal

3. IPSec et NAT sur la même interface sortante se contrarient

SYMPTÔMELa succursale fait elle-même le NAT (pas de boîtier NATer séparé), et le trafic censé être chiffré sort intact — ou le tunnel ne voit jamais le trafic qu'il est censé protéger.

CAUSELorsque IPSec et NAT sont configurés sur la même interface sortante, le routeur traite d'abord le NAT, puis le chiffrement IPSec. Si l'ACL du NAT n'exclut pas explicitement le flux protégé par IPSec, le NAT réécrit l'adresse source avant même que l'ACL de sécurité propre au tunnel n'ait la chance de la faire correspondre.

SOLUTIONRefusez d'abord le flux protégé par IPSec dans l'ACL du NAT, puis autorisez tout le reste — ainsi le NAT ne touche que le trafic qui n'est pas censé passer par le tunnel.

acl number 3001
 rule 5 deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
 rule 10 permit ip

4. Sans détection de pair mort, une liaison NAT peut expirer silencieusement

SYMPTÔMELe tunnel fonctionne bien, puis cesse de faire passer le trafic après une période de faible activité — sans aucun changement de configuration d'aucun côté.

CAUSELes dispositifs NAT font expirer les liaisons UDP inactives. Si aucun des deux côtés ne sonde activement le pair, l'entrée de traduction du dispositif NAT pour la session IKE/IPSec peut expirer alors que la SA elle-même semble toujours « établie » — le prochain paquet du siège n'a plus de destination valide.

SOLUTIONActivez la détection périodique de pair mort sur le pair IKE afin que les deux côtés continuent de se sonder mutuellement et que la liaison NAT reste rafraîchie.

[RouterA-ike-peer-peer1] dpd type periodic

5. Il faut dire à Cisco d'attendre un nom, pas seulement une IP

SYMPTÔMELa phase 1 ne se termine jamais, ou le routeur Cisco journalise une discordance d'identité, alors que la clé pré-partagée est correctement saisie des deux côtés.

CAUSEPar défaut, l'identité ISAKMP de Cisco est basée sur l'adresse. Si la succursale Huawei présente une identité basée sur un nom (comme l'exige ici le mode agressif), le routeur Cisco ne la fera pas correspondre à la bonne clé à moins qu'on ne lui dise d'attendre un nom d'hôte.

SOLUTIONRéglez l'identité ISAKMP sur hostname sur le routeur Cisco, et liez le secret pré-partagé à ce même nom d'hôte plutôt qu'à une adresse IP.

crypto isakmp key YsHsjx_202206 hostname huawei
crypto isakmp identity hostname

Conceptions de solutions associées

Comment confirmer que ça fonctionne vraiment

« Établi » dans la table SA est nécessaire mais pas suffisant derrière NAT — les ports NAT-T doivent aussi être réellement transmis.

  1. Sur RouterA, exécutez display ike sa ; sur RouterB, exécutez show crypto isakmp sa. La phase 1 et la phase 2 doivent toutes deux apparaître comme établies — une SA en mode agressif affiche les mêmes drapeaux RD|ST qu'une SA en mode principal.
  2. display ipsec sa sur RouterA (show crypto ipsec sa sur RouterB) confirme la même chose au niveau de la couche IPSec.
  3. Depuis un hôte de la succursale, faites un ping vers un hôte du siège à travers le tunnel, puis exécutez display ipsec statistics sur RouterA — les compteurs de paquets encap/decap doivent être non nuls, confirmant que le trafic est réellement chiffré et déchiffré, pas seulement que la SA existe.
  4. Si DPD est configuré, confirmez qu'il sonde réellement plutôt que de simplement figurer dans la configuration — un tunnel qui cesse silencieusement de fonctionner après une période d'inactivité signifie généralement que la liaison NAT a expiré avant que DPD ne la rafraîchisse.
[RouterA] display ike sa
     Conn-ID       Peer          VPN Flag(s)          Phase
  ---------------------------------------------------------
      8        60.1.2.1        0     RD|ST         2
      6        60.1.2.1        0     RD|ST         1
  Flag Description:
  RD--READY ST--STAYALIVE RL--REPLACED FD--FADING TO--TIMEOUT
  HRT--HEARTBEAT LKG--LAST KNOWN GOOD SEQ NO. BCK--BACKED UP

Si le tunnel ne s'établit pas du tout derrière NAT, vérifiez que le dispositif NAT transmet réellement UDP 500 et UDP 4500 vers la succursale — NAT-T bascule généralement le trafic IKE vers le port 4500 une fois la traduction détectée, et un dispositif qui n'ouvre que le port 500 fera échouer silencieusement la négociation.

Questions fréquentes

Cinq questions qui reviennent presque à chaque fois que cette combinaison exacte — IP dynamique, NAT, Huawei vers Cisco — est mise en place.

Dois-je utiliser le mode agressif, ou puis-je garder le mode principal si seule l'IP de la succursale est dynamique ?

Si un dispositif NAT se trouve n'importe où sur le trajet, non — le mode principal sélectionne la clé pré-partagée selon l'adresse IP du pair, et le NAT réécrit cette adresse avant qu'elle n'atteigne l'extrémité distante. Le mode agressif identifie plutôt le pair par un nom, qui survit à la traduction NAT. S'il n'y a vraiment aucun NAT et que seule l'IP est dynamique, le mode principal avec une clé pré-partagée générique liée à n'importe quelle adresse peut encore fonctionner.

Le routeur de la succursale a-t-il besoin d'un dispositif NAT séparé, ou le routeur AR peut-il faire le NAT lui-même ?

Les deux fonctionnent. Un dispositif NAT séparé, comme dans l'exemple principal de cette note, garde IPSec et NAT proprement séparés. Si le routeur AR fait lui-même le NAT sur la même interface, rappelez-vous que le NAT s'exécute avant IPSec — l'ACL du NAT doit explicitement refuser le flux protégé par IPSec, sinon le NAT le réécrit avant que le tunnel n'ait la chance de le protéger.

Et si c'est le siège, et non la succursale, qui est derrière NAT ?

Alors le dispositif devant le siège a besoin de redirection de port statique plutôt que du NAT sortant utilisé pour la succursale : transférez UDP 500 et UDP 4500 vers l'adresse privée du routeur Cisco pour que le trafic IKE et NAT-T l'atteigne réellement, plus ICMP si les tests de connectivité doivent passer.

nat server protocol udp global current-interface 500 inside 192.168.1.2 500
nat server protocol udp global current-interface 4500 inside 192.168.1.2 4500
nat server protocol icmp global current-interface inside 192.168.1.2

Le modèle de carte dynamique côté Cisco accepte-t-il n'importe quelle succursale, ou seulement celle-ci ?

Tel que configuré ici, la clé pré-partagée est liée au nom IKE de la succursale (crypto isakmp key ... hostname huawei), donc cette carte dynamique n'accepte en réalité que cette succursale identifiée. Pour que la même carte accepte n'importe quelle succursale, liez la clé à une adresse générique plutôt qu'à un nom d'hôte — le même modèle de carte dynamique combiné à une identité basée sur l'IP côté succursale acceptera n'importe quel pair présentant la bonne clé.

Sur quelle version de Cisco IOS cela a-t-il été validé ?

Cisco IOS Software, C3900e-UNIVERSALK9-M, version 15.2(4)M1. IOS-XE et ASA utilisent une syntaxe proche mais non identique. Le guide de configuration source signale également MD5, SHA-1, DES et 3DES comme des algorithmes présentant des faiblesses connues — évitez-les si l'extrémité distante peut négocier quelque chose de plus robuste.

Limites honnêtes de cette note

Limites honnêtes de cette note

Cette note s'appuie sur la combinaison mode agressif, traversée NAT, carte dynamique du guide de configuration source, ainsi que sur les variantes NAT côté succursale et NAT côté siège qu'il documente. Elle ne couvre pas l'IKEv2 derrière NAT, les chaînes de double NAT, le partage d'adresses du NAT de niveau opérateur (CGN), ni un dispositif NAT d'un fournisseur tiers dont le comportement de traduction ne correspond pas exactement à cette configuration de test Huawei-à-Huawei NATer.

Envoyez-nous votre combinaison exacte

Succursale derrière NAT, IP dynamique, une version Cisco IOS spécifique — envoyez-le sur WhatsApp et nous vous aiderons à aligner les paramètres des deux côtés.

WhatsApp avec un ingénieur →

Lectures connexes

Nous n'utilisons des cookies que pour des statistiques anonymes — pas de publicité, pas de suivi intersites.Politique de confidentialité