Início / Notas técnicas / DSVPN sobre IPSec Huawei-Cisco

DSVPN sobre IPSec entre filiais Huawei e um hub Cisco: guia de configuração completo

Dois roteadores de filial Huawei AR (Spoke1, Spoke2) e um roteador Cisco na matriz (Hub), formando uma rede DSVPN Over IPSec — túneis mGRE dinâmicos, registro NHRP e perfis IPSec por túnel que permitem que as filiais se comuniquem diretamente entre si sem passar pela matriz.

Por Yuwen Zhang (Atlas), fundador da AtlasCommTech — 13 anos de implantações de redes de operadoras e empresariais · Atualizado em julho de 2026

Por que DSVPN em vez de um túnel ponto a ponto por filial

Túneis IPSec comuns se multiplicam um por par. O DSVPN permite que cada site alcance todos os outros através de uma única malha dinâmica.

Um túnel IPSec de filial para matriz como os de nossas outras notas funciona bem para dois sites. Adicione uma terceira filial que também precisa alcançar as duas primeiras, e um projeto estático ponto a ponto significa configurar e manter um túnel separado para cada par — com a matriz retransmitindo cada pacote entre filiais mesmo quando as duas poderiam se comunicar diretamente. O DSVPN (Dynamic Smart VPN) resolve isso com um modelo Hub-Spoke construído sobre GRE multiponto (mGRE) e NHRP: cada spoke se registra no hub, e assim que dois spokes precisam conversar entre si, eles podem construir um túnel direto — sem que a matriz encaminhe o tráfego.

Esta nota percorre uma construção completa de DSVPN Over IPSec com um roteador Cisco como hub e dois roteadores Huawei AR como spokes: as interfaces de túnel mGRE, o registro e autenticação NHRP, os parâmetros IKE/IPSec envolvidos no túnel com um perfil IPSec, e a verificação que confirma que os spokes realmente se encontram diretamente em vez de passar pelo hub.

Topologia e plano de dados

Um hub, dois spokes — e assim que o NHRP resolve, um túnel direto entre os próprios spokes.

HubCisco headquarters router Spoke1Huawei AR branch Spoke2Huawei AR branch Internet mGRE + IPSec profile mGRE + IPSec profile Dynamic spoke-to-spoke tunnel · NHRP shortcut HQ private subnet10.1.0.0/24 Spoke1 private subnet10.1.1.0/24 Spoke2 private subnet10.1.2.0/24

Os rótulos do diagrama permanecem em inglês para clareza técnica.

Endereçamento

ItemSpoke1 — Huawei ARSpoke2 — Huawei ARHub — Cisco
Endereço público (WAN)1.1.2.101.1.3.101.1.1.10
Endereço da interface de túnel10.2.1.210.2.1.310.2.1.1
Sub-rede privada10.1.1.0/2410.1.2.0/2410.1.0.0/24

Parâmetros NHRP

ParâmetroValor (este exemplo)
NHRP network-id (domínio)1000
Chave de autenticação NHRPhuawei12
Intervalo de registro do spoke1800 seconds
Holdtime NHRP do hub3600 seconds

Fase 1 — Parâmetros de negociação IKE

ParâmetroValor (este exemplo)
Versão IKEIKEv1
Modo de negociaçãoModo principal
Método de autenticaçãoChave pré-compartilhada
Chave pré-compartilhada (este exemplo)huawei@123a chave do exemplo de origem; defina sempre sua própria chave exclusiva.
Algoritmo de criptografiaaes-cbc-128
Algoritmo de autenticaçãosha1
Grupo DHgroup5
Tempo de vida da SA28800 seconds
DPDAtivado (periódico)

Fase 2 — Parâmetros de negociação IPSec

ParâmetroValor (este exemplo)
Protocolo de segurançaESP
Modo de encapsulamentoTransporte — o mGRE já fornece o túnel externo
Algoritmo de criptografiaaes-128
Algoritmo de autenticaçãosha1
Tempo de vida da SA3600 segundos (padrão)
PFSDesativado

