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

VPN配置nonat问题

2天前提问
  • 0关注
  • 0收藏,77浏览
粉丝:1人 关注:0人

问题描述:

目前我用AK135与启明星辰配置了IPSECVPN,配置完后目前总部主动发起访问IDC机房通信正常,但IDC主动发起访问总部失败且通过调试在总部防火墙没有收到IDC机房发起的各类通信包,包括测试ICMP通信包也收不到,但从H3C的报文示踪看又是正常的,怀疑是NOnat配置问题,以下为配置后在H3C防火墙上报文示踪情况。这种情况是什么问题,如何排查和处理。

组网及组网描述:

目前我用AK135与启明星辰配置了IPSECVPN,配置完后目前总部主动发起访问IDC机房通信正常,但IDC主动发起访问总部失败且通过调试在总部防火墙没有收到IDC机房发起的各类通信包,包括测试ICMP通信包也收不到,但从H3C的报文示踪看又是正常的,怀疑是NOnat配置问题,以下为配置后在H3C防火墙上报文示踪情况。这种情况是什么问题,如何排查和处理。

4 个回答
粉丝:12人 关注:9人

问题分析:IDC主动访问总部失败,总部未收到包,可能原因包括:1. 总部侧NAT策略未排除IDC对总部的流量;2. 总部VPN策略未允许IDC发起的流量;3. 总部入方向安全策略未放行IDC流量;4. 路由问题(IDC侧未正确指向VPN隧道,或总部侧未回指IDC网段)。
排查步骤及命令:
1. 检查NAT策略是否排除IDC→总部流量
查看总部AK135的NAT策略,确认是否对IDC网段(假设为10.2.0.0/24)访问总部网段(假设为10.1.0.0/24)的流量做了nonat:
display nat policy
若存在NAT策略覆盖IDC→总部流量,需添加nonat策略:
nat policy interzone trust untrust outbound
rule permit source 10.2.0.0 0.0.0.255 destination 10.1.0.0 0.0.0.255
action nonat
2. 检查IPSec策略是否双向匹配
确认总部AK135的IPSec策略是否允许IDC网段作为源:
display ipsec policy
查看策略中的security acl,确保ACL包含permit ip 10.2.0.0 0.0.0.255 10.1.0.0 0.0.0.255(IDC→总部方向)。若缺失,修改ACL:
acl number 3000
rule permit ip source 10.2.0.0 0.0.0.255 destination 10.1.0.0 0.0.0.255
并将ACL绑定到IPSec策略:
ipsec policy map1 10 isakmp
security acl 3000
3. 检查总部入方向安全策略
确认总部防火墙入方向(untrust→trust)是否放行IDC→总部流量:
display security-policy
若缺失,添加策略:
security-policy ip
rule name idc_to_hq
source-zone untrust
destination-zone trust
source-ip 10.2.0.0 255.255.255.0
`destination-ip 10.1.0.0 2

暂无评论

zhiliao_k8NNG 知了小白
粉丝:1人 关注:0人

上述截图中,策略NAT关闭后,ACLnat两条都在情况下是上网正常,但这台在IDC机房的H3C防火墙与总部启明星辰配置的SSLVPN的配置,由idc机房发起的通信不正常,但如果ACL3000的保留,禁用其他两条就idc机房发起的通信正常,IDC本身发起访问internet不正常,这要如何处理

暂无评论

粉丝:20人 关注:2人

1. 关键矛盾点说明
报文示踪 packet-trace 是本地路由转发模拟计算,只看路由 / ACL 逻辑是否允许转发,不代表公网 ESP/IKE 加密报文真的到达防火墙 Untrust 口。
你现在场景:
总部内网主动访问 IDC 正常 → IKE SA、IPSec SA 已成功建立,感兴趣流加密、nonat、回程路由对内网出向流量全部正常;
IDC 主动访问总部完全无报文到达防火墙(ICMP/TCP 都没进来),90% 是两类问题:
1)总部 AK135 的 Nonat(NAT 豁免)ACL 只写了单向,缺少 IDC→总部反向匹配规则;
2)IPSec 感兴趣流 ACL 单向,启明星辰 IDC 侧无反向保护流,不会主动加密发送流量到总部公网;
3)次要:总部 Untrust→Trust 安全策略未放行隧道解封装后的 IDC 私网流量、IDC 侧无指向总部网段的静态路由、两端 NAT-T/DPD 保活异常。
2. Nonat 配置最常见致命错误(你怀疑的点)
IPSec 双向互通要求两端 NAT 豁免 ACL 必须双向完整:
假设:
总部内网:10.1.0.0/24,IDC 内网:10.2.0.0/24
错误配置(仅内网访问 IDC 放行 nonat,反向缺失)
plaintext
acl advanced 3000
rule permit ip source 10.1.0.0 0.0.0.255 destination 10.2.0.0 0.0.0.255
# 缺少反向rule:IDC网段访问总部网段不做NAT

V7 防火墙 NAT 策略匹配逻辑:
IDC 加密报文解封装后,源 IP=10.2.0.x、目的 IP=10.1.0.x,匹配不到 nonat 规则,被全局 SNAT 转换源地址,五元组改变,IPSec 会话无法识别回程,直接丢弃,表现为防火墙看不到 IDC 入站流量。
正确双向 nonat ACL(必须两条 permit)
plaintext
acl advanced 3000
rule 10 permit ip source 10.1.0.0 0.0.0.255 destination 10.2.0.0 0.0.0.255
rule 20 permit ip source 10.2.0.0 0.0.0.255 destination 10.1.0.0 0.0.0.255

同时 NAT 策略里 nonat 规则必须在 easyip 全局 SNAT 之前,优先级更高。
二、第二大故障点:IPSec 感兴趣流 ACL 单向(隧道不接收 IDC 主动流量)
IPSec 策略 ACL 是双向镜像要求,只写总部→IDC,启明星辰 IDC 不会生成反向 SA、不会主动加密 IDC→总部流量:
AK135 总部 IPSec 安全 ACL 必须同时包含双向流量;
启明星辰 IDC 侧 IPSec 保护流也必须镜像配置(源 IDC、目的总部);
否则 IDC 发起访问时,启明星辰无匹配加密规则,不会封装 ESP 报文发公网,总部防火墙自然收不到任何流量。
三、完整分层排查步骤(按优先级执行)
步骤 1:核查总部 AK135 双向 Nonat NAT 豁免(最高优先级)
查看现有 NAT 豁免 ACL
plaintext
display acl 3000
display nat policy

修复双向 ACL 并绑定 nat policy
plaintext
system-view
acl advanced 3000
undo all
rule 10 permit ip source 总部内网段 反掩码 destination IDC网段 反掩码
rule 20 permit ip source IDC网段 反掩码 destination 总部内网段 反掩码
quit
# 插入到全局SNAT规则前面
nat policy interzone trust untrust outbound
rule 5 permit acl 3000 action nonat
quit
# 清空旧nat会话
reset nat session all

步骤 2:核查 IPSec 感兴趣流 ACL 双向完整
plaintext
display ipsec policy name XXX
display acl 绑定IPSec的ACL编号

必须两条 rule,和 nonat ACL 格式一致,双向 permit 私网互访流量;
如果只有单向 rule,新增反向 rule,重置 IPSec SA:
plaintext
reset ipsec sa all
reset ike sa all

步骤 3:安全策略放行解封装后的 IDC 入站流量
IPSec 报文解封装后,流量从 Untrust 安全域进入 Trust 内网域,必须单独放行:
plaintext
security-policy ip
rule 10 name IPSec_IDC_To_HQ
source-zone Untrust
destination-zone Trust
source-address IDC网段掩码
destination-address 总部网段掩码
action pass
logging enable
quit
# 查看策略命中
reset security-policy statistics rule-hit
display security-policy statistics rule-hit | include IPSec_IDC_To_HQ

无命中计数 = IDC 加密报文根本没到达防火墙 Untrust 口。
步骤 4:区分「报文示踪模拟正常」和「真实公网报文到达」
packet-trace 仅本地逻辑模拟,判断真实报文是否抵达防火墙公网口:
在 AK135 公网 Untrust 接口抓包,看是否有 ESP 50/51、UDP500/4500 报文
plaintext
packet-capture interface GigabitEthernet1/0/X untunnel
packet-capture start duration 20
display packet-capture buffer

抓包无 ESP 报文:故障在 IDC 启明星辰侧,未加密发送流量;
抓包有 ESP 报文但内网无回复:总部 nonat / 安全策略拦截解封装后流量。
步骤 5:IDC 启明星辰侧配套核查(反向不通高发)
启明星辰 IPSec 保护流是否包含「IDC 网段→总部网段」双向规则;
启明星辰出口 SNAT 是否做了双向 VPN 流量豁免(同 AK135 逻辑,缺少反向会丢弃回程加密报文);
启明星辰是否配置静态路由指向总部私网,下一跳为 IPSec 隧道;无路由则 IDC 主机无法发起访问。
步骤 6:IPSec NAT-T、DPD 保活适配跨厂商对接
华三与启明星辰对接必须开启 NAT 穿越,防止中间运营商 NAT 破坏隧道会话:
plaintext
system-view
ike nat-traversal
# 缩短DPD探测间隔,维持隧道长连接
ike dpd interval 10 retry 3

若 DPD 失效隧道休眠,IDC 主动访问无法触发 IKE 重协商。
四、极简故障判定逻辑
抓公网口无 ESP 加密报文:问题在 IDC 启明星辰
IPSec 感兴趣流单向、缺少反向 NAT 豁免、无总部网段静态路由;
公网口抓到 ESP 报文,内网终端无响应:总部 AK135 配置缺陷
Nonat ACL 缺少反向规则、Untrust→Trust 安全策略未放行 IDC 私网流量;
内网访问 IDC 正常,反向完全无报文:90% 双向 NAT 豁免 / IPSec ACL 单向缺失,和你的怀疑 nonat 高度相关。
五、快速修复完整模板(替换你实际网段即可)
假设:
总部内网:10.1.0.0/24,IDC 内网:10.2.0.0/24
AK135 总部双向 Nonat+IPSec 双向 ACL
plaintext
system-view
# 双向NAT豁免ACL
acl advanced 3000
rule 10 permit ip source 10.1.0.0 0.0.0.255 destination 10.2.0.0 0.0.0.255
rule 20 permit ip source 10.2.0.0 0.0.0.255 destination 10.1.0.0 0.0.0.255
quit
# NAT策略插入nonat规则,优先级高于上网SNAT
nat policy interzone trust untrust outbound
rule 5 permit acl 3000 action nonat
quit
# IPSec双向感兴趣流(假设acl 3001绑定ipsec policy)
acl advanced 3001
rule 10 permit ip source 10.1.0.0 0.0.0.255 destination 10.2.0.0 0.0.0.255
rule 20 permit ip source 10.2.0.0 0.0.0.255 destination 10.1.0.0 0.0.0.255
quit
# 放行解封装后IDC入站流量
security-policy ip
rule 10 name IPSec_IDC_HQ
source-zone Untrust
destination-zone Trust
source-address 10.2.0.0 mask 255.255.255.0
destination-address 10.1.0.0 mask 255.255.255.0
action pass
logging enable
quit
# 开启NAT-T与DPD保活
ike nat-traversal
ike dpd interval 10 retry 3
# 清空会话重置隧道
reset nat session all
reset ipsec sa all
reset ike sa all
save force

暂无评论

粉丝:23人 关注:1人

你描述的现象——“总部主动发起访问正常,但IDC主动发起访问总部失败”,且“报文示踪显示正常,但实际收不到包”——这通常是IPsec VPN中典型的单向通信问题。报文示踪显示正常,恰恰说明报文在防火墙的处理流程中被“放行”了,但问题可能出在报文没有被正确封装进VPN隧道,或是回程路由

问题大概率不在IPsec协商本身(因为隧道已建立),而是在NAT策略、IPsec保护流(ACL)或路由的配置上。

以下是详细的排查与解决步骤,建议按顺序操作。

🔍 排查步骤与解决命令

1. 检查并修正NAT策略(核心疑点)

问题分析:你的怀疑很可能是正确的。总部防火墙可能对IDC主动发起的流量(源IP为IDC网段,目的IP为总部网段)执行了NAT(源地址转换),将其源IP转换成了公网IP。这会导致:

  • IDC收到的回包源IP不匹配,可能丢弃。

  • 更关键的是,报文源IP被改变后,无法匹配IPsec策略中定义的“保护流”(ACL),导致报文不会被封装进VPN隧道,而是被当作普通公网报文直接发送。

解决方法:检查并添加一条nonat策略,豁免(排除) 所有从IDC网段访问总部网段的VPN流量,使其不进行NAT转换

查看命令

bash
display nat policy

配置命令(在系统视图下):

bash
nat policy interzone trust untrust outbound rule name nonat_idc_to_hq source-ip <IDC网段> <IDC网段反掩码> # 例如:10.2.0.0 0.0.0.255 destination-ip <总部网段> <总部网段反掩码> # 例如:10.1.0.0 0.0.0.255 action nonat

注意:请将命令中的网段和反掩码替换为你实际的值。如果防火墙的域间策略不同,请相应调整interzone后的区域。

2. 检查IPsec策略的“保护流”(ACL)

问题分析:IPsec策略中的ACL定义了哪些流量需要被加密保护。如果该ACL只定义了单向(总部->IDC),而没有定义反向(IDC->总部),那么从IDC发起的流量就不会被IPsec处理

解决方法:检查并确保IPsec策略绑定的ACL中,包含双向的permit规则

查看命令

bash
display ipsec policy

找到你应用的策略,查看其绑定的ACL编号,然后查看该ACL内容:

bash
display acl <ACL编号>

配置命令(假设ACL为3000):

bash
acl advanced 3000 rule permit ip source <IDC网段> <IDC网段反掩码> destination <总部网段> <总部网段反掩码> rule permit ip source <总部网段> <总部网段反掩码> destination <IDC网段> <IDC网段反掩码>

确保这两条规则都存在。修改ACL后,IPsec策略会自动生效。

3. 检查总部防火墙的入方向安全策略

问题分析:即使报文被正确封装,防火墙的安全策略(Security Policy)也可能在解封装后,拦截从Untrust区域到Trust区域的流量

解决方法:添加一条安全策略,放行从IDC网段到总部网段的流量

查看命令

bash
display security-policy ip

配置命令

bash
security-policy ip rule name permit_idc_to_hq action pass source-zone untrust destination-zone trust source-ip <IDC网段> <IDC网段反掩码> destination-ip <总部网段> <总部网段反掩码>

4. 检查路由配置

问题分析:AK135需要知道如何去往IDC的私网网段。虽然隧道已建立,但回程路由也必须存在,以确保从IDC返回的流量能被正确送进VPN隧道。

解决方法:确认存在一条指向IDC私网网段的路由,其下一跳为VPN隧道接口出接口为发起IPsec的物理接口

查看命令

bash
display ip routing-table | include <IDC网段>

🛠️ 如果问题依旧:进一步诊断

如果以上步骤仍未解决,可以尝试以下高级诊断方法:

  1. 重置IPsec/IKE SA
    强制VPN重新协商,有时能解决因状态不一致导致的问题

    bash
    reset ipsec sa reset ike sa
  2. 查看会话表与IPsec统计
    从IDC侧发起访问(如ping),然后在总部防火墙查看,以确认报文是否到达以及是否被IPsec处理

    bash
    # 查看会话表,看是否有来自IDC的会话 display session table ipv4 source-ip <IDC侧源IP> destination-ip <总部侧目的IP> verbose # 查看IPsec统计信息,重点关注 "Received packets" 的计数 display ipsec statistics
  3. 开启调试(Debug)
    在非生产环境或业务低谷期,可以开启IKE和IPsec的调试开关,观察详细的报文交互过程,定位问题发生的具体环节。

    bash
    debugging ike all debugging ipsec all

    警告:调试信息会大量输出,可能影响设备性能,请谨慎使用,用完后及时关闭。

暂无评论

编辑答案

你正在编辑答案

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

分享扩散:

提出建议

    +

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

确定

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

对根叔社区有害的内容

×

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

不规范转载

×

举报说明