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

防火墙双出口ipsec

2小时前提问
  • 0关注
  • 0收藏,42浏览
粉丝:0人 关注:0人

问题描述:

防火墙有两个出口,使用其中一个做ipsec,抓包显示源地址为另一个出口ip转换成了做ipsec的公网ip

3 个回答
粉丝:0人 关注:0人

暂无评论

粉丝:45人 关注:2人

根本原因(V7 防火墙报文顺序)

V7 防火墙处理顺序:先做源 NAT,再查路由、再匹配 IPsec 策略

  1. 内网流量去往 IPsec 对端网段,命中了全局 / 域间动态 SNAT(双出口默认上网的那条 nat outbound);
  2. SNAT 直接把内网源 IP 翻译成另一个出口(出口 B)的公网 IP;
  3. 然后路由选路把报文转发到 IPsec 绑定的出口 A;
  4. IPsec 封装外层 IP,外层源 IP 已经是出口 B 的 IP,和 IPsec 本端 ID / 网关 IP 不匹配,对端校验失败。

一句话:IPsec 保护的流量,被普通上网的 SNAT 规则提前转换了。

解决方法(推荐顺序)

方案 1:给 IPsec 感兴趣流配置【NAT 豁免】(优先推荐)

IPsec 流量不做上网 SNAT,内网原始私网 IP 直接进 IPsec 加密。

  1. 新建 ACL,匹配IPsec 感兴趣流(内网网段→对端私网网段)
  2. 在动态源 NAT 策略里,把这条 ACL 配置为不转换(不做 NAT) Web:策略→NAT→源 NAT,新建 / 编辑策略,匹配源目的为 IPsec 流量,动作选【不转换】,放在所有上网 SNAT 规则最前面(NAT 规则从上往下匹配)。

CLI 示例:

acl number 3000 rule permit ip source 192.168.1.0 0.0.0.255 destination 10.2.2.0 0.0.0.255 nat policy rule 0 permit source-zone trust destination-zone untrust acl 3000 action no-nat rule 1 permit source-zone trust destination-zone untrust action nat easy-ip

规则 0 放最上面:IPsec 流量匹配 no-nat,不转换;其余普通上网流量走 easy-ip。

方案 2:接口下开启 ipsec no-nat-process enable(V7 新版本支持)

在 IPsec 绑定的出口接口开启,该接口的 IPsec 保护流量,跳过 NAT 处理H3C

interface GigabitEthernet1/0/1 ipsec apply policy xxx ipsec no-nat-process enable

⚠️注意:老版本不支持该命令;仅作用在本接口 IPsec 流量。

方案 3:路由优先,保证 IPsec 流量强制走 IPsec 出口(路由型 IPsec 更稳)

如果用的是策略模板 IPsec(policy 方式绑定接口),双出口场景容易出现路由选路混乱,推荐改成Tunnel 隧道接口 + 路由模式 IPsec

  1. 创建 Tunnel 接口,tunnel protection ipsec profile
  2. 静态路由:对端私网网段下一跳指向 Tunnel 接口
  3. 路由方式可以严格控制流量从指定出口封装 IPsec,外层源 IP 自动使用 Tunnel 出接口(出口 A)地址,不会乱拿另一个出口 IP。

额外检查点(踩坑高发)

  1. IKE 协商报文(500/4500 端口)也要放行,并且IKE 协商的源 IP 必须是 IPsec 出口 A 公网 IP;不要让 IKE 报文被另一个出口的 SNAT 转换。
  2. IPsec 感兴趣流 ACL:写原始私网网段,不要写 NAT 之后的地址(做了 no-nat 豁免场景)。
  3. 验证命令
display nat session display ipsec sa display acl 3000

看 IPsec 流量的 nat 会话,确认不再被转换成出口 B 公网 IP。

快速定位命令

display nat session destination x.x.x.x #x.x.x.x是对端IPsec网关

看会话里的源转换地址,如果转换后的地址是另一个出口 IP,确认就是 SNAT 提前转换问题。

两种 IPsec 选型建议(双出口环境)

  • 策略式 IPsec(ipsec policy 应用在接口):适合单出口;双出口容易出现你这个 NAT 源 IP 错乱问题。
  • 隧道接口路由型 IPsec:双出口场景首选,出接口可控,外层源 IP 稳定。

补充:如果业务需求必须对 IPsec 流量做源 NAT(内网要转换成出口 A 公网 IP 加密)

不能用全局 easy-ip,单独给 IPsec 流量创建地址池,地址池 = 出口 A 公网 IP,只对 IPsec 流量做这条 SNAT,不要复用另一个出口的地址池。

暂无评论

粉丝:17人 关注:9人

这是典型的H3C防火墙双出口下IPsec VPN的源地址选择问题。核心原因是IPsec隧道绑定在其中一个公网接口,但业务流量的出接口路由指向了另一个公网接口,导致报文先被路由到非IPsec接口,再被策略路由或IPsec策略强制拉回到IPsec接口封装,源地址被NAT转换成了IPsec接口的公网IP。
排查步骤:
1. 确认IPsec策略绑定的接口
bash
display ipsec policy
display ipsec sa
查看Interface字段,确认IPsec隧道绑定在哪个公网接口(如GE1/0/1)。
2. 检查业务流量的路由走向
bash
display ip routing-table <对端内网网段>
display fib <对端内网网段>
如果路由下一跳指向另一个公网接口(如GE1/0/2),说明流量走了非IPsec接口。
3. 检查NAT策略
bash
display nat session verbose | include <对端IP>
display nat policy
如果存在源NAT规则将内网流量转换到非IPsec接口的公网IP,需要调整。
解决方案:
方案一(推荐):将IPsec策略同时绑定到两个公网接口,并配置等价路由或策略路由,让业务流量从IPsec接口发出。
bash
在IPsec策略中同时绑定两个接口
ipsec policy 10 isakmp
connection-name
local-address # 指定本端IPsec封装地址
remote-address <对端公网IP>
在另一个接口也应用相同策略
interface GigabitEthernet1/0/2
ipsec apply policy
方案二:配置策略路由,强制业务流量走IPsec绑定的接口。
bash
acl advanced 3000
rule 0 permit ip source <内网网段> <通配符> destination <对端内网网段> <通配符>
policy-based-route pbr_ipsec permit node 10
if-match acl 3000
apply next-hop
apply output-interface GigabitEthernet1/0/1 # IPsec绑定的接口
interface GigabitEthernet1/0/1
ip policy-based-route pbr_ipsec
方案三:如果只有一个出口需要做IPsec,调整路由优先级,让到对端内网的流量优先走IPsec接口。
ip route-static <对端内网网段> <掩码> preference 10
ip route-static <对端内网网段> <掩码> <另一接口

暂无评论

编辑答案

你正在编辑答案

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

✖

分享扩散:

➤

提出建议

✖

    +
✖

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

确定
✖

亲~检测到您登陆的账号未在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. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

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

不规范转载

×

举报说明