• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 是
  • 否
  • 全部
  • 是
  • 否
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索
问

F1000防火墙内网通过公网地址访问内网服务器问题

2026-10-29提问
  • 0关注
  • 0收藏,170浏览
粉丝:0人 关注:0人

问题描述:

网络环境如下:

1.内网有3个网段:192.168.1.0/24  192.168.2.0/24  192.168.3.0/24,网关均为核心交换机 .254

2.核心交换机通过10.10.10.1/24和防火的trust口10.10.10.2/24相连,核心默认路由指向10.10.10.2

3.防火墙有内网3个网段的回指路由,指向10.10.10.1

4.192.168.1.10为内网的一台服务器,通过8008端口对外提供服务

5.防火墙直接连接公网,公网地址为Untrust口的111.160.88.68,并且在外网口上面做了8008端口的映射

6.因为有内网通过公网地址来访问内网服务器的需求,在trust口上面开启了hairpin

7.在核心交换机上面配置了PBR,并应用在了2.254和3.254接口上面,将流量引向防火墙

                policy-base-route pbr per node 10

                    apply next-hop 10.10.10.2

8.在防火墙上面放通了trust到trust的流量,并配置了安全策略,仅允许192.168.2.0/24访问192.168.1.0/24和192.168.3.10的3005端口;允许trust到untrust的流量;允许trust到local的流量

 

现在遇到的问题:

1. 在此种防止配置下,3个网段上网都没有问题,对外提供的服务也没有问题,1.0网段直接访问111.160.88.68:8008也没有问题,但是2.0网段访问不了111.160.88.68:8008,但是可以访问192.168.1.10:8008

2. 如果在trust到trunt访问的策略里面加入源地址:192.168.1.0/24 和10.10.10.2,这个时候,1.0网段就无法访问111.160.88.68:8008

在不加源地址的时候,查看nat的会话可以看到下面这些:

[FW_F1000]dis nat session destination-ip 111.160.80.99 verbose
Slot 1:
Initiator:
Source IP/port: 192.168.1.37/56529
Destination IP/port: 111.160.88.68/8008
DS-Lite tunnel peer: - VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: Vlan-interface1000
Source security zone: Trust
Responder:
Source IP/port: 192.168.1.10/8008
Destination IP/port: 111.160.88.68/60211
DS-Lite tunnel peer: - VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: Vlan-interface1000
Source security zone: Trust
State: TCP_ESTABLISHED
Application: GENERAL_TCP Rule
ID: 28 Rule name: Hairpin

这个是什么问题呢

2 个回答
已采纳
粉丝:48人 关注:2人

F1000 旁挂、核心 PBR 引流,2.0/3.0 网段访问公网映射地址不通

现象复盘

  1. 192.168.1.0/24(服务器同网段)访问111.160.88.68:8008 ✅正常,可以建立 Hairpin 会话;
  2. 192.168.2.0/24、3.0/24,直接访问服务器内网 IP192.168.1.10:8008✅通,访问公网映射地址111.160.88.68:8008❌不通;
  3. 一旦在 trust‑to‑trust 安全策略增加源地址,连 1.0 网段访问公网地址也直接失败;
  4. 1.0 网段正常的 hairpin 会话,入接口是 Vlan‑interface1000(三层子接口 / 三层逻辑接口),不是物理接口。

🔴核心根因(两点叠加)

根因 1:核心交换机 PBR 引流,回程报文回到核心后再次命中 PBR 策略路由,造成转发环路 / 报文丢弃

流量路径(192.168.2.10 访问 111.160.88.68:8008)

  1. 2.10 发报文到核心网关 192.168.2.254;
  2. 核心 Vlan‑if2 接口应用 PBR,apply next‑hop 10.10.10.2,报文送到防火墙 trust 口;
  3. 防火墙:匹配 nat‑server + hairpin,做目的 NAT 转换到 192.168.1.10,同时做源 NAT(转换成 trust 接口地址 / 地址池),trust‑to‑trust 转发,回包发回核心 10.10.10.1;
  4. 致命一步:服务器回包到达核心交换机,目的 IP 是转换后的源地址;这个回包进入核心,从 Vlan‑if2 出去之前,再次匹配 Vlan‑if2 下绑定的 PBR 策略路由,又被强制扔回防火墙 10.10.10.2;
  5. 报文在「核心 ↔ 防火墙」来回循环,TTL 耗尽丢弃,防火墙根本收不到完整 TCP 三次握手的 ACK,会话建不起来。

