Início / Notas técnicas / Falha de registro NHRP do DSVPN

Um spoke DSVPN não registra: solução de problemas de NHRP com comandos debug

Um Spoke que nunca aparece na tabela de pares NHRP do Hub parece um único problema, mas o manual de manutenção da Huawei o trata como cinco ou seis candidatos escondidos atrás do mesmo sintoma. Aqui está o próprio fluxo de registro, os comandos display e debug para cada ponto de verificação, e os nomes exatos dos campos nos contadores que indicam qual é de fato.

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 'o spoke não registra' abrange cinco ou seis falhas diferentes

O DSVPN tem quatro categorias amplas de falha no próprio manual de manutenção da Huawei — esta nota trata em profundidade a primeira, o registro de spoke para hub.

O manual de manutenção da série AR da Huawei agrupa as falhas de DSVPN em quatro sintomas amplos: falha de registro do Spoke junto ao Hub, inacessibilidade Spoke a Spoke em modo não-shortcut, inacessibilidade Spoke a Spoke em modo shortcut, e NHRP caindo depois de já ter sido estabelecido. Esta nota trata inteiramente da primeira categoria — falha de registro — porque é tanto o ponto de entrada mais comum quanto aquele que todas as outras categorias assumem já resolvido.

A seguir: o fluxo de registro pacote a pacote com saída debug real, a ordem de diagnóstico que o próprio fluxograma da Huawei segue, seis armadilhas de campo, e um FAQ extraído da própria seção de FAQ do DSVPN da Huawei.

O fluxo de registro NHRP, pacote a pacote

Quatro pacotes, em ordem: a solicitação de registro do Spoke, o recebimento pelo Hub, a resposta do Hub, e o recebimento dessa resposta pelo Spoke. A saída debug abaixo é real, da própria referência de depuração de campo da Huawei.

Spokebranch router Hubhead-office router 1. Register Request (PacketType 3) 2. Register Reply (PacketType 4) SrcNbmaAddr · SrcProtAddr · DstProtAddr · Request ID Checkpoints before assuming an NHRP-specific fault: 1. IPSec profile unbound for isolation · 2. NBMA route reachable both ends · 3. Tunnel interface up both ends 4. GRE key + nhrp authentication match · 5. RegisterRequestSendSuccess / RegisterReplyCorrectRecv counters · 6. IPSec SA re-forms No NHRP peer entry after a matching reply is received → escalate to support (step 7)

Os rótulos do diagrama e os nomes dos campos debug são mantidos em inglês para clareza técnica.

PacketType 3 é uma solicitação de registro, PacketType 4 é uma resposta de registro. SrcNbmaAddr e SrcProtAddr identificam os endereços público e de túnel do Spoke; DstProtAddr é o endereço de túnel do Hub; Request ID vincula a solicitação à sua resposta correspondente. Se o próprio debug do Spoke mostrar que ele enviou a solicitação e depois recebeu uma resposta correspondente, mas nenhuma entrada de par NHRP jamais aparece — esse é o único caso em que o próprio guia da Huawei recomenda escalar diretamente para o desenvolvimento do NHRP, pois todas as causas de configuração documentadas já foram descartadas.

Habilitando o debug do NHRP

<Huawei>terminal monitor
<Huawei>terminal debugging
<Huawei>debugging timeout 0
<Huawei>debugging nhrp all
// turn off when done:
<Huawei>undo debugging all
<Huawei>undo terminal monitor
<Huawei>undo terminal debugging

Saída debug real — o Spoke se registrando no Hub

Spoke sends the registration packet:
[NhrpPeerMng-Register] Send Nhrp packet info: PacketSize = 92, PacketType = 3,
SrcNbmaAddr = 173.16.1.6, SrcProtAddr = 192.168.3.3, DstProtAddr = 192.168.3.1,
Request ID = 3695974589.

Hub receives the registration packet:
[NhrpPeerMng-Register] Recv Nhrp packet info: PacketSize = 92, PacketType = 3,
SrcNbmaAddr = 173.16.1.6, SrcProtAddr = 192.168.3.3, DstProtAddr = 192.168.3.1,
Request ID = 3630044566.

