系统管理指南:IP 服务

IPsec 中的传输模式和隧道模式

IPsec 标准定义了 IPsec 操作的两种不同模式:传输模式隧道模式。模式不影响包的编码。在每种模式下,包受 AH、ESP,或二者的保护。如果内部包是 IP 包,这两种模式在策略应用程序方面有所不同,如下所示:

在传输模式下,外部头、下一个头以及下一个头支持的任何端口都可用于确定 IPsec 策略。实际上,IPsec 可在一个端口不同粒度的两个 IP 地址之间强制实行不同的传输模式策略。例如,如果下一个头是 TCP(支持端口),则可为外部 IP 地址的 TCP 端口设置 IPsec 策略。类似地,如果下一个头是 IP 数据包头,外部头和内部 IP 数据包头可用于决定 IPsec 策略。

隧道模式仅适用于 IP-in-IP 数据报。如果在家中的计算机用户要连接到中心计算机位置,以隧道模式进行隧道连接将会很有用。在隧道模式下,IPsec 策略强制实施于内部 IP 数据报的内容中。可针对不同的内部 IP 地址强制实施不同的 IPsec 策略。也就是说,内部 IP 数据包头、其下一个头及下一个头支持的端口,可以强制实施策略。与传输模式不同,在隧道模式下,外部 IP 数据包头不指示其内部 IP 数据报的策略。

因此,在隧道模式下,可为路由器后面的 LAN 的子网和这些子网上的端口指定 IPsec 策略。也可在这些子网上为特定的 IP 地址(即主机)指定 IPsec 策略。这些主机的端口也可以具有特定的 IPsec 策略。但是,如果有动态路由协议在隧道上运行,请勿使用子网选择或地址选择,因为对等网络上的网络拓扑的视图可能会更改。更改可能使静态 IPsec 策略失效。有关包括配置静态路由的隧道设置过程示例,请参见使用 IPsec 保护 VPN

在 Solaris OS 中,可以只在一个 IP 隧道网络接口上强制执行隧道模式。ipsecconf 命令提供 tunnel 关键字来选择 IP 隧道网络接口。当规则中出现 tunnel 关键字时,在此规则中指定的所有选定器都应用到内部包中。

在传输模式下,ESP、AH、或二者可以保护该数据报。

下图显示了不受保护的 TCP 包的 IP 数据包头。

图 19–3 携带 TCP 信息的不受保护的 IP 包

图显示了后跟 TCP 数据包头的 IP 数据包头。TCP 数据包头不受保护。

在传输模式下,ESP 按下图所示的方式保护数据。阴影部分表示包的加密部分。

图 19–4 携带 TCP 信息的受保护的 IP 包

图显示了 IP 数据包头和 TCP 数据包头之间的 ESP 头。TCP 数据包头由 ESP 头进行加密。

在传输模式下,AH 按下图所示的方式保护数据。

图 19–5 由验证头保护的包

图显示了 IP 数据包头和 TCP 数据包头之间的 AH 头。

实际上,在数据出现在数据报中之前,AH 便已包含数据。因此,即使在传输模式下,AH 提供的保护也会包含一些 IP 数据包头。

在隧道模式下,整个数据报处于 IPsec 数据包头的保护之内图 19–3 中的数据报由外部 IPsec 数据包头(在此示例中为 ESP)以隧道模式保护,如下图所示。

图 19–6 以隧道模式保护的 IPsec 包

图显示了在一个 IP 数据包头之后,另一个 IP 数据包头和 TCP 数据包头之前的 ESP 头。最后 2 个头受加密保护。

ipsecconf 命令包括用于将隧道设置为隧道模式或传输模式的关键字。