华为eNSP模拟器综合实验之- MGRE多点GRE隧道详解

一、GRE隧道基础概念

1.1 什么是GRE隧道?

GRE(Generic Routing Encapsulation,通用路由封装)是一种隧道封装技术,本质是在一种网络协议中封装另一种网络协议报文,相当于在现有网络连接上建立一条"虚拟专线"。**MGRE(多点通用路由封装)**是在标准GRE基础上发展的点到多点技术,通常与NHRP协议结合使用,是华为DSVPN解决方案的核心组件。它允许一个Tunnel接口与多个对端建立连接,极大地简化了大规模分支网络的配置与维护。

1.2 工作原理

复制代码
[原始IP包] → [添加GRE头部] → [封装新IP头部] → 通过公网传输 → [解封装] → [原始IP包]

核心差异对比

特性 GRE (点对点) MGRE (多点)
拓扑结构 仅支持两个节点间连接 支持单中心对多分支的动态网状连接
配置目的地址 必须手工指定 destination 无需指定,目的地址由NHRP协议动态解析
接口数量 N个分支需配置N个Tunnel接口 无论多少分支,仅需1个Tunnel接口
适用场景 固定的点对点链路 动态IP的分支机构互联 (DSVPN)

二、基本点对点GRE隧道实验

2.1 实验拓扑

复制代码
PC1(192.168.1.1) -- Router1 -- Internet -- Router2 -- PC2(192.168.2.1)

2.2 配置步骤

Router1配置:

复制代码
sys
sysname R1
interface GigabitEthernet0/0/0
 ip address 192.168.1.254 255.255.255.0
interface GigabitEthernet0/0/1
 ip address 12.1.1.1 255.255.255.0
interface Tunnel0/0/0
 ip address 10.1.1.1 255.255.255.0
 tunnel-protocol gre
 source 12.1.1.1
 destination 12.1.1.2
 gre key 123456
ip route-static 192.168.2.0 255.255.255.0 Tunnel0/0/0

Router2配置:

复制代码
sys
sysname R2
interface GigabitEthernet0/0/0
 ip address 192.168.2.254 255.255.255.0
interface GigabitEthernet0/0/1
 ip address 12.1.1.2 255.255.255.0
interface Tunnel0/0/0
 ip address 10.1.1.2 255.255.255.0
 tunnel-protocol gre
 source 12.1.1.2
 destination 12.1.1.1
 gre key 123456
ip route-static 192.168.1.0 255.255.255.0 Tunnel0/0/0

PC配置:

  • PC1: IP 192.168.1.1/24, 网关 192.168.1.254
  • PC2: IP 192.168.2.1/24, 网关 192.168.2.254

三、MGRE多点GRE隧道详解

3.1 什么是MGRE?

**MGRE(Multipoint GRE)**是一种基于GRE技术的多点到多点虚拟隧道协议,可以在IP网络上创建一个虚拟的多点连接,使多个站点之间可以直接通信。

3.2 主要特点和优势

  • 多点连接:一个隧道接口可以连接多个对端
  • 简化配置:不需要为每个对端单独配置隧道
  • 动态发现:通过NHRP协议实现动态对端发现
  • 适用于Hub-Spoke架构:适合企业分支互联场景

3.3 MGRE实验拓扑

复制代码
        R2
         |
         |
R1---Internet---R3
Hub    Spoke    Spoke

3.4 详细配置案例

关键组件

  • Hub (中心/总部):通常配置固定公网IP,作为NHRP服务器接收分支注册信息,并转发初始流量。

  • Spoke (分支):通常配置动态公网IP,主动向Hub注册自身的隧道IP与公网IP映射关系。

  • NHRP (下一跳解析协议):负责动态维护公网地址与隧道地址的映射表。当Spoke需要通信时,通过查询NHRP获取对端的真实公网地址,从而建立动态隧道。

基础配置逻辑

在华为设备上,配置mGRE需指定 p2mp模式且不配置目的地址。

  • Hub端关键配置

    interface Tunnel0/0/0
    ip address 10.1.1.1 255.255.255.0
    tunnel-protocol gre p2mp # 配置为多点GRE模式
    source GigabitEthernet0/0/0 # 指定公网出接口
    nhrp entry multicast dynamic # 允许动态接收分支组播注册

  • Spoke端关键配置

    interface Tunnel0/0/0
    ip address 10.1.1.2 255.255.255.0
    tunnel-protocol gre p2mp # 配置为多点GRE模式
    source GigabitEthernet0/0/0
    nhrp entry 10.1.1.1 1.1.1.1 register # 向Hub注册映射关系

网络规划:
  • R1(Hub): 公网地址 12.1.1.1,私网地址 192.168.1.1
  • R2(Spoke1): 公网地址 23.1.1.2,私网地址 192.168.2.1
  • R3(Spoke2): 公网地址 34.1.1.3,私网地址 192.168.3.1
  • Tunnel网络: 10.1.1.0/24
R1(Hub)配置:
复制代码
sys
sysname R1
interface GigabitEthernet0/0/0
 ip address 192.168.1.1 255.255.255.0
interface GigabitEthernet0/0/1
 ip address 12.1.1.1 255.255.255.0
interface Tunnel0/0/0
 ip address 10.1.1.1 255.255.255.0
 tunnel-protocol gre p2mp
 source GigabitEthernet0/0/1
 nhrp shortcut
 nhrp redirect
 nhrp network-id 1
 nhrp entry multicast dynamic
rip 1
 network 10.0.0.0
 network 192.168.1.0
