Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

内联 IPsec

内联 IPsec 概述

IPsec 架构为 IP 版本 4 (IPv4) 和 IP 版本 6 (IPv6) 网络层提供安全套件。该套件提供源身份验证、数据完整性、机密性、重放保护和源不可否认性。

内联 IPsec 架构由支持 IPsec作的特殊 IPsec 引擎块组成。PFE(数据包转发引擎)能够在 PFE 内联执行 IPsec 加密或解密,而无需卸载到服务卡。因此,内联 IPsec 可以实现更高的吞吐量。

内联 IPsec 数据平面的突出特点

以下是 IPsec 数据平面的突出特点

  • 支持 IPv4 和 IPv6 IPsec 协议

  • 支持 128 位密钥和 256 位密钥 AES-GCM

  • 每个机箱支持多达 2000 条隧道

  • 每个转发 ASIC 都支持两个数据包转发引擎。从 Junos OS 24.4R1 版开始,可以配置两个数据包转发引擎,支持高达 600Gbps 的半双工(每个 PFE 支持 300Gbps 的半双工)。

有关平台和 Junos 版本支持的详细信息,请参阅 功能浏览器

图 1 展示了内联 IPsec 数据平面、控制平面、管理平面和 API 接口的架构。

图 1:架构 Architecture

内联服务接口是驻留在数据包转发引擎上的虚拟接口。有关更多信息,请参阅 启用内联服务接口

您可以为每个 PIC 配置具有四个 si ifd 的内联服务, si/fpc/pic/port-number格式为 。如果 fpc 为 0,且 pic 为 0,则可以有四个 si ifd: si-0/0/0 si-0/0/1 si-0/0/2si-0/0/3

支持以下功能:

  • ESP 隧道模式,具有 AES-128-GCM 和 AES-256-GCM,适用于 IPv4 和 IPv6 封装的 IPsec SA。

  • 32 位和扩展序列号(64 位)。

  • 具有本地和远程身份的 IKEV2、重新身份验证、使用 x509 证书的身份验证、IKE 分段。

  • 失效对等体检测

  • 支持每个 VPN 的隧道 MTU。如果 IPsec 数据包超过配置的 MTU,则对数据包进行预分段,然后进行 ESP 封装。这样可以防止 ESP 封装后出现分段。

  • SA 生存期(以秒为单位)(IKE 和 IPsec 重新生成密钥)。

  • ESP 数据包的 UDP 封装。

不支持以下功能:

  • 认证头 (AH)

  • 传输模式

  • 在解密之前对 IPv4 数据包进行重组

  • 根据 RFC4543 进行 Null 加密

  • IKE-V1

内联 IPsec 支持的 IPsec 和 IKE 功能列出了内联 IPsec 支持的 IPSec 和 IKE 功能:

表 1:内联 IPsec 支持的 IPsec 和 IKE 功能

特征

适用于 IKE

适用于 IPsec

MD5型

是的

SHA-256

是的

SHA-384

是的

SHA-512

是的

AES-128-GCM

是的

是的

AES-256-GCM

是的

是的

3DES-CBC

是(不推荐)

AES-128-CBC

是的

AES-192-CBC

是的

AES-256-CBC

是的

DES-CBC

是(不推荐)

安全关联 (SA) 是一种单工连接,它使两台主机能够通过 IPsec 安全地相互通信。SA 封装加密和完整性算法、加密密钥、安全策略和 SA 的生存期。IKE SA 包含用于建立 IPsec SA 的属性,而 IPsec SA 则定义用于加密实际数据流量的属性。

ike-key-management-daemon (IKED) 是一个 Junos RE 守护程序,用于维护 IKE 和 IPsec SA 的生存期。IKE 配置定义用于与对等安全网关建立安全连接的算法和密钥。

安全关联