Configuração — Spoke1 (Huawei AR)

O túnel mGRE, o registro NHRP e um perfil IPSec vinculado diretamente à interface de túnel — sem crypto map, sem ACL.

  1. Configure o endereço IP da interface física e uma rota estática padrão para que a rede pública seja alcançável.
  2. Crie a interface de túnel como mGRE (tunnel-protocol gre p2mp), e configure a entrada NHRP apontando para o hub, além do network-id e da chave de autenticação NHRP.
  3. Adicione rotas estáticas para a sub-rede privada do hub e para a do outro spoke, com o próximo salto através dos seus endereços de túnel.
  4. Defina a proposta IKE e o peer IKE — modo principal, chave pré-compartilhada, DPD periódico.
  5. Defina a proposta IPSec em modo de transporte, e um perfil IPSec que referencie tanto o peer IKE quanto a proposta IPSec.
  6. Aplique o perfil IPSec à interface de túnel.
<Huawei> system-view
[Huawei] sysname Spoke1
[Spoke1] interface gigabitethernet 1/0/0
[Spoke1-GigabitEthernet1/0/0] ip address 1.1.2.10 255.255.255.0
[Spoke1-GigabitEthernet1/0/0] quit
[Spoke1] ip route-static 0.0.0.0 0.0.0.0 1.1.2.1

[Spoke1] interface Tunnel0/0/0
[Spoke1-Tunnel0/0/0] ip address 10.2.1.2 255.255.255.0
[Spoke1-Tunnel0/0/0] tunnel-protocol gre p2mp
[Spoke1-Tunnel0/0/0] source gigabitethernet 1/0/0
[Spoke1-Tunnel0/0/0] nhrp entry 10.2.1.1 1.1.1.10 register
[Spoke1-Tunnel0/0/0] nhrp network-id 1000
[Spoke1-Tunnel0/0/0] nhrp authentication simple huawei12
[Spoke1-Tunnel0/0/0] nhrp registration interval 1800
[Spoke1-Tunnel0/0/0] quit

[Spoke1] ip route-static 10.1.0.0 255.255.255.0 10.2.1.1
[Spoke1] ip route-static 10.1.2.0 255.255.255.0 10.2.1.3

[Spoke1] ike proposal 5
[Spoke1-ike-proposal-5] encryption-algorithm aes-cbc-128
[Spoke1-ike-proposal-5] authentication-algorithm sha1
[Spoke1-ike-proposal-5] dh group5
[Spoke1-ike-proposal-5] sa duration 28800
[Spoke1-ike-proposal-5] authentication-method pre-share
[Spoke1-ike-proposal-5] quit

[Spoke1] ike peer spoke1 v1
[Spoke1-ike-peer-spoke1] ike-proposal 5
[Spoke1-ike-peer-spoke1] pre-shared-key cipher huawei@123
[Spoke1-ike-peer-spoke1] exchange-mode main
[Spoke1-ike-peer-spoke1] dpd type periodic
[Spoke1-ike-peer-spoke1] quit

[Spoke1] ipsec proposal spoke1
[Spoke1-ipsec-proposal-spoke1] transform esp
[Spoke1-ipsec-proposal-spoke1] esp authentication-algorithm sha1
[Spoke1-ipsec-proposal-spoke1] esp encryption-algorithm aes-128
[Spoke1-ipsec-proposal-spoke1] encapsulation-mode transport

[Spoke1] ipsec profile profile1
[Spoke1-ipsec-profile-profile1] ike-peer spoke1
[Spoke1-ipsec-profile-profile1] proposal spoke1
[Spoke1-ipsec-profile-profile1] quit

[Spoke1] interface tunnel 0/0/0
[Spoke1-Tunnel0/0/0] ipsec profile profile1

Configuração — Spoke2 (Huawei AR)

Os mesmos seis passos, endereçamento espelhado — as rotas estáticas do Spoke2 apontam para o hub e para o Spoke1.