Hub replies to the registration:
[NhrpPeerMng-Register] Send Nhrp packet info: PacketSize = 112, PacketType = 4,
SrcNbmaAddr = 173.16.1.6, SrcProtAddr = 192.168.3.3, DstProtAddr = 192.168.3.1,
Request ID = 3630044566.

Spoke receives the Hub's reply:
[NhrpPeerMng-Register] Recv Nhrp packet info: PacketSize = 112, PacketType = 4,
SrcNbmaAddr = 173.16.1.6, SrcProtAddr = 192.168.3.3, DstProtAddr = 192.168.3.1,
Request ID = 3695974589.
// if the Spoke received the reply but the NHRP peer entry still never forms,
// escalate to NHRP development -- every configuration-level cause is ruled out

A ordem de diagnóstico: o que verificar antes mesmo de mexer no NHRP

Este é o próprio fluxograma da Huawei para a falha de registro de spoke para hub, em ordem — cada etapa descarta uma camada antes de passar para a próxima.

  1. Desvincule primeiro o perfil IPSec da interface, se houver um vinculado (undo ipsec profile), para poder isolar e testar o registro NHRP sem a dependência do IPSec no caminho. Vincule-o novamente depois, no passo 6.
  2. Verifique se a alcançabilidade NBMA Spoke-Hub realmente existe: display ip routing-table em ambas as pontas, confirmando que cada lado tem uma rota para o endereço NBMA (público/subjacente) do outro. Se isso falhar, corrija primeiro o roteamento subjacente — nada acima dessa camada funcionará sem isso.
  3. Verifique o estado real da interface Tunnel com display interface interface-type interface-number tanto no Hub quanto no Spoke. Se mostrar down, execute undo shutdown. Isso é surpreendentemente ignorado com frequência — engenheiros pulam direto para comandos específicos do NHRP enquanto a própria interface de túnel está simplesmente desativada administrativamente.
  4. Compare a configuração do Spoke e do Hub sob a interface MGRE com display this em ambas as pontas, focando em dois campos específicos: nhrp authentication (a string de autenticação deve coincidir em ambos os lados) e gre key (o identificador do túnel GRE deve coincidir). Verifique também display nhrp peer no Hub para uma entrada dinâmica deste Spoke.
  5. Zere os contadores de pacotes em ambas as pontas com reset nhrp statistics interface interface-type interface-number, dispare um novo registro a partir do Spoke, e então verifique display nhrp statistics interface interface-type interface-number. Dois campos específicos dizem exatamente onde está quebrando: RegisterRequestSendSuccess (a solicitação do Spoke realmente saiu?) e RegisterReplyCorrectRecv (o Spoke realmente recebeu uma resposta correspondente?).
  6. Assim que o Hub mostrar uma entrada de par para o Spoke, vincule novamente o perfil IPSec removido no passo 1 (ipsec profile) e execute display ipsec sa no par Spoke-Hub para confirmar que uma SA realmente se forma. Se não se formar, isso se torna uma falha de IPSec, não de NHRP.
  7. Se nada do acima resolver, escale — reúna os resultados de cada etapa acima mais o arquivo de configuração do dispositivo, logs e informações de alarme antes de contatar o suporte.
<Spoke> interface Tunnel0/0/0
[Spoke-Tunnel0/0/0] undo ipsec profile
[Spoke-Tunnel0/0/0] quit

<Spoke> display ip routing-table
<Hub> display ip routing-table
// confirm each side has a route to the other's NBMA address

<Hub> display interface Tunnel0/0/0
<Spoke> display interface Tunnel0/0/0
// if state is down: undo shutdown

<Hub> display this
<Spoke> display this
// compare nhrp authentication and gre key line by line
<Hub> display nhrp peer

<Hub> reset nhrp statistics interface Tunnel 0/0/0
<Spoke> reset nhrp statistics interface Tunnel 0/0/0
// trigger a fresh registration from the Spoke, then:
<Spoke> display nhrp statistics interface Tunnel 0/0/0
// check RegisterRequestSendSuccess and RegisterReplyCorrectRecv