要使用 IPsec 安全服务,您需要在两个端点之间创建 SA。SA 是一种单工连接,使两台主机能够通过 IPsec 安全地相互通信。有两种类型的 SA:

  • 手动 SA 无需协商;所有值(包括密钥)都是静态的,并在配置中指定。手动 SA 静态定义要使用的安全参数索引 (SPI) 值、算法和密钥,并要求隧道两端都有匹配的配置。每个对等方必须具有相同的配置选项才能进行通信。

  • 动态 SA 需要额外配置。.IKE 创建动态安全关联;它会协商 IPsec 的 SA。IKE 配置定义用于与对等安全网关建立安全 IKE 连接的算法和密钥。然后,此连接可用于动态就动态 IPsec SA 使用的密钥和其他数据达成动态协议。首先对 IKE SA 进行协商,然后用于保护确定动态 IPsec SA 的协商。

艾克

IKE 是一种密钥管理协议,用于创建动态 SA;它会协商 IPsec 的 SA。IKE 配置定义用于与对等安全网关建立安全连接的算法和密钥。

IKE 执行以下任务:

  • 协商和管理 IKE 和 IPsec 参数。

  • 验证安全密钥交换。

  • 通过共享密钥(而非密码)和公钥提供相互对等方身份验证。

  • 提供身份保护(在主模式下)。

内联 IPsec 仅支持 IKE 版本 2 (IKE v2)。IKE 协商安全属性并建立共享密钥以形成双向 IKE SA。协商 IKE SA 后,将建立入站和出站 IPsec SA,IKE SA 将保护 IPsec SA 的交换。IKE 还会生成密钥材料,提供完全向前保密,并交换身份。

在仅响应方模式下,MX 系列路由器不会发起 IKE 协商,只会响应对等方网关发起的 IKE 协商。与其他供应商的设备(如 Cisco 设备)互作时,可能需要这样做。由于 MX 系列不支持流量选择器中的协议和端口值,因此无法启动到需要这些值的其他供应商对等网关的 IPsec 隧道。通过在 MX 系列上配置仅响应模式,MX 可以接受从对等网关发起的 IKE 协商中的流量选择器。

图 2 展示了对等网关之间的 IPsec、SA 和 IKE 交换。

图 2:IPsec SA 和 IKE 交换 IPsec SA and IKE Exchange

失效对等体检测 (DPD)

DPD 是一种用于验证 IKE 对等方活跃度以避免 IPsec 流量黑洞的方法。设备通过定期发送 DPD 探测(R-U-THERE 消息)并等待 DPD 响应(R-U-THERE-ACK 消息)来执行此验证。

您可以在以下模式下配置 DPD:

  • always-send — 指示设备定期发送 DPD 探测,而不考虑是否有传出 IPsec 流量到对等方。

  • 优化 — 如果在将传出数据包发送至对等方后,在配置的时间间隔内没有传入 IKE 或 IPsec 流量,则发送 DPD 探测。这是默认的 DPD 模式。

  • probe-idle-tunnel — 在对等方之间的空闲流量期间发送 DPD 探测。

NAT-T

网络地址转换-遍历 (NAT-T) 是一种方法,用于管理当受 IPsec 保护的数据通过配置了 NAT 的设备进行地址转换时遇到的 IP 地址转换相关问题

IPsec WAN 连接

支持内联 IPsec 的 MX 系列路由器在每个 YT ASIC 中有两个数据包转发引擎 (PFE) 切片。每个 PFE 切片都能够提供高达 800Gbps 的带宽。每个 PFE 切片都有两个端口组 (PG),每个 YT 总共有四个 PG

图 3:端口组 Port Groups

每个 PG 支持高达 400Gbps 的带宽,用于常规(非 IPsec 流量)的 WAN 连接。每个 PFE 切片的端口组 0 可支持 IPsec。

每个支持 IPsec 的端口组可以支持高达 300 Gbps 的 IPsec 流量 WAN 连接,而其余 100Gbps 可用于非 IPsec 流量。

您可以使用 show chassis fpc slot-number pic slot-number 显示端口组信息和端口的 WAN 连接状态。

