快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → IPSec-NAT穿越原理

IPSec-NAT穿越原理

时间:2022-12-01 14:12:41人气:作者:快盘下载我要评论

在IPSec VPN部署中;如果发起者位于私网内部;如下图FW_C;;而它希望与FW_A之间直接建立一条IPSec隧道;这种情况下NAT会对部署IPSec VPN网络造成障碍。

IPSec-NAT穿越原理

PC2发业务报文给PC1;IPSec先对IP包头或端口信息进行验证;报文到达NAT设备时;IP地址或端口号会被转换;报文到达FW_A的时候;FW_A进行IPSec数据包的验证;下面分别看一下IPSec使用 AH 和 ESP 两种安全协议时报文能否通过。

  • AH 协议;因为 AH 对数据进行完整性检查;会对包括 IP 地址在内的整个IP 包进行Hash运算。而NAT改变 IP 地址;从而破坏 AH 的 Hash 值。 因此 AH 报文无法通过 NAT 网关。

  • ESP 协议;ESP 对数据进行完整性检查;不包括外部的 IP 头; IP 地址转换不会破坏 ESP 的 Hash 值。但 ESP 报文中 TCP 的端口已经加密无法修改;那么NAT设备读不到端口号;不能进行正常的地址转换。

    IPSec

为了解决这个问题;必须在建立 IPSec 隧道的两个网关上同时开启 NAT 穿越功能;对应命令行 nat traversal;。开启 NAT 穿越功能后;当需要穿越 NAT 设备时; ESP 报文会被封装在一个 UDP 头中;源和目的端口号均是 4500。有了这个 UDP 头就可以正常进行转换。

NAT穿越原理

NAT设备对于私网用户来说是不可见的;这里就有个问题;网络设备怎么知道是否有NAT的存在;什么时候该添加UDP报头;什么时候不该添加?

IPSec一般要先经过IKE协商;交互密钥之后才发送数据。NAT-T(NAT Traversal)技术在IKE协商阶段通过某种机制来发现是否有NAT的存在。有NAT存在的时候添加UDP报头;没有NAT的时候就不添加。

下面分别介绍一下采用 IKEv1 和 IKEv2 时是如何进行 NAT 穿越。

IKEv1 协商 NAT 穿越

  1. 开启 NAT 穿越时; IKEv1 协商第一阶段的前两个消息会发送标识 NAT 穿越;NAT Traversal;简称 NAT-T;能力的 Vendor ID 载荷;主模式和野蛮模式都是;。用于检查通信双方是否支持 NAT-T。

    NAT穿越原理


    当双方都在各自的消息中包含了该载荷时;才会进行相关的 NAT-T 协商。

  2. 主模式消息 3 和消息 4;野蛮模式消息 2 和消息 3;中发送 NAT-D;NAT Discovery;载荷。NAT-D 载荷用于探测两个要建立 IPSec 隧道的网关之间是否存在 NAT 网关以及 NAT网关的位置。
    通过协商双方向对端发送源和目的的 IP 地址与端口的 Hash 值;就可以检测到地址和端口在传输过程中是否发生变化。若协商双方计算出来的 Hash 值与它收到的 Hash 值一样;则表示它们之间没有 NAT。否则;则说明传输过程中对 IP 或端口进行了 NAT 转换。第一个 NAT-D 载荷为对端 IP 和端口的 Hash 值;第二个 NAT-D 载荷为本端 IP 和端口的 Hash。
     

    NAT穿越原理

  3. 发现 NAT 网关后;后续 ISAKMP 消息;主模式从消息 5、野蛮模式从消息 3 开始;的端口号转换为 4500。ISAKMP 报文标识了“Non-ESP Marker”。

    NAT穿越原理

  4. 在第二阶段会启用 NAT 穿越协商。在 IKE 中增加了两种 IPSec 报文封装模式;UDP 封装 隧 道 模 式 报 文 ; UDP-Encapsulated-Tunnel ; 和 UDP 封 装 传 输 模 式 报 文;UDP-Encapsulated-Transport;。通过为 ESP 报文封装 UDP 头;当封装后的报文通过NAT 设备时; NAT 设备对该报文的外层 IP 头和增加的 UDP 头进行地址和端口号转换。UDP 报文端口号修改为 4500。

IKEv2 协商 NAT 穿越

  1. 开启 NAT 穿越后; IKE 的发起者和响应者都在 IKE_SA_INIT 消息对中包含类型为NAT_DETECTION_SOURCE_IP 和 NAT_DETECTION_DESTINATION_IP 的通知载荷。这两个通知载荷用于检测在将要建立 IPSec 隧道的两个网关之间是否存在 NAT;哪个网关位于 NAT 之后。如果接收到的 NAT_DETECTION_SOURCE 通知载荷没有匹配数据包 IP 头中的源 IP 和端口的 Hash 值;则说明对端位于 NAT 网关后面。如果接收到的AT_DETECTION_DESTINATION_IP 通知载荷没有匹配数据包 IP 头中的目的 IP 和端口的 Hash 值;则意味着本端位于 NAT 网关之后。

    NAT穿越原理

  2. 检测到 NAT 网关后;从 IKE_AUTH 消息对开始 ISAKMP 报文端口号改为 4500。报文标识“Non-ESP Marker”。

    NAT穿越原理

  3. IKEv2 中也使用 UDP 封装 ESP 报文;当封装后的报文通过 NAT 设备时; NAT 设备对该报文的外层 IP 头和增加的 UDP 头进行地址和端口号转换。UDP 报文端口号修改为 4500。

    NAT穿越原理

相关文章

  • linux下搭建Ipsec+L2TP VPN服务(线上)

    linux下搭建Ipsec+L2TP VPN服务(线上),linux下搭建Ipsec+L2TPVPN服务(线上)...
  • 华为IPSEC VPN配置实验

    华为IPSEC VPN配置实验,实验目的:配置公司总部到公司分部的IPSECVPN,实现网络的连通。实验拓扑:一、基础配置:1.配置好各个设备的IP地址。2.设置R1/R3各有一条默认路由通往R2。3.先测试R1是否能ping通R3,ping通后才可做IPSECVPN的配置。4.保存基本配置,save。二、IPSECVPN配置:[R1]ipsecproposalipsecDisplayipsecproposaln...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。