IPv6 IPsec VPN
瞻博网络支持手动和自动密钥 IKE,并为 IPv6 IPsec VPN 提供预共享密钥配置。
对 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 |
是 |
机箱群集配置中的 SRX 系列防火墙不支持基于 IPv6 策略的 VPN。仅独立 SRX300、SRX320、SRX340、SRX345 和 SRX550HM 设备上的 IPv6-in-IPv6 隧道支持 VPN。 |
站点到站点 VPN |
是 |
仅支持一对一、站点到站点 VPN。不支持多对一、站点到站点 VPN (NHTB)。不能为除 IPv4-in-IPv4 隧道之外的隧道模式提交 NHTB 配置。 |
动态端点 VPN |
是 |
– |
拨号 VPN |
是 |
– |
AutoVPN |
是 |
在点对点模式下使用安全隧道接口的 AutoVPN 网络为流量选择器和 IKE 对等方支持 IPv6 地址。点对多点模式下的 AutoVPN 不支持 IPv6 流量。 |
组 VPN |
否 |
– |
点对点隧道接口 |
是 |
– |
点对多点隧道接口 |
否 |
– |
站点到站点 VPN 的中心辐射型方案 |
是 |
– |
带编号和未编号的隧道接口 |
是 |
– |
单播静态和动态(RIP、OSPF、BGP)路由 |
是 |
– |
组播动态路由 (PIM) |
否 |
– |
虚拟路由器 |
是 |
– |
逻辑系统 |
否 |
– |
自动和手动 SA 及密钥管理 |
是 |
– |
多个 SPU |
是 |
– |
机箱群集 |
是 |
对于基于路由的 IPv6 隧道,仅在 SRX300、SRX320、SRX340、SRX345 和 SRX550HM 设备上支持主动-主动模式的 IPsec VPN。SRX5400、SRX5600 和 SRX5800 设备上不支持采用主动-主动模式的 IPsec VPN。 |
统计数据、日志、按隧道调试 |
是 |
– |
SNMP MIB |
是 |
– |
本地地址选择 |
是 |
在 VPN 对等方的物理外部接口上配置同一地址族中的多个地址时,我们建议您也进行 [ |
环路地址终止 |
是 |
– |
基于 IPv6 的 Xauth 或 modecfg |
否 |
– |
单刀插入件 |
是 |
– |
ISSU |
是 |
– |
DNS 名称作为 IKE 网关地址 |
是 |
与 IPv4 隧道一样,IPv6 隧道不支持 DNS 名称中的对等网关地址更改。 |
预共享密钥或证书身份验证 |
是 |
– |
适用于 IPv4 IKE 对等方的 NAT 遍历 (NAT-T) |
是 |
只有带有 IKEv1 的 IPv6-in-IPv4 和 IPv4-in-IPv4 隧道模式才支持 NAT-T。不支持 IPv6 中的 IPv6 和 IPv4 中的 IPv6 隧道模式。NAT-T 不支持 IKEv2。不支持从 IPv6 到 IPv4 或从 IPv4 到 IPv6 的 NAT-T。 |
失效对等体检测 (DPD) 和 DPD 网关故障转移 |
是 |
DPD 网关故障转移仅支持同一系列中的不同网关地址。不支持从 IPv6 网关地址故障转移到 IPv4 网关地址,反之亦然。 |
适用于 SRX 系列防火墙的 Junos OS 12.1X45-D10 版支持的加密集、身份验证算法和 DH 组。 |
是 |
– |
IPv6 和 IPv4 的通用提议和策略 |
是 |
– |
通用 IKE ID |
是 |
– |
ESP 和 AH 传输模式 |
否 |
IPv4 不支持这些模式。 |
ESP 和 AH 隧道模式 |
是 |
不支持具有可变扩展标头和选项的 AH 隧道模式。 |
扩展序列号 |
否 |
– |
单个代理 ID 对 |
是 |
– |
多个流量选择器对 |
是 |
仅受 IKEv1 支持。 |
IKE 或 IPsec SA 的生存期(以秒为单位) |
是 |
– |
IKE SA 的生存期(以千字节为单位) |
是 |
– |
VPN 监控 |
否 |
无法提交使用 IPv6 隧道进行的配置。 |
DF 位 |
是 |
对于 IPv6-in-IPv6 隧道,仅当在 [ |
通过单个物理接口实现双堆栈(并行 IPv4 和 IPv6 隧道) |
是 |
适用于基于路由的站点到站点 VPN。单个 IPv4 隧道可以同时在 IPv4 in-IPv4 和 IPv6-in-IPv4 隧道模式下运行,单个 IPv6 隧道可以在 IPv4-in-IPv6 和 IPv6-in-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 类型及其值 证件类型
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)。
代理编号
在 IKE 协商的第 2 阶段使用代理 ID。它是在建立 IPsec 隧道之前生成的。代理 ID 标识要用于 VPN 的 SA。将生成两个代理 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 身份验证算法涵盖外部标头以及任何新的扩展标头和选项。
SRX 系列防火墙上的 AH 隧道模式不支持 IPv4 可变选项或 IPv6 可变扩展标头。请参阅 表 3。
IPv6 中的 ESP 协议
ESP 协议为 IPv6 数据包提供加密和身份验证。由于 IPv6 IPsec 在 IPv6 数据报中使用扩展标头(例如,逐跳和路由选项),因此 IPv6 ESP 隧道模式与 IPv4 ESP 隧道模式之间最重要的区别在于扩展标头在数据包布局中的位置。在 ESP 隧道模式下,ESP 报头紧跟在新的外部 IPv6 报头之后,与 IPv4 ESP 隧道模式中的报头类似。因此,在 ESP 隧道模式下,通过添加新的外部 IPv6 报头、后跟一个 ESP 报头、一个内部报头、扩展报头以及原始数据报的其余部分来封装整个数据包,如 所示 图 2。
带有 AH 和 ESP 的 IPv4 选项和 IPv6 扩展报头
可以在 SRX 系列防火墙上接收带有 IPv4 选项或 IPv6 扩展标头的 IPsec 数据包以进行解封装。 表 3 显示了 SRX 系列防火墙上的 ESP 或 AH 协议支持的 IPv4 选项或 IPv6 扩展标头。如果收到不受支持的 IPsec 数据包,ICV 计算将失败并丢弃数据包。
选项或扩展标头 |
SRX300、SRX320、SRX340、SRX345 和SRX550HM设备 |
SRX5400、SRX5600和SRX5800设备 |
---|---|---|
具有 IPv4 选项的 ESP |
支持 |
支持 |
具有 IPv6 扩展报头的 ESP |
支持 |
支持 |
具有 IPv4 不可变选项的 AH |
支持 |
支持 |
具有 IPv6 不可变扩展报头的 AH |
支持 |
支持 |
具有 IPv4 可变选项的 AH |
不支持 |
不支持 |
具有 IPv6 可变扩展报头的 AH |
不支持 |
不支持 |
IPv6 中的完整性检查值计算
AH 协议通过计算数据包内容的完整性检查值 (ICV) 来验证 IPv6 数据包的完整性。ICV 通常基于 MD5 或 SHA-1 等身份验证算法构建。IPv6 ICV 的计算在两个报头字段(可变报头和可选扩展报头)方面与 IPv4 中的计算不同。
您可以通过 IPv6 报头字段计算 AH ICV,这些字段在传输中是不可变的,或者在到达隧道端点时可预测其值。您还可以通过 AH 报头和上层协议数据(在传输过程中被视为不可变)计算 AH ICV。您可以计算整个 IPv6 数据包(不包括新的外部 IPv6 报头和可选扩展报头)的 ESP ICV。
与 IPv4 不同,IPv6 具有一种将选项标记为传输中可变的方法。IPv6 可选扩展标头包含一个指示可变性的标志。此标志确定适当的处理。
AH 协议不支持 IPv4 可变选项和 IPv6 扩展标头。
隧道模式下的标头构造
在隧道模式下,外部 IPv4 或 IPv6 报头的源地址和目标地址表示隧道端点,而内部 IPv4 或 IPv6 报头的源地址和目标地址表示最终源地址和目标地址。 表 4 总结了对于 IPv6-in-IPv6 或 IPv4-in-IPv6 隧道模式,外部 IPv6 报头与内部 IPv6 或 IPv4 报头的关系。在外部标头字段中,“构造”表示外部标头字段的值独立于内部标头字段中的值构造。
标题字段 |
封装器上的外部标头 |
解封器上的内接头 |
---|---|---|
版本 |
6. |
没有变化。 |
DS 字段 |
从内部标头复制。 |
没有变化。 |
ECN 字段 |
从内部标头复制。 |
构建。 |
流标签 |
0. |
没有变化。 |
有效负载长度 |
构建。 |
没有变化。 |
下一个标题 |
AH、ESP 和路由标头。 |
没有变化。 |
跃点限制 |
64. |
递减。 |
SRC 地址 |
构建。 |
没有变化。 |
目的地地址 |
构建。 |
没有变化。 |
扩展标头 |
从未复制过。 |
没有变化。 |
表 5 总结了对于 IPv6-in-IPv4 或 IPv4-in-IPv4 隧道模式,外部 IPv4 标头与内部 IPv6 或 IPv4 标头之间的关系。在外部标头字段中,“构造”表示外部标头字段的值独立于内部标头字段中的值构造。
标题字段 |
外部标头 |
内部标头 |
---|---|---|
版本 |
4. |
没有变化。 |
标头长度 |
构建。 |
没有变化。 |
DS 字段 |
从内部标头复制。 |
没有变化。 |
ECN 字段 |
从内部标头复制。 |
构建。 |
总长度 |
构建。 |
没有变化。 |
编号 |
构建。 |
没有变化。 |
标志(DF、MF) |
构建。 |
没有变化。 |
片段偏移量 |
构建。 |
没有变化。 |
TTL |
64. |
递减。 |
协议 |
啊,哎呀 |
没有变化。 |
校验和 |
构建。 |
构建。 |
SRC 地址 |
构建。 |
没有变化。 |
目的地地址 |
构建。 |
没有变化。 |
选项 |
从未复制过。 |
没有变化。 |
对于 IPv4 中的 IPv6 隧道模式,默认情况下会清除不分段 (DF) 位。如果在相应 IPv4 VPN 的 [] 层次结构级别配置了 df-bit set
或 df-bit copy
edit security ipsec vpn vpn-name
选项,则会在外部 IPv4 标头中设置 DF 位。
对于 IPv4 中的 IPv4 隧道模式,外部 IPv4 报头中的 DF 位基于 df-bit
为内部 IPv4 报头配置的选项。如果未为内部 IPv4 报头配置,则会 df-bit
清除外部 IPv4 报头中的 DF 位。
另请参阅
IPv6 IPsec 配置概述
瞻博网络支持手动和自动密钥 IKE,并为 IPv6 IPsec VPN 提供预共享密钥配置。
AutoKey IKE VPN — 在 autoKey IKE VPN 配置中,将使用 autoKey IKE 机制自动创建密钥和 SA。要设置 IPv6 自动密钥 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-森尼维尔的加密参数。
指定 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 自动密钥 IKE 基于策略的 VPN
此示例说明如何配置基于策略的 IPv6 AutoKey IKE VPN,以允许在分支机构和公司办公室之间安全地传输 IPv6 数据。
基于 IPv6 策略的 VPN 仅在独立 SRX300、SRX320、SRX340、SRX345 和 SRX550HM 设备上受支持。
要求
此示例使用以下硬件:
-
SRX300 设备
准备工作:
-
了解 VPN 的工作原理。请参阅 IPsec 概述。
-
了解 IPv6 IKE 和 IPsec 数据包处理。请参阅 了解 IPv6 IKE 和 IPsec 数据包处理。
概述
在此示例中,您为伊利诺伊州芝加哥的分支机构配置基于 IPv6 IKE 策略的 VPN,因为您无需节省隧道资源或配置许多安全策略来过滤通过隧道的流量。芝加哥办事处的用户将使用 VPN 连接到位于加利福尼亚桑尼维尔的公司总部。
图 3 显示了基于 IPv6 IKE 策略的 VPN 拓扑的示例。在此拓扑中,一个 SRX 系列防火墙位于桑尼维尔,另一个 SRX 系列防火墙(可以是第二个 SRX 系列防火墙或第三方设备)位于芝加哥。
在此示例中,您将配置接口、IPv6 默认路由、安全区域和地址簿。然后配置 IKE 阶段 1、IPsec 阶段 2、安全策略和 TCP-MSS 参数。透视 表 6表 10.
功能 |
名称 |
配置参数 |
---|---|---|
接口 |
ge-0/0/14.0 |
2001:db8:3::1/96 |
ge-0/0/15.0 |
2001:db8:0:2::1/96 |
|
安全区域 |
T锈 |
|
U ntrust |
|
|
通讯簿条目 |
Sunnyvale |
|
C芝加哥 |
|
功能 |
名称 |
配置参数 |
---|---|---|
提议 |
IPv6-IKE-Phase 1-提议 |
|
策略 |
IPv6-IKE-phase1-策略 |
|
网关 |
GW-C 芝加哥 |
|
功能 |
名称 |
配置参数 |
---|---|---|
提议 |
IPv6-IPsec-phase2 提议 |
|
策略 |
IPv6-IPsec-phase2-policy |
|
VPN |
IPv6-ike-vpn-chicago |
|
目的 |
名称 |
配置参数 |
---|---|---|
此安全策略允许从信任区域到不信任区域的流量。 |
IPv6-VPN-TR-UNTR |
|
此安全策略允许从不信任区域到信任区域的流量。 |
IPv6-VPN-untr-tr |
|
此安全策略允许从 信任 区域到 不信任 区域的所有流量。 您必须将 ipv6-vpn-tr-untr 策略放在允许任何安全策略之前。Junos OS 从列表顶部开始执行安全策略查找。如果允许任何策略在 ipv6-vpn-tr-untr 策略之前出现,则来自信任区域的所有流量都将与允许任意策略匹配并被允许。因此,没有任何流量会与 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
-
配置 T锈安全区域。
[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 安全策略置于允许任何安全策略之上。
[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,必须由单独的主机生成流量;从 SRX 系列防火墙启动的信息流将与 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 地址是否正确。
-
State
-
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 以进行匹配。