表 2:特定于平台的内联 IPsec 行为

平台

差异

MX304

支持平滑的 LMIC 在线插入和移除

示例:配置点对点内联 IPSec 隧道

此示例说明如何配置点对点内联 IPsec 隧道,以便在两个站点之间安全地传输数据。

要求

此示例使用以下硬件和软件组件:

  • 启用了统一服务且所需许可证支持的 MX304 设备。要在设备上启用统一服务,请从 CLI 执行 request system enable unified-services 并重新启动设备。有关详细信息,请参阅(统一服务框架)。

  • MX 系列路由器使用的 Junos OS 24.2R1 或更高版本

概述

图 1 显示了在两个 MX304 对等方(Peer1 和 Peer2)之间建立内联 IPSec 隧道的拓扑。在此示例中,您将在 Peer1 (MX304) 和 Peer2 (MX304) 上配置基于路由的 VPN。Host1 和 Host2 使用 VPN 通过两个主机之间的 Internet 安全地发送流量。

图 4:MX304 设备 Inline IPSec Tunnel between MX304 Devices之间的内联 IPSec 隧道

在此示例中,您将配置内联服务(以在 PIC 上启用内联服务)、服务集、安全策略、接口和 IPv4 默认路由。有关此示例中使用的特定配置参数,请参阅 表 3表 7

表 3:在 PIC 0 上启用内联服务

特征

配置参数

内联服务

内联服务

表 4:Peer1 和 Peer2 的服务集配置

特征

名字

配置参数

服务集

SS1

内部服务接口 (si-0/0/0.0)

外部服务接口 (si-0/0/0.1)

IPsec-VPN ipsec_vpn
表 5:IKE 配置参数

特征

名字

配置参数

建议

ike_prop

身份验证方法:预共享密钥

政策

ike_policy

  • 模式-主

  • 提案ike_prop

  • IKE 策略身份验证方法预共享密钥

网关

ike_gw

  • IKE 策略参考:ike_policy
  • 外部接口:et-0/2/10
  • 网关地址:16.1.1.2
表 6:IPSec 配置参数

特征

名字

配置参数

建议

ike_prop

  • 提案-esp

  • 加密算法-aes-256-gcm

政策

ike_policy

  • 提案参考-ipsec_prop

VPN

ipsec_vpn

  • IKE 网关参考:ike_gw
  • IPsec 策略参考:ipsec_policy
  • 绑定到接口:st0.1
  • 立即建立隧道

表 7:接口和静态路由配置

特征

名字

配置参数

接口

  • ET-0/1/8型

  • et-0/2/10

  • si-0/0/0.0

  • si-0/0/0.1

  • st0.1

  • 1.1.1.1/24

  • 16.1.1.2/24

  • 内部服务域

  • 外部服务域

  • 隧道接口

静态路由

2.2.2.0/24

下一跃点为 st0.1

配置

在此示例中,您将启用内联服务,配置 Peer1 的服务集参数、IKE 和 IPsec 配置参数以及接口和静态路由配置。您可以使用相同的配置,但对 Peer2 上的 IPSec 网关地址、接口地址等进行更改。

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到 [edit] 层级的 CLI 中:

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南中的在配置模式下使用 CLI 编辑器

要在 MX304 路由器上配置内联 IPsec:

  1. 启用内联服务。

  2. 配置服务集

  3. 配置安全 IKE 提议

  4. 配置安全 IKE 策略

  5. 配置安全 IKE 网关

  6. 配置安全 IPsec 提议

  7. 配置安全 IPsec 策略

  8. 配置安全 IPsec VPN

  9. 配置接口。

  10. 配置静态路由

结果

在配置模式下,输入 show security ikeshow security ipsec 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。

验证

执行这些任务以确认内联 IPsec 配置工作正常

验证 IKE 状态

目的

验证 IKE 的状态。

行动

