IPv6 IPsec VPN
阅读本主题,了解 IPv6 IPsec VPN。
瞻博网络支持手册和自动密钥 IKE 以及用于 IPv6 IPsec VPN 的预共享密钥配置。
使用 功能资源管理器 确认平台和版本对特定功能的支持。
查看 特定于平台的 IPv6 隧道行为 部分,了解与您的平台相关的注意事项。
有关更多信息,请参阅 “其他平台信息” 部分。
IPv6 地址的 VPN 功能支持
基于路由的站点到站点 VPN 隧道具有点对点安全隧道接口,可在 IPv4 in-IPv4、IPv6-in-IPv6、IPv6-in-IPv4 或 IPv4-in-IPv6 隧道模式下运行。IPv6 地址可以位于外部 IP 报头(代表隧道端点)或内部 IP 报头(代表数据包的最终源地址和目标地址)中。
表 1 定义了 VPN 功能中对 IPv6 地址的支持。
功能 |
支持 |
例外情况 |
|---|---|---|
IKE 和 IPsec 支持: |
||
IKEv1 和 IKEv2 |
是 |
除非另有说明,否则所有支持的功能都适用于 IKEv1 和 IKEv2。 |
基于路由的 VPN |
是 |
– |
基于策略的 VPN |
是 |
机箱群集配置中的防火墙不支持基于 IPv6 策略的 VPN。 |
站点到站点 VPN |
是 |
仅支持一对一的站点到站点 VPN。不支持多对一、站点到站点 VPN (NHTB)。不能为 IPv4 隧道中的 IPv4 以外的隧道模式提交 NHTB 配置。 |
动态端点 VPN |
是 |
– |
拨号 VPN |
是 |
– |
AutoVPN |
是 |
在点对点模式下使用安全隧道接口的 AutoVPN 网络支持流量选择器和 IKE 对等方的 IPv6 地址。点对多点模式下的 AutoVPN 支持 IPv6 流量。 |
组 VPN |
否 |
– |
点到点隧道接口 |
是 |
– |
点到多点隧道接口 |
是 |
– |
针对站点到站点 VPN 的中心辐射型方案 |
是 |
– |
带编号和不带编号的隧道接口 |
是 |
– |
单播静态和动态(RIP、OSPF、BGP)路由 |
是 |
– |
组播动态路由 (PIM) |
否 |
– |
虚拟路由器 |
是 |
– |
逻辑系统 |
否 |
– |
自动和手册 SA 及密钥管理 |
是 |
– |
多 SPU |
是 |
– |
机箱群集 |
是 |
- |
统计数据、日志、针对每个隧道进行调试 |
是 |
– |
SNMP MIB |
是 |
– |
本地地址选择 |
是 |
当在 VPN 对等方的物理外部接口上配置同一地址族中的多个地址时,建议您也在 [ |
环路地址终止 |
是 |
– |
通过 IPv6 实现 Xauth 或 modecfg |
否 |
– |
SPC 插件 |
是 |
– |
ISSU |
是 |
– |
DNS 名称作为 IKE 网关地址 |
是 |
与 IPv4 隧道一样,IPv6 隧道不支持在 DNS 名称中更改对等网关地址。 |
预共享密钥或证书身份验证 |
是 |
– |
IPv4 IKE 对等方的 NAT 遍历 (NAT-T) |
是 |
NAT-T 仅支持带有 IKEv1 的 IPv6 in-IPv4 和 IPv4-in-IPv4 隧道模式。不支持 IPv6 中的 IPv6 和 IPv6 中的 IPv4 隧道模式。NAT-T 不支持 IKEv2。不支持 从 IPv6 到 IPv4 或从 IPv4 到 IPv6 的 NAT-T。 |
不工作对等方检测 (DPD) 和 DPD 网关故障切换 |
是 |
DPD 网关故障切换仅支持同一家族中的不同网关地址。不支持从 IPv6 网关地址故障转移到 IPv4 网关地址,反之亦然。 |
加密集、身份验证算法和 DH 组 |
是 |
– |
IPv6 和 IPv4 通用提议和策略 |
是 |
– |
通用 IKE ID |
是 |
– |
ESP 和 AH 传送模式 |
否 |
IPv4 不支持这些模式。 |
ESP 和 AH 隧道模式 |
是 |
不支持具有可变扩展报头和选项的 AH 隧道模式。 |
扩展序列号 |
否 |
– |
单个代理 ID 对 |
是 |
– |
多流量选择器对 |
是 |
仅支持 IKEv1。 |
IKE 或 IPsec SA 的生存期(以秒为单位) |
是 |
– |
IKE SA 的生存期(以千字节为单位) |
是 |
– |
VPN 监控 |
否 |
无法提交带有 IPv6 隧道的配置。 |
DF 位 |
是 |
对于 IPv6 隧道中的 IPv6,仅当在 [ |
通过单个物理接口实现双堆栈(并行 IPv4 和 IPv6 隧道) |
是 |
适用于基于路由的站点到站点 VPN。单个 IPv4 隧道可以在 IPv4 中的 IPv4 和 IPv4 中的 IPv6 隧道模式下运行,单个 IPv6 隧道可以在 IPv6 中的 IPv4 和 IPv6 中的 IPv6 隧道模式下运行。 |
IPv6 扩展报头 |
是 |
接受 IKE 和 IPsec 数据包的 IPv6 扩展报头和 IPv4 选项,但不予处理。不支持具有可变 EH 和选项的 AH。 |
分段和重装 |
是 |
– |
VPN 会话关联 |
是 |
– |
组播流量 |
否 |
– |
隧道 IP 服务(筛选、NAT、ALG、IPS、AppSecure) |
是 |
– |
通过隧道对 IPv6 分段进行数据包重新排序 |
否 |
– |
可通过 st0 接口上的 OSPFv3 路由实现双向转发检测 (BFD) |
否 |
– |
通过 st0 接口使用的邻接方发现协议 (NDP) |
否 |
– |
PKI 支持: |
||
虚拟路由器中的 PKI |
是 |
– |
RSA 签名身份验证(密钥大小为 512、1024、2048 或 4096) |
是 |
– |
DSA 签名身份验证(1024、2048 或 4096 位密钥大小) |
是 |
– |
ECDSA 签名 |
是 |
– |
证书链身份验证 |
否 |
– |
自动或手册 IPv4 注册 |
是 |
– |
自动或手册 IPv4 撤销 |
是 |
– |
自动或手册 IPv6 注册 |
否 |
– |
自动或手册 IPv6 撤销 |
否 |
– |
PKI 证书字段内的 IPv6 地址 |
否 |
– |
也可以看看
了解 IPv6 IKE 和 IPsec 数据包处理
本主题包含以下部分:
IPv6 IKE 数据包处理
互联网密钥交换 (IKE) 是 IPsec 协议套件的一部分。它会自动使两个隧道端点能够建立安全关联 (SA) 并相互协商密钥。无需手动配置安全参数。IKE 还为通信对等方提供身份验证。
IPv6 网络中的 IKE 数据包处理涉及以下元素:
-
互联网安全性关联和密钥管理协议 (ISAKMP) 识别有效负载
ISAKMP 识别有效负载用于识别和验证正在通信的 IPv6 对等方。为 IPv6 启用了两种 ID 类型(ID_IPV6_ADDR 和 ID_IPV6_ADDR_SUBNET)。ID 类型表示要使用的标识类型。ID_IPV6_ADDR类型指定一个 16 个八位字节的 IPv6 地址。此 ID 类型表示 IPv6 地址。ID_IPV6_ADDR_SUBNET类型指定由两个 16 个八位位组值表示的 IPv6 地址范围。此 ID 类型表示 IPv6 网络掩码。 表 2 列出了识别有效负载中的 ID 类型及其分配值。
表 2:ISAKMP ID 类型及其值 ID 类型
value
保留
0
ID_IPV4_ADDR
1
ID_FQDN
2
ID_USER_FQDN
3
ID_IPV4_ADDR_SUBNET
4
ID_IPV6_ADDR
5
ID_IPV6_ADDR_SUBNET
6
ID_IPV4_ADDR_RANGE
7
ID_IPV6_ADDR_RANGE
8
ID_DER_ASN1_DN
9
ID_DER_ASN1_GN
10
ID_KEY_ID
11
ID_LIST
12
ID_IPV6_ADDR_RANGE类型指定由两个 16 个八位字节值表示的 IPv6 地址范围。第一个八位位组值表示起始 IPv6 地址,第二个八位位组值表示范围内的结束 IPv6 地址。介于第一个和最后一个 IPv6 地址之间的所有 IPv6 地址都被视为列表中的一部分。
此版本中不支持 ISAKMP 识别有效负载中的两种 ID 类型(ID_IPV6_ADDR_RANGE 和 ID_IPV4_ADDR_RANGE)。
-
代理 ID
在 IKE 协商的第 2 阶段使用代理 ID。它在建立 IPsec 隧道之前生成。代理 ID 标识要用于 VPN 的 SA。将生成两个代理 ID - 本地代理 ID 和远程代理 ID。本地代理 ID 是指本地 IPv4 或 IPv6 地址/网络和子网掩码。远程代理 ID 是指远程 IPv4 或 IPv6 地址/网络和子网掩码。
-
安全性关联
SA 是 VPN 参与方之间为支持安全通信而达成的协议。SA 根据三个参数进行区分:安全参数索引 (SPI)、目标 IPv6 地址和安全协议(AH 或 ESP)。SPI 是分配给 SA 的唯一值,用于帮助在多个 SA 中识别 SA。在 IPv6 数据包中,SA 通过外部 IPv6 报头中的目标地址标识,而安全协议则通过 AH 或 ESP 报头来识别。
IPv6 IPsec 数据包处理
IKE 协商完成且两个 IKE 网关已建立第 1 阶段和第 2 阶段 SA 后,IPv6 IPsec 将采用身份验证和加密技术来保护 IPv6 数据包。由于 IPv6 地址的长度为 128 位,而 IPv4 地址的长度为 32 位,因此 IPv6 IPsec 数据包处理需要更多资源。
不支持通过隧道对 IPv6 分段进行数据包重新排序。
具有 IPv6 寻址的设备不执行分段。IPv6 主机应执行路径 MTU 发现或发送小于 IPv6 最小 MTU 大小 1280 字节的数据包。
本主题包含以下部分:
IPv6 中的 AH 协议
AH 协议为 IPv6 数据包提供数据完整性和数据身份验证。IPv6 IPsec 使用扩展报头(例如,逐跳和路由选项),必须在 IPv6 数据报中以特定方式排列这些报头。在 AH 隧道模式下,AH 报头紧跟在新的外部 IPv6 报头之后,与 IPv4 AH 隧道模式类似。扩展标头放置在原始内部标头之后。因此,在 AH 隧道模式下,整个数据包的封装方式是添加一个新的外部 IPv6 报头,然后是身份验证报头、内部报头、扩展报头和原始数据报的其余部分,如 图 1 所示。
与 ESP 不同,AH 身份验证算法涵盖外部标头以及任何新的扩展标头和选项。
防火墙上的 AH 隧道模式不支持 IPv4 可变选项或 IPv6 可变扩展报头。请参阅 了解 IPv6 IKE 和 IPsec 数据包处理。
IPv6 中的 ESP 协议
ESP 协议为 IPv6 数据包提供加密和身份验证。由于 IPv6 IPsec 在 IPv6 数据报中使用扩展标头(例如,逐跳和路由选项),因此 IPv6 ESP 隧道模式与 IPv4 ESP 隧道模式之间最重要的区别在于扩展标头在数据包布局中的位置。在 ESP 隧道模式下,ESP 报头紧跟在新的外部 IPv6 报头之后,与 IPv4 ESP 隧道模式中的报头类似。因此,在 ESP 隧道模式下,整个数据包的封装方式是添加一个新的外部 IPv6 报头,然后添加一个 ESP 报头、一个内部报头、扩展报头以及原始数据报的其余部分,如 图 2 所示。
带有 AH 和 ESP 的 IPv4 选项和 IPv6 扩展报头
可以在防火墙上接收带有 IPv4 选项或 IPv6 扩展报头的 IPsec 数据包进行解封装。
有关更多信息,请参阅 “其他平台信息” 部分。
下表显示了防火墙上的 ESP 或 AH 协议支持的 IPv4 选项或 IPv6 扩展报头。如果收到不受支持的 IPsec 数据包,则 ICV 计算将失败,数据包将被丢弃。
IPv6 中的完整性检查值计算
AH 协议通过计算数据包内容的完整性校验值 (ICV) 来验证 IPv6 数据包的完整性。ICV 通常建立在 MD5 或 SHA-1 等身份验证算法之上。IPv6 ICV 计算与 IPv4 中的计算不同之处在于两个报头字段:可变报头和可选扩展报头。
您可以通过 IPv6 标头字段计算 AH ICV,这些字段在传输过程中不可变,或在到达隧道端点时值可预测。您还可以通过 AH 报头计算 AH ICV 和上层协议数据(被视为在传输过程中不可变)。您可以计算整个 IPv6 数据包的 ESP ICV,不包括新的外部 IPv6 报头和可选扩展报头。
与 IPv4 不同的是,IPv6 有一种方法,可将选项标记为传输过程中可变。IPv6 可选扩展报头包含指示可变性的标志。此标志确定适当的处理方式。
AH 协议不支持 IPv4 可变选项和 IPv6 扩展报头。
隧道模式下的报头构建
在隧道模式下,外部 IPv4 或 IPv6 报头的源地址和目的地址表示隧道端点,而内部 IPv4 或 IPv6 报头的源地址和目的地址表示最终源地址和目标地址。 表 3 总结了对于 IPv6 中的 IPv6 或 IPv6 中的 IPv4 隧道模式,外部 IPv6 报头与内部 IPv6 或 IPv4 报头的关系。在外部标头字段中,“构造”表示外部标头字段的值独立于内部标头字段中的值构造。
| 标头字段 |
封装器的外部接头 |
解封装器的内部接头 |
|---|---|---|
| 版本 |
6. |
没有变化。 |
| DS 字段 |
从内页眉复制而来。 |
没有变化。 |
| ECN 字段 |
从内页眉复制而来。 |
构造。 |
| 流标签 |
0. |
没有变化。 |
| 有效负载长度 |
构造。 |
没有变化。 |
| 下一个报头 |
AH、ESP 和路由标头。 |
没有变化。 |
| 跳跃限制 |
64. |
递减。 |
| SRC 地址 |
构造。 |
没有变化。 |
| 目的地地址 |
构造。 |
没有变化。 |
| 扩展报头 |
从未复制过。 |
没有变化。 |
表 4 总结了对于 IPv4 中的 IPv6 或 IPv4 中的 IPv4 隧道模式,外部 IPv4 报头与内部 IPv6 或 IPv4 报头的关系。在外部标头字段中,“构造”表示外部标头字段的值独立于内部标头字段中的值构造。
| 标头字段 |
外部标头 |
内报头 |
|---|---|---|
| 版本 |
4. |
没有变化。 |
| 标头长度 |
构造。 |
没有变化。 |
| DS 字段 |
从内页眉复制而来。 |
没有变化。 |
| ECN 字段 |
从内页眉复制而来。 |
构造。 |
| 总长度 |
构造。 |
没有变化。 |
| ID |
构造。 |
没有变化。 |
| 标志(DF、MF) |
构造。 |
没有变化。 |
| 片段偏移 |
构造。 |
没有变化。 |
| TTL |
64. |
递减。 |
| 协议 |
AH、ESP |
没有变化。 |
| 校验和 |
构造。 |
构造。 |
| SRC 地址 |
构造。 |
没有变化。 |
| 目的地地址 |
构造。 |
没有变化。 |
| 选项 |
从未复制过。 |
没有变化。 |
对于 IPv4 隧道模式中的 IPv6,默认情况下会清除不分段 (DF) 位。如果在 [edit security ipsec vpn vpn-name ] 层次结构级别为相应的 IPv4 VPN 配置了或df-bit copy选项,则 df-bit set DF 位将在外部 IPv4 报头中设置。
对于 IPv4 中的 IPv4 隧道模式,外部 IPv4 报头中的 DF 位基于为内部 IPv4 报头配置的 df-bit 选项。如果未为内部 IPv4 报头配置 ,则 df-bit 会在外部 IPv4 报头中清除 DF 位。
也可以看看
IPv6 IPsec 配置概述
瞻博网络支持手册和自动密钥 IKE 以及用于 IPv6 IPsec VPN 的预共享密钥配置。
AutoKey IKE VPN — 在 autoKey IKE VPN 配置中,将使用 autoKey IKE 机制自动创建密钥和 SA。要设置 IPv6 autoKey IKE VPN,需要进过两个协商阶段:第 1 阶段和第 2 阶段。
第 1 阶段 — 在此阶段,参与方建立用于协商 IPsec SA 的安全通道。
第 2 阶段 — 在此阶段,参与方协商 IPsec SA,以便对 IPv6 数据包进行身份验证和加密。
有关第 1 阶段和第 2 阶段协商的详细信息,请参阅 互联网密钥交换
也可以看看
示例:配置 IPv6 IPsec 手动 VPN
此示例说明如何配置 IPv6 IPsec 手册 VPN。
要求
开始之前:
了解 VPN 的工作原理。请参阅 IPsec 概述。
了解 IPv6 IPsec 数据包处理。请参阅 了解 IPv6 IKE 和 IPsec 数据包处理。
概述
在手动 VPN 配置中,密钥在两个 IPsec 端点上手动配置。
在此示例中,您将:
为名为 vpn-sunnyvale 的 VPN 配置身份验证参数。
配置 vpn-sunnyvale 的加密参数。
指定 SA 的传出接口。
指定对等方的 IPv6 地址。
定义 IPsec 协议。选择 ESP 协议,因为配置包括身份验证和加密。
配置安全参数索引 (SPI)。
配置
过程
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit
set security ipsec vpn vpn-sunnyvale manual authentication algorithm hmac-md5–96 key ascii-text “$ABC123” set security ipsec vpn vpn-sunnyvale manual encryption algorithm 3des-cbc key ascii-text “$ABC123” set security ipsec vpn vpn-sunnyvale manual external-interface ge-0/0/14.0 set security ipsec vpn vpn-sunnyvale manual gateway 2001:db8:1212::1112 set security ipsec vpn vpn-sunnyvale manual protocol esp set security ipsec vpn vpn-sunnyvale manual spi 12435
分步程序
下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅《CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置安全算法:
配置身份验证参数。
[edit security ipsec vpn vpn-sunnyvale manual] user@host# set authentication algorithm hmac-md5–96 key ascii-text “$ABC123”
配置加密参数。
[edit security ipsec vpn vpn-sunnyvale manual] user@host# set encryption algorithm 3des-cbc key ascii-text “$ABC123”
指定 SA 的传出接口。
[edit security ipsec vpn vpn-sunnyvale manual] user@host# set external-interface ge-0/0/14.0
指定对等方的 IPv6 地址。
[edit security ipsec vpn vpn-sunnyvale manual] user@host# set gateway 2001:db8:1212::1112
定义 IPsec 协议。
[edit security ipsec vpn vpn-sunnyvale manual] user@host# set protocol esp
配置 SPI。
[edit security ipsec vpn vpn-sunnyvale manual] user@host# set spi 12435
结果
在配置模式下,输入 show security ipsec vpn vpn-sunnyvale 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
[user@host]show security ipsec vpn vpn-sunnyvale
manual {
gateway 2001:db8:1212::1112 ;
external-interface ge-0/0/14.0 ;
protocol esp ;
spi 12435 ;
authentication {
algorithm hmac-md5-96 ;
key ascii-text $ABC123” ;## SECRET DATA
}
encryption {
algorithm 3des-cbc ;
key ascii-text $ABC123”; ## SECRET DATA
}
}
示例:配置基于 IPv6 AutoKey IKE 策略的 VPN
此示例说明如何配置基于策略的 IPv6 AutoKey IKE VPN,以便在分支办事处和企业办公室之间安全地传输 IPv6 数据。
防火墙在独立模式下支持基于策略的 IPv6 VPN。.
要求
此示例使用以下硬件:
-
支持该功能的防火墙。
开始之前:
-
了解 VPN 的工作原理。请参阅 IPsec 概述。
-
了解 IPv6 IKE 和 IPsec 数据包处理。请参阅 了解 IPv6 IKE 和 IPsec 数据包处理。
概述
在此示例中,您为伊利诺伊州芝加哥的分支办事处配置基于 IPv6 IKE 策略的 VPN,因为您无需节省隧道资源或配置许多安全策略来过滤通过隧道的流量。芝加哥办事处的用户将使用 VPN 连接到位于加利福尼亚桑尼维尔的公司总部。
图 3 显示了基于 IPv6 IKE 策略的 VPN 拓扑示例。在此拓扑中,一个防火墙位于森尼维尔,另一个防火墙位于芝加哥。
在此示例中,您将配置接口、IPv6 默认路由、安全区域和地址簿。然后,配置 IKE 第 1 阶段、IPsec 第 2 阶段、安全策略和 TCP-MSS 参数。参见 表 5 至 表 9。
| 功能 |
姓名 |
配置参数 |
|---|---|---|
| 接口 |
ge-0/0/14.0 |
2001:db8:3::1/96 |
| ge-0/0/15.0 |
2001:db8:0:2::1/96 |
|
| 安全性区域 |
信任 |
|
| 不信任 |
|
|
| 通讯簿条目 |
森尼维尔 |
|
| 芝加哥 |
|
| 功能 |
姓名 |
配置参数 |
|---|---|---|
| 提议 |
IPv6-IKE-Phase1-提议 |
|
| 策略 |
IPv6-IKE-Phase1-Policy |
|
| 网关 |
gw-芝加哥 |
|
| 功能 |
姓名 |
配置参数 |
|---|---|---|
| 提议 |
IPv6-IPsec-phase2-提议 |
|
| 策略 |
IPv6-IPsec-phase2-policy |
|
| VPN |
IPv6-IKE-VPN-芝加哥 |
|
| 目的 |
姓名 |
配置参数 |
|---|---|---|
| 此安全策略允许从“信任”区域到“非信任”区域的流量。 |
IPv6-vpn-tr-untr |
|
| 此安全策略允许从“不信任”区域到“信任”区域的流量。 |
IPv6-vpn-untr-tr |
|
| 此安全策略允许从“信任”区域到“不信任”区域的所有流量。 您必须将 ipv6-vpn-tr-untr 策略放在 permit-any 安全策略之前。Junos OS 会从列表顶部开始执行安全策略查找。如果 permit-any 策略位于 ipv6-vpn-tr-untr 策略之前,则来自信任区域的所有流量都将与 permit-any 策略匹配并被允许。因此,任何流量都不会与 ipv6-vpn-tr-untr 策略匹配。 |
允许-任何 |
|
| 目的 |
配置参数 |
|---|---|
| TCP-MSS 作为 TCP 三次握手的一部分进行协商,并限制 TCP 分段的最大大小,以便更好地适应网络上的 MTU 限制。这对于 VPN 流量尤为重要,因为 IPsec 封装开销以及 IP 和帧开销会导致生成的 ESP 数据包超过物理接口的 MTU,从而导致分段。分段会导致带宽和设备资源的使用增加。 建议将 1350 作为大多数基于以太网且 MTU 为 1500 或更高的网络的起点值。您可能需要试验不同的 TCP-MSS 值,以获得最佳性能。例如,如果路径中任何设备的 MTU 较低,或者存在任何额外开销(如 PPP 或帧中继),则可能需要更改该值。 |
MSS 值:1350 |
配置
配置基本网络、安全性区域和地址簿信息
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit
set interfaces ge-0/0/14 unit 0 family inet6 address 2001:db8:3::1/96 set interfaces ge-0/0/15 unit 0 family inet6 address 2001:db8:2::1/96 set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1 set security zones security-zone Untrust interfaces ge-0/0/15.0 set security zones security-zone Untrust host-inbound-traffic system-services ike set security zones security-zone Trust interfaces ge-0/0/14.0 set security zones security-zone Trust host-inbound-traffic system-services all set security address-book book1 address Sunnyvale 2001:db8:3::2/96 set security address-book book1 attach zone Trust set security address-book book2 address Chicago 2001:db8:0::2/96 set security address-book book2 attach zone Untrust
分步程序
下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅《CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置基本网络、安全区域和地址簿信息:
-
配置以太网接口信息。
[edit] user@host# set interfaces ge-0/0/14 unit 0 family inet6 address 2001:db8:3::1/96 user@host# set interfaces ge-0/0/15 unit 0 family inet6 address 2001:db8:2::1/96
-
配置静态路由信息。
[edit] user@host# set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1
-
配置不信任安全区域。
[edit] user@host# edit security zones security-zone Untrust
-
为不信任安全区域分配接口。
[edit security zones security-zone Untrust] user@host# set interfaces ge-0/0/15.0
-
为不信任安全区域指定允许的系统服务。
[edit security zones security-zone Untrust] user@host# set host-inbound-traffic system-services ike
-
配置信任安全区域。
[edit] user@host# edit security zones security-zone Trust
-
为信任安全区域分配接口。
[edit security zones security-zone Trust] user@host# set interfaces ge-0/0/14.0
-
为信任安全区域指定允许的系统服务。
[edit security zones security-zone Trust] user@host# set host-inbound-traffic system-services all
-
创建地址簿并为其附加区域。
[edit security address-book book1] user@host# set address Sunnyvale 2001:db8:3::2/96 user@host# set attach zone Trust
-
创建另一个地址簿并为其附加一个区域。
[edit security address-book book2] user@host# set address Chicago 2001:db8:0::2/96 user@host# set attach zone Untrust
结果
在配置模式下,输入 show interfaces、 show routing-options、 show security zones和 show security address-book 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
user@host# show interfaces
ge-0/0/14 {
unit 0 {
family inet6 {
address 2001:db8:3::1/96;
}
}
}
ge-0/0/15 {
unit 0 {
family inet6 {
address 2001:db8:2::1/96;
}
}
}
[edit]
user@host# show routing-options
static {
route 0.0.0.0/0 next-hop 10.1.1.1;
}
[edit]
user@host# show security zones
security-zone Untrust {
host-inbound-traffic {
system-services {
ike;
}
}
interfaces {
ge-0/0/15.0;
}
}
security-zone Trust {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-0/0/14.0;
}
}
[edit]
user@host# show security address-book
book1 {
address Sunnyvale 2001:db8:3::2/96;
attach {
zone Trust;
}
}
book2 {
address Chicago 2001:db8:0::2/96;
attach {
zone Untrust;
}
}
如果完成设备配置,请从配置模式进入。commit
配置 IKE
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit
set security ike proposal ipv6-ike-phase1-proposal authentication-method pre-shared-keys set security ike proposal ipv6-ike-phase1-proposal dh-group group2 set security ike proposal ipv6-ike-phase1-proposal authentication-algorithm sha1 set security ike proposal ipv6-ike-phase1-proposal encryption-algorithm aes-128-cbc set security ike policy ipv6-ike-phase1-policy mode aggressive set security ike policy ipv6-ike-phase1-policy proposals ipv6-ike-phase1-proposal set security ike policy ipv6-ike-phase1-policy pre-shared-key ascii-text 1111111111111111 set security ike gateway gw-chicago external-interface ge-0/0/15.0 set security ike gateway gw-chicago ike-policy ipv6-ike-phase1-policy set security ike gateway gw-chicago address 2001:db8:0:1::1/96
分步程序
下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅《CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置 IKE,请执行以下操作:
-
创建 IKE 第 1 阶段提议。
[edit security ike] user@host# set proposal ipv6-ike-phase1-proposal
-
定义 IKE 提议身份验证方法。
[edit security ike proposal ipv6-ike-phase1-proposal] user@host# set authentication-method pre-shared-keys
-
定义 IKE 提议 Diffie-Hellman 组。
[edit security ike proposal ipv6-ike-phase1-proposal] user@host# set dh-group group2
-
定义 IKE 提议身份验证算法。
[edit security ike proposal ipv6-ike-phase1-proposal] user@host# set authentication-algorithm sha1
-
定义 IKE 提议加密算法。
[edit security ike proposal ipv6-ike-phase1-proposal] user@host# set encryption-algorithm aes-128-cbc
-
创建 IKE 第 1 阶段策略。
[edit security ike] user@host# set policy ipv6-ike-phase1-policy
-
设置 IKE 第 1 阶段策略模式。
[edit security ike policy ipv6-ike-phase1-policy] user@host# set mode aggressive
-
指定对 IKE 提议的参考。
[edit security ike policy ipv6-ike-phase1-policy] user@host# set proposals ipv6-ike-phase1-proposal
-
定义 IKE 第 1 阶段策略身份验证方法。
[edit security ike policy ipv6-ike-phase1-policy] user@host# set pre-shared-key ascii-text 1111111111111111
-
创建 IKE 第 1 阶段网关并定义其外部接口。
[edit security ike] user@host# set gateway gw-chicago external-interface ge-0/0/15.0
-
定义 IKE 第 1 阶段策略参考。
[edit security ike gateway gw-chicago] user@host# set ike-policy ipv6-ike-phase1-policy
-
为 IKE 第 1 阶段网关分配一个 IP 地址。
[edit security ike gateway gw-chicago] user@host# set address 2001:db8:1::1
结果
在配置模式下,输入 show security ike 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
user@host# show security ike
proposal ipv6-ike-phase1-proposal {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ipv6-ike-phase1-policy {
mode ;
proposals ipv6-ike-phase1-proposal;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway gw-chicago {
ike-policy ipv6-ike-phase1-policy;
address 2001:db8:1::1;
external-interface ge-0/0/15.0;
}
如果完成设备配置,请从配置模式进入。commit
配置 IPsec
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit
set security ipsec proposal ipv6-ipsec-phase2-proposal protocol esp set security ipsec proposal ipv6-ipsec-phase2-proposal authentication-algorithm hmac-sha1-96 set security ipsec proposal ipv6-ipsec-phase2-proposal encryption-algorithm aes-128-cbc set security ipsec policy ipv6-ipsec-phase2-policy proposals ipv6-ipsec-phase2-proposal set security ipsec policy ipv6-ipsec-phase2-policy perfect-forward-secrecy keys group2 set security ipsec vpn ipv6-ike-vpn-chicago ike gateway gw-chicago set security ipsec vpn ipv6-ike-vpn-chicago ike ipv6-ipsec-policy ipsec-phase2-policy
分步程序
下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅《CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置 IPsec:
-
创建 IPsec 第 2 阶段提议。
[edit] user@host# set security ipsec proposal ipv6-ipsec-phase2-proposal
-
指定 IPsec 第 2 阶段提议协议。
[edit security ipsec proposal ipv6- ipsec-phase2-proposal] user@host# set protocol esp
-
指定 IPsec 第 2 阶段提议身份验证算法。
[edit security ipsec proposal ipv6-ipsec-phase2-proposal] user@host# set authentication-algorithm hmac-sha1-96
-
指定 IPsec 第 2 阶段提议加密算法。
[edit security ipsec proposal ipv6-ipsec-phase2-proposal] user@host# set encryption-algorithm aes-128-cbc
-
创建 IPsec 第 2 阶段策略。
[edit security ipsec] user@host# set policy ipv6-ipsec-phase2-policy
-
指定 IPsec 第 2 阶段提议参考。
[edit security ipsec policy ipv6-ipsec-phase2-policy] user@host# set proposals ipv6-ipsec-phase2-proposal
-
指定 IPsec 第 2 阶段 PFS 以使用 Diffie-Hellman 组 2。
[edit security ipsec policy ipv6-ipsec-phase2-policy] user@host# set perfect-forward-secrecy keys group2
-
指定 IKE 网关。
[edit security ipsec] user@host# set vpn ipv6-ike-vpn-chicago ike gateway gw-chicago
-
指定 IPsec 第 2 阶段策略。
[edit security ipsec] user@host# set vpn ipv6-ike-vpn-chicago ike ipsec-policy ipv6-ipsec-phase2-policy
结果
在配置模式下,输入 show security ipsec 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
user@host# show security ipsec
proposal ipv6-ipsec-phase2-proposal {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-128-cbc;
}
policy ipv6-ipsec-phase2-policy {
perfect-forward-secrecy {
keys group2;
}
proposals ipv6-ipsec-phase2-proposal;
}
vpn ipv6-ike-vpn-chicago {
ike {
gateway gw-chicago;
ipsec-policy ipv6-ipsec-phase2-policy;
}
}
如果完成设备配置,请从配置模式进入。commit
配置安全性策略
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit
set security policies from-zone Trust to-zone Untrust policy ipv6-vpn-tr-untr match source-address Sunnyvale set security policies from-zone Trust to-zone Untrust policy ipv6-vpn-tr-untr match destination-address Chicago set security policies from-zone Trust to-zone Untrust policy ipv6-vpn-tr-untr match application any set security policies from-zone Trust to-zone Untrust policy ipv6-vpn-tr-untr then permit tunnel ipsec-vpn ipv6-ike-vpn-chicago set security policies from-zone Trust to-zone Untrust policy ipv6-vpn-tr-untr then permit tunnel pair-policy ipv6-vpn-untr-tr set security policies from-zone Untrust to-zone Trust policy ipv6-vpn-untr-tr match source-address Chicago set security policies from-zone Untrust to-zone Trust policy ipv6-vpn-untr-tr match destination-address Sunnyvale set security policies from-zone Untrust to-zone Trust policy ipv6-vpn-untr-tr match application any set security policies from-zone Untrust to-zone Trust policy ipv6-vpn-untr-tr then permit tunnel ipsec-vpn ipv6-ike-vpn-chicago set security policies from-zone Untrust to-zone Trust policy ipv6-vpn-untr-tr then permit tunnel pair-policy ipv6-vpn-tr-untr set security policies from-zone Trust to-zone Untrust policy permit-any match source-address any set security policies from-zone Trust to-zone Untrust policy permit-any match destination-address any set security policies from-zone Trust to-zone Untrust policy permit-any match application any set security policies from-zone Trust to-zone Untrust policy permit-any then permit insert security policies from-zone Trust to-zone Untrust policy ipv6-vpn-tr-untr before policy permit-any
分步程序
下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅《CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置安全策略:
-
创建安全策略以允许从信任区域到非信任区域的流量。
[edit security policies from-zone Trust to-zone Untrust] user@host# set policy ipv6-vpn-tr-untr match source-address Sunnyvale user@host# set policy ipv6-vpn-tr-untr match destination-address Chicago user@host# set policy ipv6-vpn-tr-untr match application any user@host# set policy ipv6-vpn-tr-untr then permit tunnel ipsec-vpn ipv6-ike-vpn-chicago user@host# set policy ipv6-vpn-tr-untr then permit tunnel pair-policy ipv6-vpn-untr-tr
-
创建安全策略以允许从“不信任”区域到“信任”区域的流量。
[edit security policies from-zone Untrust to-zone Trust] user@host# set policy ipv6-vpn-untr-tr match source-address Sunnyvale user@host# set policy ipv6-vpn-untr-tr match destination-address Chicago user@host# set policy ipv6-vpn-untr-tr match application any user@host# set policy ipv6-vpn-untr-tr then permit tunnel ipsec-vpn ipv6-ike-vpn-chicago user@host# set policy ipv6-vpn-untr-tr then permit tunnel pair-policy ipv6-vpn-tr-untr
-
创建安全策略以允许从信任区域到非信任区域的流量。
[edit security policies from-zone Trust to-zone Untrust] user@host# set policy permit-any match source-address any user@host# set policy permit-any match destination-address any user@host# set policy permit-any match application any user@host# set policy permit-any then permit
-
重新排序安全策略,以便将 vpn-tr-untr 安全策略置于 permit-any 安全策略之上。
[edit security policies from-zone Trust to-zone Untrust] user@host# insert policy ipv6-vpn-tr-untr before policy permit-any
结果
在配置模式下,输入 show security policies 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
user@host# show security policies
from-zone Trust to-zone Untrust {
policy ipv6-vpn-tr-untr {
match {
source-address Sunnyvale;
destination-address Chicago;
application any;
}
then {
permit {
tunnel {
ipsec-vpn ipv6-ike-vpn-chicago;
pair-policy ipv6-vpn-untr-tr;
}
}
}
}
policy permit-any {
match {
source-address any;
destination-address any;
application any;
}
then {
permit
}
}
}
from-zone Untrust to-zone Trust {
policy ipv6-vpn-untr-tr {
match {
source-address Chicago;
destination-address Sunnyvale;
application any;
}
then {
permit {
tunnel {
ipsec-vpn ipv6-ike-vpn-chicago;
pair-policy ipv6-vpn-tr-untr;
}
}
}
}
}
如果完成设备配置,请从配置模式进入。commit
配置 TCP-MSS
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit
set security flow tcp-mss ipsec-vpn mss 1350
分步程序
要配置 TCP-MSS 信息:
-
配置 TCP-MSS 信息。
[edit] user@host# set security flow tcp-mss ipsec-vpn mss 1350
结果
在配置模式下,输入 show security flow 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
user@host# show security flow
tcp-mss {
ipsec-vpn {
mss 1350;
}
}
如果完成设备配置,请从配置模式进入。commit
验证
要确认配置工作正常,请执行以下任务:
验证 IKE 第 1 阶段状态
目的
验证 IKE 第 1 阶段状态。
行动
在开始验证流程之前,您需要从森尼维尔的主机向芝加哥的主机发送流量。对于基于策略的 VPN,流量必须由单独的主机生成;从防火墙发起的流量将与 VPN 策略不匹配。建议测试流量从 VPN 一端的单独设备传输到 VPN 另一端的另一台设备。例如,发起从 2001:db8:3::2/96 到 2001:db8:0::2/96 的 ping。
在操作模式下,输入命令 show security ike security-associations 。从命令获取索引号后,请使用命令 show security ike security-associations index index_number detail 。
user@host> show security ike security-associations Index Remote Address State Initiator cookie Responder cookie Mode 5 2001:db8:1::1 UP e48efd6a444853cf 0d09c59aafb720be Aggressive
user@host> show security ike security-associations index 5 detail
IKE peer 2001:db8:1::1, Index 5,
Role: Initiator, State: UP
Initiator cookie: e48efd6a444853cf, Responder cookie: 0d09c59aafb720be
Exchange type: Aggressive, Authentication method: Pre-shared-keys
Local: 2001:db8:2::1:500, Remote: 2001:db8:1::1:500
Lifetime: Expires in 19518 seconds
Peer ike-id: not valid
Xauth assigned IP: 0.0.0.0
Algorithms:
Authentication : sha1
Encryption : aes-128-cbc
Pseudo random function: hmac-sha1
Traffic statistics:
Input bytes : 1568
Output bytes : 2748
Input packets: 6
Output packets: 23
Flags: Caller notification sent
IPSec security associations: 5 created, 0 deleted
Phase 2 negotiations in progress: 1
Negotiation type: Quick mode, Role: Initiator, Message ID: 2900338624
Local: 2001:db8:2::1:500, Remote: 2001:db8:1::1:500
Local identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Remote identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Flags: Caller notification sent, Waiting for done
意义
该 show security ike security-associations 命令会列出所有活动的 IKE 第 1 阶段安全关联 (SA)。如果未列出任何 SA,则说明第 1 阶段建立存在问题。检查配置中的 IKE 策略参数和外部接口设置。
如果列出了 SA,请查看以下信息:
-
索引 — 此值对于每个 IKE SA 都是唯一的,您可以在命令中使用
show security ike security-associations index index_number detail该值来获取有关 SA 的更多信息。 -
远程地址 — 验证远程 IP 地址是否正确。
-
省/州
-
UP — 第 1 阶段 SA 已建立。
-
DOWN — 建立第 1 阶段 SA 时出现问题。
-
-
模式 — 验证正在使用正确的模式。
验证配置中的以下各项是否正确:
-
外部接口(接口必须是接收 IKE 数据包的接口)
-
IKE 策略参数
-
预共享密钥信息
-
第 1 阶段提议参数(必须在两个对等方上匹配)
该 show security ike security-associations index 5 detail 命令列出了有关索引号为 5 的安全关联的其他信息:
-
使用的身份验证和加密算法
-
第 1 阶段生存期
-
流量统计(可用于验证流量是否在两个方向上正常流动)
-
发起方和响应方角色信息
最好使用响应方角色在对等方上执行故障排除。
-
创建的 IPsec SA 数
-
正在进行的第 2 阶段协商数
验证 IPsec 第 2 阶段状态
目的
验证 IPsec 第 2 阶段状态。
行动
在操作模式下,输入命令 show security ipsec security-associations 。从命令获取索引号后,请使用命令 show security ipsec security-associations index index_number detail 。
user@host> show security ipsec security-associations total configured sa: 2 ID Algorithm SPI Life:sec/kb Mon vsys Port Gateway 2 ESP:aes-128/sha1 14caf1d9 3597/ unlim - root 500 2001:db8:1::1 2 ESP:aes-128/sha1 9a4db486 3597/ unlim - root 500 2001:db8:1::1
user@host> show security ipsec security-associations index 2 detail
Virtual-system: Root
Local Gateway: 2001:db8:2::1, Remote Gateway: 2001:db8:1::1
Local Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Remote Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
DF-bit: clear
Direction: inbound, SPI: 14caf1d9, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 3440 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2813 seconds
Mode: tunnel, Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (128 bits)
Anti-replay service: counter-based enabled, Replay window size: 64
Direction: outbound, SPI: 9a4db486, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 3440 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2813 seconds
Mode: tunnel, Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (128 bits)
Anti-replay service: counter-based enabled, Replay window size: 64
意义
命令 show security ipsec security-associations 输出列出以下信息:
-
ID 号为 2。将此值用于命令,
show security ipsec security-associations index可获取有关此特定 SA 的更多信息。 -
有一个 IPsec SA 对使用端口 500,表示未实施任何 NAT 遍历。(NAT 遍历使用端口 4500 或其他随机大编号端口。)
-
两个方向都会显示 SPI、生存期(以秒为单位)和使用限制(或生存大小,以 KB 为单位)。3597/unlim 值表示第 2 阶段生存期将在 3597 秒后过期,未指定生存大小,表示生存期没有限制。第 2 阶段生存期可以不同于第 1 阶段生存期,因为在建立 VPN 后,第 2 阶段不依赖于第 1 阶段。
-
如 Mon 列中的连字符所示,没有为此 SA 启用 VPN 监控。如果启用了 VPN 监控,则会列出 U(正常)或 D(向下)。
-
虚拟系统 (vsys) 是根系统,始终列出 0。
命令 show security ipsec security-associations index 2 detail 输出列出以下信息:
-
本地和远程身份组成 SA 的代理 ID。
代理 ID 不匹配是导致第 2 阶段故障的最常见原因之一。对于基于策略的 VPN,代理 ID 派生自安全策略。本地地址和远程地址派生自通讯簿条目,服务派生自为策略配置的应用程序。如果第 2 阶段由于代理 ID 不匹配而失败,您可以使用该策略来确认配置了哪些通讯簿条目。验证地址是否与正在发送的信息匹配。检查服务,确保端口与正在发送的信息匹配。
对于某些第三方供应商,必须手动输入代理 ID 以进行匹配。
特定于平台的 IPv6 隧道行为
使用 功能资源管理器 确认平台和版本对特定功能的支持。
使用下表查看平台的特定于平台的行为。
| 平台 | 差异 |
|---|---|
| SRX 系列 |
|
其他平台信息
使用 功能资源管理器 确认平台和版本对特定功能的支持。可能支持其他平台。
| 选项或扩展报头 |
SRX300SRX320SRX340SRX345SRX550HM | SRX5400、SRX5600、SRX5800 |
|---|---|---|
| 具有 IPv4 选项的 ESP |
支持 |
支持 |
| 具有 IPv6 扩展报头的 ESP |
支持 |
支持 |
| 具有 IPv4 不可变选项的 AH |
支持 |
支持 |
| 具有 IPv6 不可变扩展报头的 AH |
支持 |
支持 |
| 具有 IPv4 可变选项的 AH |
不支持 |
不支持 |
| 具有 IPv6 可变扩展报头的 AH |
不支持 |
不支持 |
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。