[Spoke-Tunnel0/0/0] ipsec profile ipsec1
<Spoke> display ipsec sa

6 causas raiz que aparecem repetidamente

Cada uma delas vem diretamente das seções de tratamento de falhas de DSVPN e FAQ da própria Huawei — nada aqui é inventado.

1. Incompatibilidade de chave GRE entre o Spoke e o Hub

SINTOMAA alcançabilidade NBMA é confirmada como boa, a interface Tunnel está up em ambas as pontas, e o Spoke ainda assim nunca registra — sem nenhuma mensagem de erro apontando o motivo.

CAUSAEsta é uma das causas raiz comuns que o próprio manual da Huawei lista para a falha de registro: a chave GRE configurada na interface de túnel do Spoke não corresponde à do Hub. Como a verificação da chave GRE acontece silenciosamente na camada de encapsulamento do túnel, nada nos logs em nível de NHRP a aponta diretamente.

SOLUÇÃOCompare o valor de gre key nas interfaces de túnel do Hub e do Spoke com display this, e alinhe-os com o comando gre key. Faça isso antes de gastar tempo com contadores específicos do NHRP — é uma verificação de uma linha que descarta uma categoria inteira de falhas.

2. Autenticação NHRP configurada apenas em um lado

SINTOMAO mesmo cenário do caso da chave GRE — o roteamento está bom, o túnel está up, o registro simplesmente nunca se completa.

CAUSAO manual da Huawei lista isso como uma causa distinta própria: o Hub tem uma string de autenticação NHRP configurada, mas o Spoke não, ou os dois lados configuraram strings diferentes. De qualquer forma, o efeito é idêntico a uma incompatibilidade de chave GRE visto de fora — falha de registro silenciosa sem erro óbvio.

SOLUÇÃOCompare nhrp authentication em ambas as pontas via display this sob a interface tunnel/MGRE, e alinhe-os com o comando nhrp authentication. Verifique isso junto com a chave GRE na mesma passagem — ambas são verificações de consistência de configuração na mesma etapa.

3. Perfil IPSec vinculado, mas compatibilidade SHA-2 configurada em apenas uma ponta

SINTOMAO Spoke envia sua solicitação de resolução/registro com sucesso e o Hub até gera um candidato de entrada de par, mas a tabela de pares NHRP no Hub nunca chega a se completar de fato para aquele Spoke.

CAUSAEsta é uma falha real que o próprio manual da Huawei documenta diretamente: quando o protocolo de segurança IPSec usa SHA-2, e as duas pontas do túnel têm ipsec authentication sha2 compatible configurado em apenas um lado, o registro falha. Isso importa principalmente entre fabricantes diferentes ou versões de produto diferentes, onde os detalhes de implementação do SHA-2 podem diferir o suficiente para exigir o sinalizador de compatibilidade em ambas as pontas.

SOLUÇÃOVerifique se ipsec authentication sha2 compatible enable está configurado em ambas as pontas sempre que a proposta IPSec usar SHA-2 — não apenas em uma. Execute display ipsec sa para confirmar que a SA realmente se forma quando ambos os lados coincidem.

<Hub> ipsec authentication sha2 compatible enable
<Spoke> ipsec authentication sha2 compatible enable
// must be configured on BOTH ends when the IPSec proposal uses SHA-2
<Hub> display ipsec sa

4. Várias interfaces Tunnel compartilhando o mesmo endereço de origem no Hub

SINTOMAUm caso real documentado: DSVPN sobre IPSec, o Hub usa interfaces Tunnel separadas por Spoke, e a negociação IKE falha completamente — display ike sa no Hub mostra a SA travada no estado NEG (negociando) sem nunca chegar a RD (pronta).

CAUSAO debug no Hub (debugging ipsec all / debugging ikev1 all) mostrou diretamente a causa real: "IKE check ike peer same, the binding ike peer is different" — as duas interfaces Tunnel do Hub usavam o mesmo endereço IP de origem (1.1.1.1) mas apontavam para perfis IPSec diferentes, então o IKE não conseguia resolver qual identidade de par se aplicava à negociação de qual Spoke.

