IPSec NAT 穿越概述
欲了解关于The Cable Guy的所有专栏的的列表和更多信息,请点击此处。
由于历史的原因,部署带 Internet 协议安全的第二层隧道协议(L2TP/IPSec)的问题之一在于无法定位网络地址转换(NAT)之后的 IPSec 对话方。 Internet 服务提供商和小型办公/家庭办公(SOHO)网络通常使用 NAT 来共享单个公共 IP 地址。 虽然 NAT 有助于节省剩余的 IP 地址空间,但是它们也给诸如 IPSec 之类的端对端协议带来了问题。
一种称为 IPSec NAT 穿越(NAT-T)的新技术正在由 Internet 工程任务组的IPSec 网络工作组标准化。 IPSec NAT-T 是在标题为 “UOSec 包的 UDP 封装”(draft-ietf-ipsec-udp-encaps-02.txt)和“IKE中的 NAT 穿越协商”(draft-ietf-ipsec-nat-t-ike-02.txt)的 Internet 草案中描述的。 IPSec NAT-T 对协商过程进行了修改,并且定义了发送受 IPSec 保护的数据的不同方法。
在 IPSec 协商过程中,支持 IPSec NAT-T的对话双方会自动确定:
• |
发起 IPSec 对话的一方(通常是一个客户端计算机)和响应 IPSec 对话的一方(通常是一个服务器)是否都能执行 IPSec NAT-T。 |
• |
它们之间的路径中是否存在任何 NAT。 |
如果这两个条件同时为真,那么双方将使用 IPSec NAT-T 来通过 NAT 发送受 IPSec 保护的流量。 如果其中一方不支持 IPSec NAT-T,则执行常规的 IPSec 协商(在前两个消息之后)和 IPSec 保护。 如果双方都支持 IPSec NAT-T,但是它们之间不存在 NAT,则执行常规的 IPSec 保护。
IPSec NAT-T 受Windows Server 2003、Microsoft L2TP/IPSec VPN Client(一个免费的 Web 下载组件,它支持运行 Windows 98、Windows Millennium Edition 和 Windows NT 4.0 Workstation 的计算机创建 L2TP/IPSec 连接)以及L2TP/IPSec NAT-T Update for Windows XP and Windows 2000(一个免费的 Web下载组件,它支持运行Windows 2000和Windows XP的计算机创建 L2TP/IPSec 连接)的支持。
本专栏研究与通过 NAT 使用 IPSec 相关联的问题,以及这些问题如何通过 IPSec NAT-T 来得到解决,以及用于快速模式和主模式的 Internet 密钥交换(IKE)协商中的结果变更。
注意: IPSec NAT-T 是仅为 ESP 流量定义的。
本页内容
与通过 NAT 使用 IPSec 相关的问题 | |
对 IPSec 的 NAT-T 修改概述 | |
通过 NAT 使用 IPSec 的问题的 IPSec NAT-T 解决办法 | |
使用 IPSec NAT-T 的主模式和快速模式 SA 的 IKE 协商例子 | |
更多信息 |
与通过 NAT 使用 IPSec 相关的问题
与通过 NAT 使用 IPSec 相关的问题如下:
• |
NAT 无法更新上层校验和。 TCP 和 UDP 报头包含一个校验和,它整合了源和目标 IP 地址和端口号的值。 当 NAT 改变了某个包的 IP 地址和(或)端口号时,它通常要更新 TCP 或 UDP 校验和。 当 TCP 或 UDP 校验和使用了 ESP 来加密时,它就无法更新这个校验和。 由于地址或端口已经被 NAT 更改,目的地的校验和检验就会失败。 虽然 UDP 校验和是可选的,但是 TCP 校验和却是必需的。 |
• |
NAT 无法多路传输 IPSec 数据流。 ESP 保护的 IPSec 流量没有包含可见的 TCP 或 UDP 报头。 ESP 报头位于 IP 报头和加密的 TCP 或 UDP 报头之间,并且使用 IP 协议号 50。 因此,TCP 或 UDP 端口号就无法将流量多路传输到不同的专用网主机。 ESP 报头包含一个名为 Security Parameters Index(安全参数索引,SPI)的字段。 SPI 与明文(plaintext)IP报头中的目标 IP 地址和 IPSec 安全协议(ESP 或 AH)结合起来用于识别 IPSec 安全关联(SA)。 对于到 NAT 的传入流量,目标 本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
|
文章评论