你遇到的情况,最可能的原因是策略路由(PBR)与NAT回流(NAT Hairpin)功能发生了冲突。
在H3C防火墙中,NAT Hairpin流量有时也会被策略路由匹配并强制转发到外部出口,导致流量“绕行”公网而无法在内部闭环,从而访问失败。
要解决这个问题,可以尝试以下两种方法:
在策略路由的ACL中,添加规则拒绝(deny) 匹配“内网用户访问公网映射地址”的流量。
配置思路如下:
识别ACL:找到当前引用的策略路由ACL(例如 acl advanced 3000)。
添加Deny规则:在ACL中增加一条规则,拒绝源地址为内网用户网段、目的地址为服务器的公网映射地址的流量。
如果因某些原因无法修改PBR,可以考虑在内网接口上配置双向NAT,手动实现“源”和“目的”地址的双重转换。
核心命令:
如果调整PBR后问题依旧,可以检查以下几点:
检查NAT Hairpin配置位置:确认nat hairpin enable命令是否配置在连接内网PC的接口(下行接口)上。
检查端口映射(NAT Server)配置:确认端口映射用的是nat server命令。
检查安全策略:确保有安全策略允许内网用户所在安全域访问服务器所在安全域。可临时创建一条源any-目的any-动作允许的策略进行测试。
检查服务与端口:
确认服务器本身服务正常,本地防火墙未拦截。
可尝试更换映射端口(如8080),排除端口被运营商封锁的可能。
暂无评论
多出口 F1000 内网用公网 IP 访问不通(已开 hairpin)完整根因 + 修复
一、核心矛盾:PBR 策略路由拦截回流流量(最高概率)
内网电脑访问公网 IP 服务器,报文属于Trust→Trust 回流流量,但你全局 PBR 匹配内网所有流量,强制把访问公网 IP 的报文扔去其他外网出口,导致 DNAT/hairpin 完全不触发,直接断连。
底层流程问题
内网 PC 发包:源 192.168.x.x → 目的公网 IP(映射服务器地址)
报文先进 PBR 匹配,命中全局内网 ACL,转发到其他出口;
报文走到其他外网口,没有配置对应 nat server,无法做 DNAT,会话失败。
二、分步排查 & 修复(按顺序操作)
1、修正 nat hairpin 配置位置(基础校验)
nat hairpin enable 必须配置在内网 Trust 接口,不能配在外网口
plaintext
# 内网下联接口(Trust域)
interface GigabitEthernet 1/0/1
nat hairpin enable
在外网口开启回流完全无效,是常见配置错误。
2、策略路由 PBR 隔离回流流量(核心解决办法)
步骤 1:创建 ACL,排除「访问映射公网服务器 IP」的流量不走 PBR
plaintext
acl number 3999
# 拒绝匹配:内网访问服务器公网IP,不进入PBR转发逻辑
rule deny destination 203.0.100.5 0 # 替换你的服务器公网IP
rule permit source any # 其余内网流量正常走策略路由出口
步骤 2:修改 PBR 调用 ACL 为 3999,让回流流量跳过 PBR
plaintext
policy-based-route multi_wan permit node 10
if-match acl 3999
apply output-interface GigabitEthernet 1/0/2 # 原出口
逻辑:内网访问服务器公网 IP 时,ACL deny,不匹配 PBR 节点,不走其他外网出口,在内网接口触发 hairpin 回流。
验证 PBR 是否生效
plaintext
display ip policy-based-route
display acl 3999
3、补充回流专用安全策略(Trust 同域放行)
hairpin 流量是内网→内网(Trust→Trust),默认安全策略阻断同域互访,必须放行:
plaintext
security-policy ip
rule name Trust-Loopback-Server
source-zone trust
destination-zone trust
destination-address 192.168.1.10 0 # 内网服务器私网IP
action permit
缺少这条策略,即使 NAT 转换成功,服务器回包也会被防火墙丢弃。
4、确认 nat server 绑定在正确出口(做映射的那条宽带接口)
plaintext
# 映射出口(Untrust接口,做端口映射的宽带)
interface GigabitEthernet 1/0/2
nat server protocol tcp global 203.0.100.5 80 inside 192.168.1.10 80
nat server enable
nat server 必须写在发布服务器的外网接口,其他出口无需配置。
5、排查黑洞路由干扰
NAT Server 会自动生成公网 IP 指向 NULL0 黑洞路由,不影响 hairpin;若手动添加静态路由指向其他出口,会覆盖回流转发,删除多余静态路由:
plaintext
undo ip route-static 203.0.100.5 255.255.255.255 GigabitEthernet 其他出口
三、完整测试验证命令
查看 NAT 会话,回流必须同时存在 DNAT+SNAT 转换
plaintext
display firewall session table destination 203.0.100.5
正常回流会话会同时转换源 IP、目的 IP;无会话 = PBR / 路由拦截。
2. 跟踪内网访问公网 IP 的转发路径
plaintext
tracert destination 203.0.100.5 source 192.168.1.100
第一跳直接到防火墙内网口:PBR 修复成功;
第一跳跳到其他外网出口:PBR 未排除回流流量,ACL 配置错误。
查看策略匹配计数
plaintext
display security-policy rule all | include Trust-Loopback-Server
四、最简总结故障点
最主要原因:全局 PBR 把内网访问服务器公网 IP 的流量转发到其他出口,跳过 hairpin 回流逻辑;
修复核心:ACL 排除服务器公网 IP,让回流流量不执行策略路由;
配套检查:内网口开启 hairpin、Trust 同域安全策略放行服务器、nat server 绑定发布外网口。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论