<Huawei> system-view
[Huawei] sysname Spoke2
[Spoke2] interface gigabitethernet 1/0/0
[Spoke2-GigabitEthernet1/0/0] ip address 1.1.3.10 255.255.255.0
[Spoke2-GigabitEthernet1/0/0] quit
[Spoke2] ip route-static 0.0.0.0 0.0.0.0 1.1.3.1

[Spoke2] interface Tunnel0/0/0
[Spoke2-Tunnel0/0/0] ip address 10.2.1.3 255.255.255.0
[Spoke2-Tunnel0/0/0] tunnel-protocol gre p2mp
[Spoke2-Tunnel0/0/0] source gigabitethernet 1/0/0
[Spoke2-Tunnel0/0/0] nhrp entry 10.2.1.1 1.1.1.10 register
[Spoke2-Tunnel0/0/0] nhrp network-id 1000
[Spoke2-Tunnel0/0/0] nhrp authentication simple huawei12
[Spoke2-Tunnel0/0/0] nhrp registration interval 1800
[Spoke2-Tunnel0/0/0] quit

[Spoke2] ip route-static 10.1.0.0 255.255.255.0 10.2.1.1
[Spoke2] ip route-static 10.1.1.0 255.255.255.0 10.2.1.2

[Spoke2] ike proposal 5
[Spoke2-ike-proposal-5] encryption-algorithm aes-cbc-128
[Spoke2-ike-proposal-5] authentication-algorithm sha1
[Spoke2-ike-proposal-5] dh group5
[Spoke2-ike-proposal-5] sa duration 28800
[Spoke2-ike-proposal-5] authentication-method pre-share
[Spoke2-ike-proposal-5] quit

[Spoke2] ike peer spoke2 v1
[Spoke2-ike-peer-spoke2] ike-proposal 5
[Spoke2-ike-peer-spoke2] pre-shared-key cipher huawei@123
[Spoke2-ike-peer-spoke2] exchange-mode main
[Spoke2-ike-peer-spoke2] dpd type periodic
[Spoke2-ike-peer-spoke2] quit

[Spoke2] ipsec proposal spoke2
[Spoke2-ipsec-proposal-spoke2] transform esp
[Spoke2-ipsec-proposal-spoke2] esp authentication-algorithm sha1
[Spoke2-ipsec-proposal-spoke2] esp encryption-algorithm aes-128
[Spoke2-ipsec-proposal-spoke2] encapsulation-mode transport

[Spoke2] ipsec profile profile1
[Spoke2-ipsec-profile-profile1] ike-peer spoke2
[Spoke2-ipsec-profile-profile1] proposal spoke2
[Spoke2-ipsec-profile-profile1] quit

[Spoke2] interface tunnel 0/0/0
[Spoke2-Tunnel0/0/0] ipsec profile profile1

Configuração — Hub (matriz Cisco)

A interface mGRE do hub é o ponto de encontro multicast contra o qual cada spoke se registra — o mapeamento NHRP dinâmico substitui uma lista de peers estática.