R2(Spoke1)配置:
复制代码
sys
sysname R2
interface GigabitEthernet0/0/0
 ip address 192.168.2.1 255.255.255.0
interface GigabitEthernet0/0/1
 ip address 23.1.1.2 255.255.255.0
interface Tunnel0/0/0
 ip address 10.1.1.2 255.255.255.0      # 隧道接口虚拟地址
 tunnel-protocol gre p2mp               # GRE多点模式(MGRE)
 source GigabitEthernet0/0/1
 nhrp shortcut                          # 启用NHRP快捷方式,允许分支间直接通信
 nhrp network-id 1                      # NHRP网络标识符
 nhrp entry 10.1.1.1 12.1.1.1 register  # 注册到NHS
 nhrp entry multicast dynamic           # 允许组播动态注册

rip 1
 network 10.0.0.0
 network 192.168.2.0
R3(Spoke2)配置:
复制代码
sys
sysname R3
interface GigabitEthernet0/0/0
 ip address 192.168.3.1 255.255.255.0
interface GigabitEthernet0/0/1
 ip address 34.1.1.3 255.255.255.0
interface Tunnel0/0/0
 ip address 10.1.1.3 255.255.255.0      # 隧道接口虚拟地址
 tunnel-protocol gre p2mp             # GRE多点模式(MGRE)
 source GigabitEthernet0/0/1
 nhrp shortcut                          # 启用NHRP快捷方式,允许分支间直接通信
 nhrp network-id 1                      # NHRP网络标识符
 nhrp entry 10.1.1.1 12.1.1.1 register  # 注册到NHS
 nhrp entry multicast dynamic           # 允许组播动态注册
rip 1
 network 10.0.0.0
 network 192.168.3.0

3.5 关键配置说明

1. Tunnel接口配置:

  • tunnel-protocol gre p2mp: 配置为多点GRE模式
  • source: 指定隧道源接口
  • nhrp network-id: 配置NHRP网络标识

2. NHRP配置:

  • nhrp nhs: 配置Hub站点的NBMA地址
  • nhrp shortcut: 启用NHRP快捷方式,允许Spoke之间直接通信
  • nhrp redirect: Hub向Spoke发送重定向消息

3. 路由协议:

  • 使用RIP协议实现私网路由互通
  • 需要关闭水平分割:undo split-horizon

四、GRE over IPSec配置

4.1 为什么需要GRE over IPSec?

  • GRE提供隧道封装功能
  • IPSec提供加密和认证功能
  • 两者结合实现安全的VPN隧道

4.2 配置要点

复制代码
# 配置ACL
acl number 3000
 rule 5 permit gre source 12.1.1.1 0 destination 23.1.1.2 0

# 配置IPSec
ipsec proposal prop1
 esp authentication-algorithm sha2-256
 esp encryption-algorithm aes-256

ike proposal 1
 encryption-algorithm aes-256
 dh group14
 authentication-algorithm sha2-256
 authentication-method pre-share
 integrity-algorithm hmac-sha2-256
 prf hmac-sha2-256

ike peer peer1
 pre-shared-key cipher Huawei@123
 ike-proposal 1
 remote-address 23.1.1.2

ipsec policy policy1 10 isakmp
 security acl 3000
 proposal prop1
 ike-peer peer1

五、验证和排错

5.1 验证命令

复制代码
# 查看隧道接口状态
display interface Tunnel0/0/0

# 查看NHRP映射表
display nhrp peer all

# 查看路由表
display ip routing-table

# 测试连通性
ping -a 192.168.1.1 192.168.2.1

5.2 常见问题排查

  1. 隧道无法建立:检查公网路由、源/目的地址配置
  2. NHRP注册失败:检查NHRP配置、网络标识
  3. 路由不通:检查路由协议配置、水平分割设置
  4. MTU问题:调整隧道接口MTU和TCP MSS

六、实验注意事项

  1. MTU/MSS优化:必须调整隧道接口MTU和TCP MSS,避免分片问题
  2. Keepalive机制:配置链路检测机制,确保链路故障及时感知
  3. NAT穿越:在复杂网络环境中启用NAT-T
  4. 安全策略:配置精确的安全策略定义,避免过于宽松或严格的策略
相关推荐
PaperData1 小时前
2000-2023年地级市数字基础设施评价指标体系
大数据·网络·数据库·人工智能·数据分析·经管
时空自由民.2 小时前
WebSocket 协议介绍
网络·websocket·网络协议
twc8292 小时前
全链路压测的环境复杂性:网络架构、应用架构与性能影响因素全解析
网络·软件测试·架构·性能测试·全链路压测
菩提小狗2 小时前
每日安全情报报告 · 2026-05-03
网络安全·漏洞·cve·安全情报·每日安全
杨云龙UP3 小时前
ODA运维实战:Oracle 19c YJXT PDB表空间在线扩容全过程_20260503
linux·运维·服务器·数据库·oracle
love you joyfully3 小时前
如何随时随地访问你的“进程”?
网络·人工智能·网络安全·远程访问·网络技术
yyuuuzz3 小时前
aws 基础认知与实践注意点
运维·服务器·网络·云计算·github·aws
Rust语言中文社区3 小时前
【Rust日报】2026-05-02 Temper - 用 Rust 编写的 Minecraft 服务器项目发布 0.1.0 版
运维·服务器·开发语言·后端·rust
ATCH IERV3 小时前
Java实战:Spring Boot application.yml配置文件详解
java·网络·spring boot