为什么 192.168.1.0 网段没问题? 服务器在 1.0 网段,它的网关是 1.254,PBR 只绑定在 2.254、3.254 接口,Vlan‑if1 没有应用 PBR。 1.0 的流量不会触发 PBR 强制引流,不会发生环路,hairpin 完全正常。

根因 2:Hairpin 场景下 trust‑to‑trust 安全策略不能配置源地址匹配

开启nat hairpin enable之后,trust‑to‑trust 的流量源地址会被防火墙做源 NAT 转换(源会变成 trust 接口 IP:10.10.10.2,或者出方向 NAT 地址池)H3C。

  • 原始源 192.168.1.37,经过 hairpin 处理,报文在防火墙内部源 IP 已经变成10.10.10.2;
  • 如果安全策略写源地址为192.168.1.0/24,匹配的是转换前原始 IP,而域间策略校验的是 NAT 之后报文 IP,策略匹配失败直接丢弃报文,所以 1.0 也直接不能访问。

关键点:Comware V7 防火墙,域间安全策略匹配的是 NAT 转换之后的 IP,hairpin 源地址被改写,所以不能写原始内网源网段作为 trust‑to‑trust 策略的源条件H3C。

✅解决方案(两种方案,优先方案 1)

方案 1:在核心交换机 PBR 上做规避(推荐,不改防火墙)

原理:访问服务器内网网段的流量,不执行 PBR 重定向,直接走正常路由转发,避免回包再次被 PBR 引流回防火墙

当前 PBR 直接 node 10 apply next‑hop 10.10.10.2,缺少 if‑match 条件,所有经过 Vlan‑if2/Vlan‑if3 的流量全部强制下一跳防火墙,包括 hairpin 回程流量。

修改核心交换机 PBR:

policy-based-route pbr permit node 5 # 目的是服务器内网网段,不做重定向,直接查表路由 if-match acl 3999 # node10保留原有上网引流逻辑 policy-based-route pbr permit node 10 apply next-hop 10.10.10.2 acl advanced 3999 rule permit ip destination 192.168.1.0 0.0.0.255

node5 优先级高于 node10;当访问目的是服务器网段 192.168.1.0/24,匹配 node5,没有 apply next‑hop,直接查路由表转发,不再重定向到防火墙。

⚠️注意:PBR 是应用在 Vlan‑interface2、Vlan‑interface3 的入方向;经过上面配置:

  1. 2.0/3.0 访问互联网:命中 node10,送到防火墙;
  2. 2.0/3.0 访问服务器公网 IP(111.160.88.68):目的 NAT 之后变成目的 192.168.1.10;回包到达核心,匹配 acl3999,node5 直接路由,不会再次扔进防火墙,环路消除,hairpin 会话正常建立。

防火墙侧 trust‑to‑trust 策略保持:源地址不写任何网段,源域 trust,目的域 trust,动作允许,不要填源 IP 对象。hairpin 源 NAT 之后源变成 trust 接口 IP,策略不要限制源。

方案 2:DNS 拆分(split‑dns,规避 hairpin,生产环境推荐)

内网 DNS 服务器:域名对内解析返回服务器内网 IP192.168.1.10;外网解析返回公网111.160.88.68。 内网所有网段直接访问服务器内网 IP,完全不走 hairpin,不需要 PBR 特殊处理,性能最好,无 NAT 环路风险。

🔍排错验证命令

防火墙侧

# 测试2.0网段访问公网地址,看是否产生nat会话 dis nat session destination‑ip 111.160.88.68 verbose # 看安全策略命中计数,trust‑to‑trust是否命中 dis security‑policy hit‑count

如果 2.0 访问公网地址,完全看不到会话,报文在核心就循环丢了,确认就是 PBR 环路。

核心交换机侧

dis policy‑based‑route interface Vlan‑interface 2 dis acl 3999

观察 acl3999 是否命中访问服务器网段的报文。