在作模式下,输入 show security ike security-associations 命令。从命令获取索引号之后,请使用 show security ike security-associations index index_number detail 命令。

意义

命令输出 show security ike security-associations 会列出所有活动 IKE SA。如果未列出任何 SA,则表示 IKE 建立存在问题。检查配置中的 IKE 策略参数和外部接口设置。

如果列出了 SA,请查看以下信息:

  • 索引 — 索引值对于每个 IKE SA 都是唯一的,您可以在命令中 show security ike security-associations index detail 用它来获取有关 SA 的更多信息。

  • 远程地址 — 验证远程 IP 地址是否正确

    • UP — 指示已建立 IKE SA。

    • DOWN — 指示建立 IKE SA 时出现问题。

  • 模式 - 验证是否使用了正确的模式

验证配置中的以下各项是否正确:

  • 外部接口(接口必须是接收 IKE 数据包的接口)

  • IKE 策略参数

  • 预共享密钥信息

  • 提议参数(必须在两个对等方上匹配)

命令 show security ike security-associations index 1 detail 会列出有关索引号为 1 的安全关联的其他信息

  • 使用的身份验证和加密算法

  • 辈子

  • 角色信息

验证 IPsec 状态

目的

验证 IPsec 状态

行动

在作模式下,输入 show security ipsec security-associations 命令。从命令获取索引号之后,请使用 show security ipsec security-associations index index_number detail 命令。

意义

命令输出 show security ipsec security-associations 列出以下信息:

  • ID 号为 500001。将此值用于 show security ipsec security-associations index 命令,可获取有关此特定 SA 的更多信息。

  • 有一个 IPsec SA 对使用端口 500,表示未实施任何 NAT 遍历。(NAT 遍历使用端口 4500 或其他随机大编号端口。)

  • 两个方向都会显示 SPI、生存期(以秒为单位)和使用限制(或生存大小,以 KB 为单位)。 3405/unlimited 值 表示生存期将在 3405 秒后过期,未指定生存大小,表示没有限制。生存期可以不相同,因为在建立 VPN 后,IPsec 不依赖于 IKE。

  • Mon 列中的连字符所示,没有为此 SA 启用 VPN 监控。如果启用 VPN 监控, U 表示监控已开启, 而 D 表示监控已关闭。

命令输出 show security ipsec security-associations index 500001 detail 列出以下信息:

  • 本地身份和远程身份组成 SA 的代理 ID。

    代理 ID 不匹配是导致 IPsec 故障的最常见原因之一。如果未列出 IPsec SA,请确认 IPsec 提议(包括代理 ID 设置)对于两个对等方都是正确的。对于基于路由的 VPN,默认代理 ID 为本地 = 0.0.0.0/0,远程 = 0.0.0.0/0。

测试 IPSec 隧道上的流量

目的

验证通过 IPSec 隧道的流量。

行动
  • 将明文 IPv4 流量从主机 1 发送到主机 2,反之亦然。

  • 从主机 1 到主机 2 的流量流:src IP:1.1.1.1 和 dst IP:2.2.2.2

  • 从主机 1 到主机 2 的流量流:src IP:2.2.2.2 和 dst IP:1.1.1.1

意义

在 Peer1 上:

  • 从 Host1 接收的明文 IPv4 流量在发送到 Peer2 之前将被加密

  • 从 Peer2 收到的加密流量在发送到 Host1 之前将被解密

全局查看 IPsec 流量统计数据和错误

目的

查看 IPsec 安全关联的 ESP 和身份验证标头计数器和错误。

行动

在作模式下,输入 show security ipsec statistics 可查看全局级别的统计信息,然后 show security ipsec statistics index index_number 使用 IPsec 索引号命令查看隧道索引级别的统计信息。

意义

如果看到 VPN 中有数据包丢失的问题,请多次运行 show security ipsec statisticsshow security ipsec statistics index index_number 命令以确认加密和解密数据包计数器是否在递增。检查命令输出中是否有任何递增错误计数器。

