华为防火墙GRE隧道配置避坑指南:为什么你的Tunnel接口ping不通?

张开发
2026/4/6 19:31:41 15 分钟阅读

分享文章

华为防火墙GRE隧道配置避坑指南:为什么你的Tunnel接口ping不通?
华为防火墙GRE隧道实战排错手册从原理到排查的完整闭环最近在客户现场遇到一个典型的GRE隧道配置案例两端防火墙按照标准文档配置了Tunnel接口、路由和安全策略但PC之间始终无法ping通。这种配置全对但就是不通的情况往往暴露出我们对GRE在防火墙环境下的工作机制理解还不够透彻。本文将结合eNSP实验环境拆解GRE隧道在华为防火墙中的完整通信流程并给出可复用的排错方法论。1. GRE隧道通信的三大核心机制1.1 封装与解封装流程GRE隧道不通时首先需要明确数据包的完整生命周期。以PC1(192.168.1.1) ping PC2(192.168.2.2)为例原始报文阶段SRC:192.168.1.1 → DST:192.168.2.2 Protocol: ICMPGRE封装阶段在FW1出方向添加GRE头部和新的IP头部Outer Header: SRC:200.1.1.1 → DST:200.1.2.2 Protocol: GRE (47) Inner Header: SRC:192.168.1.1 → DST:192.168.2.2解封装阶段FW2收到后剥离外层IP头还原原始ICMP报文关键点防火墙会对解封前后的报文分别进行安全策略检查这是很多配置遗漏的重灾区。1.2 安全策略的双重检查华为防火墙对GRE流量的处理存在两个策略检查点检查阶段策略方向关键参数封装前trust → dmz源/目的私网IP ICMP解封后untrust → local源/目公网IP GRE(47)常见错误是把dmz→trust和untrust→local策略混淆导致单向通或完全不通。1.3 路由与区域的绑定关系Tunnel接口的区域归属直接影响策略生效范围# 正确配置示例FW1 [FW1] firewall zone dmz [FW1-zone-dmz] add interface Tunnel 0若错误地将Tunnel接口划归trust区域会导致封装前的ICMP流量被trust→trust策略放行不符合最小权限原则无法触发dmz区域相关的策略检查2. 典型故障场景深度解析2.1 现象隧道两端都能看到接口up但ping不通排查步骤检查物理接口状态display interface GigabitEthernet 1/0/1验证Tunnel接口状态display interface Tunnel 0重点关注接口物理/协议状态是否为up源/目的IP配置是否正确MTU值是否一致建议≤1400抓包定位# 在FW1出方向抓包 firewall packet-filter interface GigabitEthernet 1/0/1 outbound常见原因中间网络设备阻断了GRE协议IP协议号47两端Tunnel接口IP不在同一网段GRE允许不同网段安全策略未放行untrust→local的GRE流量2.2 现象单向通PC1→PC2通反向不通这种不对称通断通常指向策略配置问题检查清单FW2是否配置了对应的untrust→local策略display security-policy rule name u_l确保包含源区域untrust 目的区域local 源地址对端公网IP 服务GRE回程路由是否正常display ip routing-table 192.168.1.0对比实验在eNSP中故意删除FW2的untrust→local策略可复现该现象# 错误配置示例 [FW2] security-policy [FW2-policy-security] undo rule name u_l2.3 现象隧道通但业务ping不通当GRE隧道本身正常可通过ping Tunnel接口IP测试但业务流量不通时诊断路径检查封装前策略display security-policy rule name t_d确认包含源区域trust 目的区域dmz 源地址192.168.1.0/24 服务ICMP验证静态路由display ip routing-table | include Tunnel应有类似192.168.2.0/24 - Tunnel0检查NAT豁免 如果启用了NAT需排除GRE流量被错误转换display nat-policy3. 排错工具箱与实战技巧3.1 诊断命令速查表命令作用关键输出判断display tunnel-info all查看所有隧道状态Tunnel ID/Statusdisplay firewall session table查看会话建立情况是否有GRE和ICMP会话tracert -rn 192.168.2.2跟踪路由路径是否经过Tunnel接口reset firewall session table重置会话表测试策略生效重新触发策略检查3.2 eNSP模拟器排错技巧分阶段验证法阶段1先确保公网互通200.1.1.1 ping 200.1.2.2阶段2测试Tunnel接口互通1.1.1.1 ping 2.2.2.2阶段3验证业务流量192.168.1.1 ping 192.168.2.2抓包点选择graph LR PC1--|ICMP|FW1 FW1--|GRE|R3 R3--|GRE|FW2 FW2--|ICMP|PC2注实际输出时应删除mermaid图表此处仅为说明关键抓包点FW1的G1/0/1出方向观察GRE封装FW2的G1/0/0入方向检查GRE解封3.3 配置自检清单在完成GRE配置后建议按此清单逐项核对[ ] Tunnel接口已加入dmz区域[ ] 配置了untrust→local的GRE策略[ ] 配置了trust→dmz的业务流量策略[ ] 静态路由指向Tunnel接口[ ] 两端Tunnel源/目的IP对称[ ] 中间网络放行IP协议474. 高阶问题MTU与分片的影响当GRE隧道出现间歇性通断或大包不通时往往与MTU设置有关问题现象小包如32字节ping正常大包如1400字节超时解决方案在Tunnel接口调整MTU[FW1-Tunnel0] mtu 1400开启TCP MSS调整[FW1-Tunnel0] tcp adjust-mss 1360在物理接口启用分片[FW1-GigabitEthernet1/0/1] ip fragmentation enable参数建议值网络环境推荐MTU说明纯IPv4环境1400预留GRE头部空间IPv6 over GRE1360考虑IPv6更大的头部有MPLS的网络1300预留标签栈空间5. 真实案例策略方向配置错误某金融客户在灾备中心部署GRE隧道时遇到如下现象生产中心到灾备中心通灾备中心到生产中心不通最终定位灾备中心防火墙的安全策略配置为rule name gre_in source-zone local # 错误方向 destination-zone untrust service gre action permit修正方案rule name gre_in source-zone untrust # 正确方向 destination-zone local service gre action permit这个案例印证了华为防火墙对GRE流量的特殊处理机制——解封装后的GRE报文是以入方向视角进行策略匹配的。

更多文章