额外注意点

  1. 确认防火墙已经配置内网回程静态路由:ip route‑static 192.168.1.0 255.255.255.0 10.10.10.1、2.0、3.0,配置无误。
  2. nat hairpin enable是配置在 trust 三层接口(10.10.10.2 所属接口)配置正确。
  3. trust‑to‑trust 安全策略:不要填写源 IP 地址对象,只匹配源域 trust、目的域 trust,动作允许,填写源网段会因为 hairpin 源 NAT 转换导致策略不匹配。

为什么直接访问服务器内网 IP 192.168.1.10 可以通?

访问服务器内网 IP,流量根本不会送到防火墙,核心三层直接转发,完全绕开 PBR,防火墙完全不参与,业务正常。只有访问公网映射 IP 才会触发 PBR+hairpin 流程,暴露出环路问题。


在您提及到的“致命一步:服务器回包到达核心交换机,目的 IP 是转换后的源地址;这个回包进入核心,从 Vlan‑if2 出去之前,再次匹配 Vlan‑if2 下绑定的 PBR 策略路由,又被强制扔回防火墙 10.10.10.2;”中,转换后的源地址应该是10.10.10.2,服务器192.168.1.10的回包给到10.10.10.2,这个应该不经过2网段吧,如何匹配了pbr呢

zhiliao_33On2 发表时间:2026-10-29 更多>>

在您提及到的“致命一步:服务器回包到达核心交换机,目的 IP 是转换后的源地址;这个回包进入核心,从 Vlan‑if2 出去之前,再次匹配 Vlan‑if2 下绑定的 PBR 策略路由,又被强制扔回防火墙 10.10.10.2;”中,转换后的源地址应该是10.10.10.2,服务器192.168.1.10的回包给到10.10.10.2,这个应该不经过2网段吧,如何匹配了pbr呢

zhiliao_33On2 发表时间:2026-10-29
粉丝:17人 关注:9人

针对F1000防火墙内网通过公网地址访问内网服务器的场景,核心是解决NAT回流(Hairpin)与路由策略配合问题。你已开启hairpin并在核心交换机配置PBR,但未贴全PBR内容,以下是排查与配置要点:
排查步骤:
1. 确认PBR是否匹配正确流量
在核心交换机上执行 display ip policy-based-route 查看策略是否生效,命中计数是否增长。
确认PBR匹配的是源地址为192.168.2.0/24、192.168.3.0/24,目的地址为公网地址111.160.88.68的流量,下一跳指向10.10.10.2。
2. 检查防火墙会话与NAT转换
在防火墙上执行 display nat session verbose 过滤目的地址111.160.88.68,查看是否有内网用户访问该公网地址的会话,确认源地址是否被转换为出接口地址。
若会话未建立,执行 debugging nat packet 或 debugging ip packet 观察报文是否到达防火墙trust口。
3. 验证回程路由
防火墙需有到192.168.2.0/24和192.168.3.0/24的回指路由指向10.10.10.1,执行 display ip routing-table 确认。
4. 检查安全策略
确认trust到trust区域(hairpin流量)的安全策略放行,源区域和目的区域均为trust,目的地址为服务器私网地址192.168.1.10,端口8008。
关键配置参考:
防火墙NAT Server配置:

nat server protocol tcp global 111.160.88.68 8008 inside 192.168.1.10 8008

防火墙接口开启hairpin:

interface GigabitEthernet1/0/1 # trust口
nat hairpin enable

核心交换机PBR示例(假设acl 3000匹配源2.0/3.0网段到公网地址):

acl advanced 3000
rule 0 permit ip source 192.168.2.0 0.0.0.255 destination 111.160.88.68 0
rule 5 permit ip source 192.168.3.0 0.0.0.255 destination 111.160.88.68 0
policy-based-route pbr_name permit node 10
if-match acl 3000
apply next-hop 10.10.10.2
interface Vlan-interface2
ip policy-based-route pbr_name
interface Vlan-interface3
ip policy-based-route pbr_name

常见问题:
若PBR未命中,检查ACL是否匹配了源目地址,

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

✖

分享扩散:

➤

提出建议

✖

    +
✖

亲~登录后才可以操作哦!

确定
✖

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub
✖

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

✖

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明