Router#configure
Router(config)#interface gigabitethernet 0/1
Router(config-if)#ip address 1.1.1.10 255.255.255.0
Router(config-if)#exit
Router(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.1

Router(config)#interface tunnel 0
Router(config-if)#ip address 10.2.1.1 255.255.255.0
Router(config-if)#tunnel mode gre multipoint
Router(config-if)#tunnel source gigabitethernet0/1
Router(config-if)#ip nhrp holdtime 3600
Router(config-if)#ip nhrp network-id 1000
Router(config-if)#ip nhrp authentication huawei12
Router(config-if)#ip nhrp map multicast dynamic
Router(config-if)#exit

Router(config)#ip route 10.1.2.0 255.255.255.0 10.2.1.3
Router(config)#ip route 10.1.1.0 255.255.255.0 10.2.1.2

Router(config)#crypto isakmp policy 10
Router(config-isakmp)#hash sha
Router(config-isakmp)#encryption aes 128
Router(config-isakmp)#group 5
Router(config-isakmp)#authentication pre-share
Router(config-isakmp)#lifetime 28800
Router(config-isakmp)#exit

Router(config)#crypto isakmp key huawei@123 address 0.0.0.0 no-xauth

Router(config)#crypto ipsec transform-set tran1 esp-sha-hmac esp-aes 128
Router(cfg-crypto-trans)#mode transport require
Router(cfg-crypto-trans)#exit

Router(config)#crypto ipsec profile profile1
Router(ipsec-profile)#set transform-set tran1
Router(ipsec-profile)#exit

Router(config)#interface tunnel 0
Router(config-if)#tunnel protection ipsec profile profile1
Router(config-if)#exit

A sintaxe do lado Cisco desta nota foi verificada no Cisco IOS Software, C3900e-UNIVERSALK9-M, versão 15.2(4)M1 — IOS-XE e ASA usam sintaxe parecida, mas não idêntica.

5 armadilhas em uma implantação DSVPN real

Os túneis dinâmicos Hub-Spoke trazem seus próprios modos de falha além dos do IPSec comum.

1. O DSVPN é um recurso proprietário da Huawei — confirme primeiro a licença e o suporte entre fabricantes

SINTOMAUm design DSVPN que funciona bem entre dispositivos Huawei no laboratório esbarra em uma questão de conformidade ou licenciamento assim que está prestes a entrar em produção com um hub não Huawei.

CAUSAO guia de configuração de origem é explícito ao afirmar que o DSVPN é uma implementação proprietária da Huawei, e que interconectá-lo com equipamentos de outro fabricante pode trazer risco legal — o guia instrui os engenheiros a verificar com o escritório local da Huawei e o departamento jurídico antes de fazer exatamente isso. Alguns dispositivos também bloqueiam o recurso DSVPN atrás de uma licença restrita por padrão.

SOLUÇÃOConfirme se o licenciamento do DSVPN está ativo em cada spoke Huawei, e obtenha a aprovação formal da combinação entre fabricantes antes de entrar em produção — trate isso como um item de checklist do primeiro dia, não algo descoberto durante a implantação.

2. O suporte a NAT do DSVPN é mais restrito que o do IPSec ponto a ponto

SINTOMADois spokes atrás de NAT se registram bem no hub, mas o túnel direto spoke a spoke entre eles nunca sobe, ou sobe de forma instável.

CAUSAO DSVPN não suporta túneis spoke a spoke quando os dois spokes estão atrás do mesmo dispositivo NAT que os traduz para o mesmo endereço, e não suporta travessia de NAT quando os spokes estão atrás de dispositivos NAT diferentes com PAT habilitado. O dispositivo NAT na frente de qualquer participante do DSVPN também precisa ser configurado como servidor NAT ou NAT estático — o DSVPN não funciona através de NAT outbound ou inbound comum.

SOLUÇÃOSe um spoke estiver atrás de NAT, use NAT estático ou um mapeamento de servidor NAT em vez de NAT outbound/inbound dinâmico, e não espere um túnel direto spoke a spoke entre dois spokes que compartilham um dispositivo NAT com PAT habilitado.

3. O roteamento dinâmico sobre DSVPN precisa do tipo de rede correto

SINTOMAO OSPF (ou outro IGP) roda sobre o túnel DSVPN, mas as rotas entre spokes não se propagam como deveriam, ou o atalho spoke a spoke nunca chega a ser usado mesmo depois que o NHRP resolve.

CAUSAO tipo de rede e a configuração de agregação de rotas corretos dependem de o deployment ser shortcut ou não shortcut. O não shortcut precisa do split horizontal e da agregação automática de rotas desabilitados na interface mGRE do hub, com o tipo de rede OSPF definido como broadcast; o shortcut precisa do oposto — split e agregação habilitados, com OSPF definido como ponto a multiponto — e um design BGP shortcut precisa especificamente de agregação de rotas configurada no hub.

SOLUÇÃODecida shortcut ou não shortcut antes de mexer na configuração do protocolo de roteamento, depois defina o tipo de rede e o comportamento de split/agregação para corresponder — copiar as configurações de roteamento de um design para o outro quebra silenciosamente a propagação de rotas ou o atalho spoke a spoke.

4. A sintaxe do comando peer IKE ainda difere conforme a versão do software

SINTOMAUm comando ike peer que funciona no firmware de um spoke é rejeitado, ou se comporta de forma inesperada, em outro spoke da mesma família de hardware.

CAUSAVersões anteriores ao V200R008 usam ike peer peer-name [ v1 | v2 ] como um único comando. O V200R008 e versões posteriores dividem isso em ike peer peer-name mais um comando version { 1 | 2 } separado, e o comportamento padrão da versão IKE mudou nesse mesmo ponto. remote-name e local-id-type name também foram renomeados para remote-id e local-id-type fqdn em versões mais novas.

SOLUÇÃOVerifique a versão exata do software em cada spoke antes de copiar um bloco de peer IKE entre eles — não presuma que dois spokes rodam o mesmo firmware só porque são o mesmo modelo de hardware.

5. O DPD é o que informa à rede que um spoke realmente saiu do ar

SINTOMAUm spoke perde sua conexão WAN ou reinicia, mas a tabela SA do peer ainda mostra a sessão antiga como saudável por um tempo, e o tráfego destinado a esse spoke não tem para onde ir nesse meio tempo.

CAUSASem detecção de peer inativo, uma sessão IKE/IPSec só é derrubada quando seu tempo de vida expira ou uma nova negociação falha — nenhuma das quais acontece rapidamente se o peer simplesmente desapareceu no meio da sessão.

SOLUÇÃOHabilite o DPD periódico no peer IKE de cada spoke para que uma sessão morta seja percebida e limpa prontamente em vez de esperar todo o tempo de vida da SA.

[Spoke1-ike-peer-spoke1] dpd type periodic

Projetos de soluções relacionadas

Como confirmar que realmente está funcionando

O verdadeiro teste não é a SA hub-spoke — é se dois spokes conseguem construir um túnel direto entre si.

  1. No Spoke1, execute display ike sa; o comando equivalente no Hub é show crypto isakmp sa. Tanto a SA da fase 1 quanto a da fase 2 para o hub devem aparecer como estabelecidas.
  2. Faça ping na sub-rede privada do outro spoke a partir de um host atrás do Spoke1, depois execute display nhrp peer all no Spoke1 — a entrada do hub aparece como static, e a entrada do outro spoke deve mudar para dynamic, marcada como route tunnel, assim que o caminho direto estiver ativo.
  3. Depois que o tráfego spoke a spoke flui, display ike sa em qualquer um dos spokes mostra um segundo conjunto de SAs de fase 1/fase 2 — um par para o hub, um par para o outro spoke — confirmando que o túnel direto também está protegido por IPSec, não apenas os trechos hub-spoke.
[Spoke1] display ike sa
    Conn-ID       Peer          VPN Flag(s)          Phase
 ---------------------------------------------------------
     8        1.1.1.10        0     RD|ST         2
     6        1.1.1.10        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

[Spoke1] display nhrp peer all
 -------------------------------------------------------------------------------
 Protocol-addr Mask NBMA-addr                 NextHop-addr Type                Flag
 -------------------------------------------------------------------------------
 10.2.1.1       32 1.1.1.10          10.2.1.1      static       hub
 -------------------------------------------------------------------------------
 Tunnel interface: Tunnel0/0/0
 Created time : 05:13:06
 Expire time      : --
 -------------------------------------------------------------------------------
 Protocol-addr Mask NBMA-addr                 NextHop-addr Type                Flag
 -------------------------------------------------------------------------------
 10.2.1.3       32 1.1.3.10          10.2.1.3       dynamic       route tunnel
 -------------------------------------------------------------------------------
 Tunnel interface: Tunnel0/0/0
 Created time : 00:00:31
 Expire time      : 01:59:29

[Spoke1] display ike sa
    Conn-ID       Peer          VPN Flag(s)          Phase
 ---------------------------------------------------------
     22        1.1.1.3        0     RD|ST         2
     15        1.1.1.3        0     RD|ST         1
     8        1.1.1.10        0     RD|ST         2
     6        1.1.1.10        0     RD|ST         1

Se o túnel IPSec não se estabelecer de forma alguma, verifique se a rota até o peer é realmente alcançável e se as configurações IPSec dos dois lados realmente coincidem. Se o próprio túnel DSVPN não se estabelecer mesmo com o IPSec parecendo correto, verifique se as configurações DSVPN dos dois lados — network-id NHRP, chave de autenticação e registro — realmente coincidem.

Perguntas frequentes

Cinco perguntas que surgem quase toda vez que um design DSVPN Hub-Spoke como este é montado.

Os spokes realmente conseguem se alcançar diretamente, ou o tráfego ainda passa pelo hub?

Diretamente, assim que o NHRP resolve o endereço público do spoke remoto. Cada spoke se registra primeiro no hub — o hub sempre conhece o endereço real de cada spoke — mas assim que um spoke precisa enviar tráfego para outro, o NHRP permite que ele resolva o endereço real desse spoke e construa um túnel direto. display nhrp peer all em qualquer um dos spokes mostra a diferença: a entrada do hub é static, e a do outro spoke muda para dynamic, marcada como route tunnel, assim que o caminho direto está ativo.

O hub Cisco precisa de um crypto map como um design IPSec site a site normal?

Não — este design vincula o IPSec diretamente à interface de túnel com tunnel protection ipsec profile, referenciando um crypto ipsec profile construído a partir de um transform-set. Não há crypto map nem seletor de tráfego baseado em ACL, porque a própria interface de túnel mGRE define o que é protegido: tudo que trafega por esse túnel é protegido.

E se um spoke estiver atrás de NAT?

Pode funcionar, mas apenas dentro dos limites de NAT do DSVPN: o dispositivo na frente do spoke precisa fazer NAT estático ou atuar como servidor NAT, não NAT outbound/inbound dinâmico, e dois spokes compartilhando um dispositivo NAT com PAT habilitado não conseguem construir um túnel direto entre si.

Qual é a diferença prática entre DSVPN shortcut e não shortcut?

O não shortcut precisa de uma rota estática ou dinâmica em cada dispositivo apontando diretamente para o endereço de túnel de cada outro dispositivo — incluindo rotas spoke a spoke, como no exemplo de rota estática desta nota. O shortcut permite que os spokes aprendam a acessibilidade primeiro através do hub e só constrói o túnel direto spoke a spoke sob demanda, o que precisa de menos configuração manual de rotas, mas muda como o tipo de rede OSPF e a agregação de rotas precisam ser configurados.

O túnel DSVPN ou spoke a spoke não sobe — o que verificar primeiro?

Exatamente o que o guia de origem aponta: se o túnel IPSec não subir, verifique se a rota até o peer é realmente alcançável e se as configurações IPSec dos dois lados realmente coincidem. Se o próprio túnel DSVPN não subir, verifique se as configurações DSVPN dos dois lados realmente coincidem.

Limites honestos desta nota

Limites honestos desta nota

Esta nota se baseia no exemplo de dois spokes e hub Cisco de DSVPN Over IPSec do guia de configuração de origem, incluindo suas restrições de NAT e sua tabela de protocolos de roteamento. Não cobre DSVPN com três ou mais spokes precisando de túneis shortcut simultâneos, IKEv2, um hub que não seja Cisco, ou protocolos de roteamento dinâmico além das combinações RIP/OSPF/BGP que o guia de origem documenta.

Envie-nos sua combinação exata

Quantos spokes, qual fabricante do hub, shortcut ou não — mande pelo WhatsApp e a gente ajuda a alinhar os parâmetros em todos os dispositivos.

WhatsApp com um engenheiro →

Leitura relacionada

Usamos cookies apenas para análises anônimas — sem anúncios, sem rastreamento entre sites.Política de privacidade