SOLUÇÃOConfigure uma ike identity por Spoke (baseada em fqdn funciona bem), referencie-a no ipsec profile de cada Tunnel com match ike-identity, e configure uma gre key distinta por interface Tunnel para manter o tráfego NHRP isolado entre elas. O ike peer de cada Spoke então usa local-id-type fqdn com um local-id correspondente.

<Hub> terminal debugging
<Hub> terminal monitor
<Hub> debugging ipsec all
<Hub> debugging ikev1 all
IKE/7/IKE_Debug Info:5:2607 IKE check ike peer same, get ike peer name (peer-name = ipsec1, ifindex = 18).
IKE/3/IKE_Debug Error:5:2628 IKE check ike peer same, the binding ike peer is different(ifindex = 27, peer name = ipsec3).

[Hub] interface Tunnel0/0/0
[Hub-Tunnel0/0/0] ip address 10.17.1.1 255.255.255.0
[Hub-Tunnel0/0/0] tunnel-protocol gre p2mp
[Hub-Tunnel0/0/0] source vpn-instance test 1.1.1.1
[Hub-Tunnel0/0/0] ipsec profile ipsec1
[Hub-Tunnel0/0/0] gre key cipher AAA
[Hub-Tunnel0/0/0] quit
[Hub] interface Tunnel0/0/100
[Hub-Tunnel0/0/100] ip address 100.17.1.1 255.255.255.0
[Hub-Tunnel0/0/100] tunnel-protocol gre p2mp
[Hub-Tunnel0/0/100] source vpn-instance test 1.1.1.1
[Hub-Tunnel0/0/100] ipsec profile ipsec2
[Hub-Tunnel0/0/100] gre key cipher BBB
[Hub-Tunnel0/0/100] quit
[Hub] ike identity i1
[Hub-ike-identity-i1] fqdn spoke1
[Hub] ipsec profile ipsec1
[Hub-ipsec-profile-ipsec1] ike-peer ipsec1
[Hub-ipsec-profile-ipsec1] match ike-identity i1

<Spoke1> ike peer ipsec1
[Spoke1-ike-peer-ipsec1] local-id-type fqdn
[Spoke1-ike-peer-ipsec1] local-id spoke1

5. Interface Tunnel fisicamente boa, mas administrativamente desativada

SINTOMATodos os parâmetros de configuração conferem — chave GRE, autenticação NHRP, perfil IPSec — e o Spoke ainda assim não registra.

CAUSAA própria interface Tunnel está administrativamente desligada em uma ponta — um passo fácil de pular porque os engenheiros presumem que, se o túnel estivesse down, outra coisa também estaria obviamente errada. É exatamente por isso que ela aparece como o passo 3 no próprio fluxo de diagnóstico da Huawei.

SOLUÇÃOExecute display interface interface-type interface-number tanto no Hub quanto no Spoke e verifique o estado real, não apenas suposições baseadas em sintomas de camadas superiores. undo shutdown se estiver down. Faça isso cedo — é o passo 3 na ordem de diagnóstico acima, antes das verificações de consistência de configuração.

<Hub> display interface Tunnel0/0/0
<Spoke> display interface Tunnel0/0/0
[Spoke-Tunnel0/0/0] undo shutdown

6. O intervalo de registro e o holdtime padrão são longos — tudo bem até que algo mude

SINTOMANão é exatamente uma falha de registro — o registro eventualmente tem sucesso, mas de forma perceptivelmente lenta após uma mudança de endereço de origem do Spoke, ou após uma oscilação da interface Tunnel.

CAUSAPor padrão, um Spoke se registra novamente no Hub a cada 1800 segundos, e o holdtime de uma entrada de par NHRP também é de 1800 segundos por padrão. Ambos são deliberadamente conservadores, mas isso significa que, após um evento desencadeador — como um shutdown/undo shutdown do Tunnel, ou uma mudança no endereço público do Spoke — a entrada obsoleta não é limpa e a nova não é estabelecida até que esses padrões se esgotem, a menos que algo force isso antes.