要清除所有 IPsec 统计信息,请使用命令 clear security ipsec statistics

内联 IPsec 数据包转发

图 5 概括展示了 IP 数据包遍历的概要视图。IP 数据包通过传入接口进入路由器,并进行 ESP 封装。

图 5:IP 数据包转发 - ESP 封装 IP Packet Forwarding-ESP Encapsulation

图 6 展示了 ESP 封装数据包的高级视图,该数据包通过传入接口进入路由器并进行解封装。

图 6:IPsec 数据包转发 - ESP 解封装 IPsec Packet Forwarding-ESP Decapsulation

采用 UDP 封装的内联 IPsec 多路径转发

ESP 流量的 UDP 封装

IPsec 在两个对等方之间提供安全隧道,IPsec 封装数据包的 IP 报头中包含不会更改的隧道端点 IP。这样会在对等方之间选择一条转发路径,如 图 7 所示。当 IPsec 流量在拥有数千台主机的数据中心之间流动时,这种单一路径选择会限制吞吐量。

图 7:具有一条转发路径 IPsec with One Forwarding Path的 IPsec

您可以通过启用 IPsec 数据包的 UDP 封装来克服此问题,这会在 ESP 报头之后附加一个 UDP 报头,如 图 8 所示。这会向中间路由器提供第 3 层和第 4 层信息,并且 IPsec 数据包将通过多条路径进行转发,如 图 9 所示。为服务集启用 UDP 封装。

图 8:附加的 Appended UDP Header UDP 报头
图 9:具有多个转发路径 IPsec with Multiple Forwarding Paths的 IPsec

您可以使用介于 1025 到 65536 之间的值来配置 UDP 目的端口。默认目标端口号为 500。您无法将 4500 配置为目标端口,因为它是众所周知的 NAT 遍历端口。

生成的源端口值介于 49152 到 65535 之间。

UDP 封装支持网络地址转换遍历 (NAT-T)

IPsec 对等方之间的 NAT 设备检测优先于 UDP 封装配置。如果在两个对等方之间配置了 UDP 封装,但在同一对等方之间检测到 NAT,则将实施 NAT 遍历机制。

如果出现以下情况,则入站 IP 数据包将被丢弃:

  • udp-encapsulation 启用,如果接收的 IP 数据包没有 UDP 报头。

  • udp-encapsulation 启用时,如果 UDP 目的端口与配置的端口不同。

  • udp-encapsulation 启用时,如果 UDP 目的端口不是 500 或未配置。

要启用或禁用 UDP 封装并配置 UDP 目标端口:

  1. 配置全局非标准目标端口。这是注册或打开 IPsec 端口所必需的。默认情况下,您无法分配端口 500 和端口 4500,因为它们已绑定到 IPsec。

  2. 在 IKE 网关中启用数据包封装。

  3. 将 UDP 目的端口配置为非标准端口。

使用灵活隧道接口 (FTI) 的第 3 层 VXLAN 流量封装

Junos OS 支持使用 FTI 和 VTEP VXLAN 通过 IPsec 隧道传输 VXLAN 流量。有关更多信息,请参阅 配置灵活的隧道接口了解 VXLAN

内联 IPsec 支持的 IPsec 和 IKE 标准

