首页/安全/安全设备配置速查/GRE 与 NAT 的配合
NAT 与发布75 条

GRE 与 NAT 的配合

GRE 隧道本身无端口,穿越 NAT 依赖外层封装(常配合 IPsec 或 GRE over IPsec),单纯 GRE 在 NAT 后无法建立。

安全设备配置速查安全更新于 2026-10-13

GRE 与 NAT 的配合是什么

GRE 是隧道封装协议,本身没有端口概念,IP 协议号为 47。NAT 设备靠端口区分不同的内部会话,而 GRE 没有端口可用,因此在 NAT 后面无法建立多路独立的 GRE 隧道,NAT 设备也可能直接丢弃协议 47 的报文。实际工程中的通行做法是把 GRE 放进 IPsec 里(GRE over IPsec),让外层封装的 UDP 端口(通常是 4500)承担穿越 NAT 的任务,或直接改用其他隧道方案。

基本信息

问题根源GRE 协议号 47,无端口,NAT 难以区分多路隧道
解决路径GRE over IPsec,或改用其他隧道方案
放行要求中间设备需放行对应协议号或隧道封装端口
常见表现隧道起不来、单通、隧道建立后业务偶发中断
连带影响隧道封装增加开销,需同步调整 MSS 与 MTU

典型使用场景

  • 分支机构通过运营商网络建立隧道,中间存在 NAT 设备
  • 更换出口设备后原 GRE 隧道无法建立,需要判断是否被 NAT 丢弃
  • 多分支共用同一出口:多路隧道无法区分时的方案选型
  • 隧道改造:从纯 GRE 改为 GRE over IPsec 后验证稳定性
  • 排查业务偶发中断:确认是否与封装开销导致的 MTU 问题有关
  • 中间设备策略复核:确认协议号与端口是否被放行

检查思路

检查思路
# 1. 抓包确认 GRE 报文是否到达设备(协议号 47)
# 2. 确认中间 NAT 设备是否丢弃协议 47 或无法承载多路隧道
# 3. 评估改造为 GRE over IPsec 封装(外层常见 UDP 4500)
# 4. 改造后验证隧道建立、稳定性与打通业务
# 5. 复测 MSS/MTU:封装开销会压缩可用载荷
# 6. 记录隧道标识与分支对应关系,便于后续扩展

方案对照

方案穿越 NAT 能力注意事项
纯 GRE差,协议 47 无端口NAT 后基本不可用
GRE over IPsec较好,外层走 UDP封装开销大,需调整 MSS
仅 IPsec好多分支需区分感兴趣流与标识
其他隧道方案取决于封装方式需评估设备支持与兼容性
隧道类改造后必须复测 MSS/MTU:封装头会占用字节,原先刚好通过的报文可能开始分片或被丢弃,表现为小包通、大包断。
多个分支共用一条隧道时区分依赖隧道标识,NAT 改造后需重新设计标识方式,否则分支流量可能相互串扰。

易错点

  • GRE 改造为 IPsec 后 MTU 变小,业务侧未同步调整 MSS 或启用分片
  • 多分支共用一条隧道时区分依赖隧道标识,NAT 后标识方式需重新设计
  • 中间设备未放行协议 47 或封装端口,隧道静默建立失败
  • 只验证隧道是否 up 不验证业务流量,MTU 问题被漏掉
  • 改造后未记录隧道与分支的对应关系,后续扩容时配置混乱

数据来源与参考

  • RFC 2784(通用路由封装 GRE)
  • 华为 USG6000 产品文档:隧道与 NAT
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