首页/网络/BGP 与广域网速查/DMVPN 概念:Hub-Spoke 动态隧道
IPsec VPN60 条

DMVPN 概念:Hub-Spoke 动态隧道

DMVPN 用 mGRE 让一个隧道接口承载多个分支:NHRP 负责地址映射,分支间可直连;Hub 为中心下发路由或跑路由协议扩展。

BGP 与广域网速查网络更新于 2026-10-13

DMVPN 是怎么工作的

DMVPN 用一条 mGRE 隧道接口承载多个分支:接口本身只有本端地址,对端地址靠 NHRP 动态解析,因此分支不需要在 Hub 上逐条配置隧道也能上线。Hub 位于中心,负责下发路由或在隧道上跑 EIGRP/OSPF/BGP;阶段二起支持分支之间直接建隧道,避免分支互访流量绕行 Hub。它的定位是「分支数量多、公网地址不固定、希望少改配置」的场景,隧道本身不加密,安全性要靠叠加 IPsec 提供。

基本信息

隧道类型mGRE(multipoint GRE),一个接口对多个对端
地址解析NHRP,分支注册到 Hub 并相互查询
路由方式Hub 为中心跑 EIGRP/OSPF/BGP,或 Hub 只下发缺省
阶段划分阶段一 Hub-Spoke、阶段二分支直连、阶段三缩短建链时间
安全常配 IPsec profile 保护隧道流量

典型使用场景

  • 企业总部与大量分支互联:分支使用动态公网地址也能上线
  • 分支之间需要互访:阶段二让分支直连,减少 Hub 转发压力
  • 备份链路:分支经 4G/5G 临时接入也能注册到 Hub
  • 网点扩展:新增分支只需在分支侧配置,Hub 侧无需逐条增删
  • 替代全互联专线:用公网加隧道降低成本

Hub 侧骨架

Hub 侧骨架
interface Tunnel0
 ip address 172.16.0.1 255.255.255.0      # 隧道网段,分支从此段分配地址
 tunnel source GigabitEthernet0/0         # 出口物理口
 tunnel mode gre multipoint               # mGRE 关键:一对多
 tunnel key 100                           # 两端必须一致
 ip nhrp network-id 1                     # NHRP 网络标识
 ip nhrp map multicast dynamic            # 接收分支的组播注册
!
show dmvpn                               # 查看各分支的注册与状态

show dmvpn 关键列

列含义异常表现
Peer NBMA Addr分支的公网地址为空说明分支未注册
StateNHRP 映射状态I 为无效,需查隧道与密钥
Uptime映射保持时长频繁归零说明链路抖动或 NHRP 反复重建
Type动态或静态映射应为动态注册得到的条目
阶段一 Hub 与分支之间只走隧道,分支互访必须绕 Hub;阶段二允许分支通过 NHRP 直接建隧道。阶段选择会影响 Hub 的带宽占用,规划时要按分支互访量决定。
DMVPN 的 mGRE 隧道不提供加密,仅提供封装;生产环境应叠加 IPsec profile,否则分支间流量在公网上是明文的。

易错点

  • tunnel key 两端不一致:NHRP 注册无法完成,分支显示不上下线但一直不上线
  • Hub 未开 multicast dynamic:依赖组播的路由协议报文到不了分支,邻居建不起来
  • 隧道 MTU 未调整:GRE 加 IPsec 封装后有效 MTU 变小,大包被丢弃表现为部分应用卡顿
  • 隧道地址段与内网地址重叠:NHRP 映射与路由表冲突,出现无法预期的转发路径
  • 把 DMVPN 当成加密方案:未叠加 IPsec 时隧道内流量在公网可见,安全性不达标

数据来源与参考

  • Cisco: DMVPN 设计指南
  • RFC 2332: NHRP
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