以下 RFC 提供有关 IPsec、IKE 和相关技术的信息:

  • RFC 2085, 带防重放功能的 HMAC-MD5 IP 验证

  • RFC 2401, 互联网协议安全架构(因 RFC 4301 被淘汰)

  • RFC 2402,IP 认证头 (因 RFC 4302 被淘汰)

  • RFC 2403 HMAC-MD5-96 在 ESP 和 AH 中的用

  • RFC 2404 HMAC-SHA-1-96 在 ESP 和 AH 中的用 法(因 RFC 4305 被淘汰)

  • RFC 2405 带有显式 IV 的 ESP DES-CBC 密码算法

  • RFC 2406 IP 封装安全有效负载 (ESP)( 因 RFC 4303 和 RFC 4305 被淘汰)

  • RFC 2407 ISAKMP 的互联网 IP 安全解释域 (因 RFC 4306 被淘汰)

  • RFC 2408 互联网安全关联和密钥管理协议 (ISAKMP)( 因 RFC 4306 被淘汰)

  • RFC 2409 互联网密钥交换 (IKE)( 因 RFC 4306 被淘汰)

  • RFC 2410 NULL 加密算法及其与 IPsec 的配合使用

  • RFC 2451 ESP CBC 模式密码算法

  • RFC 2560 X.509 互联网公钥基础架构在线证书状态协议 - OCSP

  • RFC 3193 使用 IPsec 保护 L2TP 的安全

  • RFC 3280 互联网 X.509 公钥基础架构证书和证书撤销列表 (CRL) 配置文件

  • RFC 3602 AES-CBC 密码算法及其与 IPsec 的配合使用

  • RFC 3948 IPsec ESP 数据包的 UDP 封装

  • RFC 4106 在 IPsec 封装安全有效负载 (ESP) 中使用 Galois/计数器模式 (GCM)

  • RFC 4210 互联网 X.509 公钥基础架构证书管理协议 (CMP)

  • RFC 4211, 互联网 X.509 公钥基础架构证书请求消息格式 (CRMF)

  • RFC 4301, 互联网协议安全架构

  • RFC 4302,IP 认证头

  • RFC 4303,IP 封装安全有效负载 (ESP)

  • RFC 4305, 封装安全有效负载 (ESP) 和认证头 (AH) 的密码算法实现要求

  • RFC 4306, 互联网密钥交换 (IKEv2) 协议

  • RFC 4307, 互联网密钥交换第 2 版 (IKEv2) 中使用的密码算法

  • RFC 4308,IPsec 密码套件

    Junos OS 中仅支持套件 VPN-A。

  • RFC 4754, 使用椭圆曲线数字签名算法 (ECDSA) 的 IKE 和 IKEv2 验证

  • RFC 4835, 封装安全有效负载 (ESP) 和认证头 (AH) 的密码算法实现要求

  • RFC 5996, 互联网密钥交换协议第 2 版 (IKEv2)( 因 RFC 7296 被淘汰)

  • RFC 7296, 互联网密钥交换协议第 2 版 (IKEv2)

  • RFC 7427, 互联网密钥交换第 2 版 (IKEv2) 中的签名验证

  • RFC 7634、ChaCha20、Poly1305 及其在互联网密钥交换协议 (IKE) 和 IPsec 中的用

  • RFC 8200, 互联网协议版本 6 (IPv6) 规范

Junos OS 部分支持以下用于 IPsec 和 IKE 的 RFC:

  • RFC 3526, 互联网密钥交换 (IKE) 的莫尔模块指数 (MODP) Diffie-Hellman 群组

  • RFC 5114, 用于支持 IETF 标准的附加 Diffie-Hellman 群组

  • RFC 5903, 用于 IKE 和 IKEv2 的素数模椭圆曲线群组 (ECP 群组)

以下 RFC 和互联网草案不定义标准,而是提供有关 IPsec、IKE 和相关技术的信息。IETF 将其分类为“信息性”。

  • RFC 2104,HMAC :用于消息认证的密钥散列

  • RFC 2412,OAKLEY 密钥确定协议

  • RFC 3706, 一种基于流量的不工作互联网密钥交换 (IKE) 对等方检测方法

  • 互联网草案 draft-eastlake-sha2-02.txt, 美国安全散列算法(SHA 和 HMAC-SHA)( 2006 年 7 月到期)

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。

释放
描述
24.4R1
从 Junos OS 24.4R1 版开始,MX10K-LC4800 和 MX10K-LC9600 支持内联 IPsec 服务。
24.2R1
从 Junos OS 24.2R1 版开始,MX304 LMIC 支持内联 IPsec 服务。