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

路由器关于IPSEC隧道模式ESP保护作用下的机制

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

问题描述:

我想想请教关于ipsec的问题,隧道模式启用ESP保护,ESP保护的是原始IP头部+载荷信息。如果在公网遇到NAT设备修改的外层源IP地址,就算不支持NAT-T穿越,对端收到应该也能正常接受吧,hash校验不是只针对内层IP+载荷吗

3 个回答
粉丝:34人 关注:1人

不可以。ESP在隧道模式下虽然保护的是原始IP头部和载荷,但其完整性校验(hash)覆盖的是整个内部IP报文(即原始IP头+载荷),而外层IP头是不被保护的。然而,当NAT设备修改了外层IP头部的源地址时,虽然ESP的hash校验不涉及外层IP头,但在IPsec对等体接收到报文后,系统在处理外层IP头时会发现实际接收的外层源地址与SA中记录的对端地址不一致,导致报文被丢弃,因为IPsec安全关联(SA)是基于协商时的对端IP地址建立的。

此外,即使不启用NAT-T,ESP报文也无法正常通过NAT设备,因为ESP加密了协议载荷,NAT设备无法解析出传输层信息(如端口号),从而无法正确进行地址和端口转换。更重要的是,IPsec要求外层IP头的对端地址必须与SA中约定的一致,否则视为非法报文。

因此,即便hash校验不覆盖外层IP头,NAT修改外层源IP地址仍会导致对端拒绝接收报文。必须使用NAT-T(NAT Traversal)技术,通过UDP封装来支持NAT环境下的IPsec通信。

对的

zhiliao_v6hOyc 发表时间:2天前 更多>>

您的描述我大概清楚了,就是没有NAT-T。收到的包的源IP与我隧道指定的对端地址不一致时,就会直接丢弃,如果有NAT-T,就会解封装UDP报文与ESP,是这个意思吗

zhiliao_0uqPbb 发表时间:2天前

对的

zhiliao_v6hOyc 发表时间:2天前
粉丝:1人 关注:1人

您的理解部分正确,但忽略了一个关键点——IPSec安全关联(SA)的匹配问题。​ 即使ESP的哈希校验只针对内层IP头和载荷,且验证会通过,但如果不支持NAT-T,NAT修改外层源IP地址通常会导致IPSec隧道建立失败或流量被丢弃。

粉丝:41人 关注:3人

IPsec NAT穿越的数据封装流程与传输过程如下(基于标准协议及H3C设备实现):

 

---

 

### 1. NAT检测阶段

- IKEv1协商(UDP 500):  

  双方通过UDP 500端口发起IKE阶段1协商,交换设备标识(如IP/FQDN)。

- NAT-D载荷检测:  

  设备在IKE报文中携带`NAT-D`载荷(哈希值),若检测到对端与自身计算值不匹配,则判定路径中存在NAT设备。

 

---

 

### 2. 切换至NAT-T封装(UDP 4500

- 启用NAT穿越(NAT Traversal):  

  若检测到NATIKE协商自动切换至UDP 4500端口封装(协议号仍为UDP)。

- 关键配置:  

  设备需启用NAT-T功能(如H3C`ike peer nat traversal`),并确保NAT设备放行UDP 4500流量。

 

---

 

### 3. 数据封装流程

1. 原始IP包处理:  

   - 内网主机发送原始IP包(源IP: `私网A`,目的IP: `私网B`)。

2. ESP封装(内层加密):  

   - IPsec设备用ESP协议封装原始IP包(含内层IP+载荷),添加ESP头部和尾部,并进行加密和HMAC认证。

3. 外层IP头封装(初始):  

   - 添加外层IP头(源IP: `公网A`,目的IP: `公网B`),协议字段为50ESP)。

4. NAT-T封装(外层UDP头):  

   - 插入UDP 4500头部(源端口: 随机端口 > 1024,目的端口: 4500)。

   - 外层IP头协议字段改为17UDP)。

5. NAT设备修改:  

   - NAT设备修改外层IP头的源IP+源端口(如改为 `NAT公网IP: 映射端口`),目的IP/端口不变。

6. 对端接收处理:  

   - 对端通过UDP 4500端口识别为NAT-T流量,剥除UDP头和修改后的外层IP头。

   - ESP协议还原原始IP包,解密并验证HMAC后转发至内网。

 

---

 

### 4. 关键传输特性

- NAT设备仅修改外层IP头:  

  内层ESP加密内容(含原始IP头)全程不被篡改,确保端到端完整性。

- 端口一致性:  

  NAT设备需维持源端口映射关系(UDP 5004500),否则对端无法关联会话。

- 野蛮模式需求:  

  H3C案例明确要求当设备位于NAT后时,IKE阶段1需使用野蛮模式(`exchange-mode aggressive`)以传递标识信息。

 

---

 

### 5. 流程图解

plaintext

原始IP(私网A → 私网B)

  

  ├─▶ ESP封装(加密原始IP+载荷)

  │    ├─▶ 添加外层IP(公网A → 公网B, 协议50)

  │         │

  │         ├─▶ NAT-T封装:添加UDP 4500头 → 协议改为UDP (17)

  │                │

  │                │← NAT设备修改:源IP+端口 →

               外层IP(NAT公网IP:映射端口 → 公网B:4500)

                

                ├─▶ 对端接收:剥除NAT外层IP+ UDP

                │     │

                │     └─▶ ESP解密 → 验证HMAC → 还原原始IP包 → 转发至私网B

 

 

> 注:若未启用NAT-TNAT修改外层IP头会导致IKE端口冲突及ESP协议号被阻,隧道无法建立。配置时需确保双方设备均启用NAT-T,且ACL/NAT策略排除IPsec流量(如放行UDP 500/4500)。


编辑答案

你正在编辑答案

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

分享扩散:

提出建议

    +

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

确定

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

对根叔社区有害的内容

×

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

不规范转载

×

举报说明