SOLUÇÃOConfigure nhrp registration no-unique no Spoke para que ele diga explicitamente ao Hub para sobrescrever uma entrada de par NHRP conflitante em vez de esperar que ela expire. Ajuste para baixo o nhrp entry holdtime seconds e o intervalo de re-registro se seu ambiente muda endereços de origem com frequência suficiente para que os padrões causem atraso perceptível.

<Spoke> nhrp registration no-unique
<Spoke> nhrp entry holdtime 7200
// defaults: 1800s re-registration interval, 1800s NHRP peer holdtime

Projetos de soluções relacionadas

Perguntas frequentes

Extraído diretamente da própria seção de FAQ do DSVPN da Huawei.

A configuração do DSVPN parece correta, mas o serviço ainda não funciona — qual é a primeira coisa a verificar?

A ativação da licença. Execute display license accept agreement e display license state — alguns modelos de roteador AR exigem uma licença DSVPN comprada, e se ela não estiver ativa, display nhrp peer all informará a licença como desativada em vez de mostrar entradas de par, não importa quão correto esteja o restante da configuração.

<Huawei> display license accept agreement
Active license Accept Agreement:    yes
Item name             : LAR0DSVPN04
Item type          : Function
Item state         : Disable, -
Item left time       :-
Item used time         :-
Description         : DSVPN Function Controller

<Huawei> display license state
Info: No license actived on master board.
<Huawei> display nhrp peer all
Info: DSVPN or SECE License is disable, please check availability of the license
 and load new license.

Number of nhrp peers: 0

Quais são os recursos básicos de solução de problemas para qualquer falha de DSVPN/NHRP, não apenas registro?

Em ordem: status da licença, alcançabilidade de rota da interface de origem, se a ponta remota realmente recebeu o pacote, consistência da chave GRE e da autenticação NHRP, compatibilidade IPSec/SHA-2 se o IPSec estiver em camada sobreposta, se outra interface Tunnel na mesma caixa referencia a mesma origem (precisa de isolamento com gre key), e NAT no Hub se houver um (o Spoke deve se registrar no endereço pós-NAT do Hub).

Como sei se o Spoke nunca enviou a solicitação ou se o Hub simplesmente não respondeu?

Zere os contadores e verifique display nhrp statistics interface depois de disparar um novo registro. Se RegisterRequestSendSuccess não mostrar contagem, o Spoke nem está conseguindo enviar a solicitação — verifique primeiro a interface local e a rota. Se RegisterRequestSendSuccess tiver contagem mas RegisterReplyCorrectRecv não, a solicitação saiu bem mas nenhuma resposta válida voltou — verifique a configuração do Hub e o caminho de retorno.

O registro tem sucesso mas está lento depois que mudei o IP público do Spoke — por quê?

Porque a antiga entrada de par NHRP do Hub para aquele Spoke não é sobrescrita imediatamente por padrão — ela expira pelo seu próprio temporizador holdtime, que é de 1800 segundos a menos que ajustado. Configure nhrp registration no-unique no Spoke para que ele diga explicitamente ao Hub para sobrescrever a entrada conflitante em vez de esperar.

O registro tem sucesso mas dois Spokes ainda não conseguem se alcançar — isso é coberto aqui?

Não — essa é uma categoria de falha diferente no próprio manual da Huawei (inacessibilidade Spoke a Spoke não-shortcut ou shortcut, dependendo do seu modo DSVPN), e ela assume que o registro já teve sucesso, que é exatamente o que esta nota cobre. Merece seu próprio artigo separado.

Limites honestos desta nota

Esta nota é construída inteiramente em torno da falha de registro de spoke para hub, usando o fluxo de diagnóstico real, a saída debug real e casos de falha reais do próprio manual de manutenção da série AR da Huawei. Não cobre a inacessibilidade Spoke a Spoke não-shortcut ou shortcut, nem o NHRP caindo depois de já ter sido estabelecido — essas são categorias de falha separadas no mesmo manual, cada uma merecendo sua própria nota.

O Spoke ainda não registra depois de passar pelas verificações acima?

Envie-nos os contadores RegisterRequestSendSuccess / RegisterReplyCorrectRecv e a saída de display nhrp peer de ambas as pontas — vamos ajudar a interpretar.

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