在运行 Junos OS 的设备上配置 VPN
本节介绍使用以下 IKE 身份验证方法在 Junos OS 设备上的 IPsec VPN 配置示例:
图 1 说明了本节所述所有示例中使用的 VPN 拓扑。在这里,H0 和 H1 是主机 PC,R0 和 R2 是 IPsec VPN 隧道的两个端点,R1 是在两个不同网络之间路由流量的路由器。
路由器 R1 可以是基于 Linux 的路由器、瞻博网络设备或任何其他供应商路由器。
表 1 提供了支持的 IKE 协议、隧道模式、第 1 阶段协商模式、身份验证方法或算法、加密算法、IKE 身份验证和加密(第 1 阶段,IKE 建议)以及 IPsec 身份验证和加密(第 2 阶段,IPsec 建议)支持的 DH 组的完整列表。列出的协议、模式和算法是 22.2R2 通用标准支持和必需的。
IKE 协议 |
隧道模式 |
第 1 阶段协商模式 |
第 1 阶段提案(P1、IKE) |
|||
---|---|---|---|---|---|---|
身份验证方法 |
身份验证算法 |
DH集团 |
加密算法 |
|||
IKEv1 |
主要 |
路线 |
预共享密钥 |
SHA-256 |
组14 |
|
IKEv2 |
RSA 签名-2048 |
SHA-384 |
组19 |
AES-128-CBC |
||
ECDSA 签名-256 |
组20 |
AES-128-GCM |
||||
ECDSA 签名-384 |
组24 |
AES-192-CBC |
||||
AES-256-CBC |
||||||
AES-256-GCM |
IKE 协议 |
隧道模式 |
第 1 阶段协商模式 |
第 2 阶段提议(P2、IPsec) |
|||
---|---|---|---|---|---|---|
身份验证算法 |
卫生署集团 |
加密方法 |
加密算法 |
|||
IKEv1 |
主要 |
路线 |
HMAC-SHA1-96 |
组14 |
电除尘器 |
|
IKEv2 |
HMAC-SHA-256-128 |
组19 |
AES-128-CBC |
|||
组20 |
AES-128-GCM |
|||||
组24 |
AES-192-CBC |
|||||
AES-192-GCM |
||||||
AES-256-CBC |
||||||
AES-256-GCM |
以下部分提供了所选算法的 IKEv1 IPsec VPN 示例配置示例。可以在配置中替换身份验证算法,以实现用户所需的配置。将命令用于 set security ike gateway <gw-name> version v2-only
IKEv2 IPsec VPN。
使用 RSA 签名配置 IPsec VPN 以进行 IKE 身份验证
以下部分提供了使用 RSA 签名作为 IKE 身份验证方法为 IPsec VPN 配置 Junos OS 设备的示例,而 IKE/IPsec 身份验证/加密中使用的算法如下表所示。在本节中,您将使用 RSA 签名作为 IKE 身份验证方法,配置运行 Junos OS 的 IPsec VPN 的设备。IKE 或 IPsec 身份验证或加密中使用的算法如 表 2 所示。
每次为 IPsec 身份验证提供证书时,TOE 都会检查 X.509 证书的有效性。为了验证证书,TOE 提取主题、颁发者、主题的公钥、签名、基本约束和有效期字段。如果不存在任何字段,则验证失败。在 PKI 数据库中查找颁发者。如果颁发者不存在,或者颁发者证书在“基本约束”部分中没有 CA:true 标志,则验证将失败。TOE 验证签名的有效性。如果签名无效,验证将失败。然后,如果 TOE 已配置为使用 CRL 执行吊销检查(如 RFC 5280 第 6.3 节中指定),则确认当前日期和时间在证书中指定的有效时间段内。如果 CRL 下载失败,则证书将被视为验证失败,除非已启用下载失败时跳过 CRL 检查的选项。
IKE 协议 |
隧道模式 |
第 1 阶段协商模式 |
第 1 阶段提案(P1、IKE) |
|||
---|---|---|---|---|---|---|
身份验证方法 |
身份验证算法 |
DH集团 |
加密算法 |
|||
IKEv1 |
主要 |
路线 |
RSA 签名-2048 |
SHA-256 |
组19 |
AES-128-CBC |
IKE 协议 |
隧道模式 |
第 1 阶段协商模式 |
第 2 阶段提议(P2、IPsec) |
|||
---|---|---|---|---|---|---|
身份验证算法 |
卫生署集团 |
加密方法 |
加密算法 |
|||
IKEv1 |
主要 |
路线 |
HMAC-SHA-256-128 |
组19 |
电除尘器 |
AES-128-CBC |
将带有 RSA 签名的 IPsec VPN 配置为发起方或响应方上的 IKE 身份验证
要在启动器上使用 RSA 签名 IKE 身份验证配置 IPsec VPN,请执行以下操作:
-
配置 PKI。请参阅 示例:配置 PKI。
-
生成 RSA 密钥对。请参阅 示例:生成公钥-私钥对。
-
生成并加载 CA 证书。请参阅 示例:手动加载 CA 和本地证书。
-
加载 CRL。请参阅 示例:手动将 CRL 加载到设备上 。
-
生成并加载本地证书。请参阅 示例:手动加载 CA 和本地证书。
-
配置 IKE 提议。
[edit security ike] user@host# set proposal ike-proposal1 authentication-method rsa-signatures user@host# set proposal ike-proposal1 dh-group group19 user@host# set proposal ike-proposal1 authentication-algorithm sha-256 user@host# set proposal ike-proposal1 encryption-algorithm aes-128-cbc
注意:可以使用禁用选项禁用吊销检查,也可以选择 crl 选项来配置 CRL 属性。
set security pki ca-profile <profilename>revocation-check crl disable
当 CA 配置文件的 CRL 下载失败时,使用下载失败命令禁用下载失败选项以允许与 CA 配置文件匹配的会话。仅当同一 CA 配置文件中不存在旧 CRL 时,才允许会话。“此处,ike-proposal1 是授权管理员提供的名称。 -
配置 IKE 策略。
[edit security ike] user@host# set policy ike-policy1 mode main user@host# set policy ike-policy1 proposals ike-proposal1 user@host# set policy ike-policy1 certificate local-certificate cert1
注意:此处为
ike-policy1
授权管理员提供的 IKE 策略名称。 -
配置 IPsec 提议。
[edit security ipsec] user@host# set proposal ipsec-proposal1 protocol esp user@host# set proposal ipsec-proposal1 authentication-algorithm hmac-sha-256-128 user@host# set proposal ipsec-proposal1 encryption-algorithm aes-128-cbc
注意:此处是
ipsec-proposal1
授权管理员提供的名称。 -
配置 IPsec 策略。
[edit security ipsec] user@host# set policy ipsec-policy1 perfect-forward-secrecy keys group19 user@host# set policy ipsec-policy1 proposals ipsec-proposal1
注意:此处是
ipsec-policy1
授权管理员提供的名称。 -
配置 IKE。
[edit security ike] user@host# set gateway gw1 ike-policy ike-policy1 user@host# set gateway gw1 address 192.0.2.8 user@host# set gateway gw1 local-identity inet 192.0.2.5 user@host# set gateway gw1 external-interface fe-0/0/1
注意:此处为
192.0.2.8
对等方 VPN 端点 IP、192.0.2.5
本地 VPN 端点 IP,fe-0/0/1
以及作为 VPN 端点的本地出站接口。IKEv2 也需要以下配置。[edit security ike] user@host# set gateway gw1 version v2-only
-
配置 VPN。
[edit security ipsec] user@host# set vpn vpn1 ike gateway gw1 user@host# set vpn vpn1 ike ipsec-policy ipsec-policy1 user@host# set vpn vpn1 bind-interface st0.0
注意:vpn1
下面是授权管理员提供的 VPN 隧道名称。[edit] user@host# set routing-options static route 192.0.2.10/24 qualified-next-hop st0.0 preference 1
-
配置出站流策略。
[edit security policies] user@host# set from-zone trustZone to-zone untrustZone policy policy1 match source-address trustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match destination-address untrustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match application any user@host# set from-zone trustZone to-zone untrustZone policy policy1 then permit user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-init user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-close
注意:此处和
trustZone
untrustZone
是预配置的安全区域和trustLan
和untrustLan
是预配置的网络地址。 -
配置入站流策略。
[edit security policies] user@host# set from-zone untrustZone to-zone trustZone policy policy1 match source-address untrustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match destination-address trustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match application any user@host# set from-zone untrustZone to-zone trustZone policy policy1 then permit user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-init user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-close
注意:此处和
trustZone
untrustZone
是预配置的安全区域和trustLan
预untrustLan
配置的网络地址。 -
提交配置。
[edit] user@host# commit
Web 服务器(示例 Apache 2)可用于在 CRL 服务器上托管 CRL 文件,然后设备可以通过 HTTP 检索这些文件。
使用 ECDSA 签名配置 IPsec VPN 以进行 IKE 身份验证
在本节中,您将使用 ECDSA 签名作为 IKE 身份验证方法,配置运行 Junos OS 的 IPsec VPN 的设备。IKE 或 IPsec 身份验证或加密中使用的算法如 表 2 所示。
IKE 协议 |
隧道模式 |
第 1 阶段协商模式 |
第 1 阶段提案(P1、IKE) |
|||
---|---|---|---|---|---|---|
身份验证方法 |
身份验证算法 |
DH集团 |
加密算法 |
|||
IKEv1 |
主要 |
路线 |
ECDSA 签名-256 |
SHA-384 |
组14 |
AES-256-CBC |
IKE 协议 |
隧道模式 |
第 1 阶段协商模式 |
第 2 阶段提议(P2、IPsec) |
|||
---|---|---|---|---|---|---|
身份验证算法 |
卫生署集团 |
加密方法 |
加密算法 |
|||
IKEv1 |
主要 |
路线 |
无算法 |
组14 |
电除尘器 |
AES-256-GCM |
- 在启动器上使用 ECDSA 签名 IKE 身份验证配置 IPsec VPN
- 在响应程序上使用 ECDSA 签名 IKE 身份验证配置 IPsec VPN
- 配置 IKE SA 的生存期
- 配置 IPsec SA 的生存期
- 配置远程 IKE ID
在启动器上使用 ECDSA 签名 IKE 身份验证配置 IPsec VPN
要在启动器上使用 ECDSA 签名 IKE 身份验证配置 IPsec VPN,请执行以下操作:
-
配置 PKI。请参阅示例 :配置 PKI。
-
生成 ECDSA 密钥对。请参阅 示例:生成公钥-私钥对。
-
生成并加载 CA 证书。请参阅 示例:手动加载 CA 和本地证书。
-
加载 CRL。请参阅 示例:手动将 CRL 加载到设备上 。
-
生成并加载本地证书。请参阅 示例:手动加载 CA 和本地证书。
-
配置 IKE 提议。
[edit security ike] user@host# set proposal ike-proposal1 authentication-method ecdsa-signatures-256 user@host# set proposal ike-proposal1 dh-group group14 user@host# set proposal ike-proposal1 authentication-algorithm sha-384 user@host# set proposal ike-proposal1 encryption-algorithm aes-256-cbc
注意:ike-proposal1
下面是授权管理员提供的 IKE 提议名称。 -
配置 IKE 策略。
[edit security ike] user@host# set policy ike-policy1 mode main user@host# set policy ike-policy1 proposals ike-proposal1 user@host# set policy ike-policy1 certificate local-certificate cert1
-
配置 IPsec 提议。
[edit security ipsec] user@host# set proposal ipsec-proposal1 protocol esp user@host# set proposal ipsec-proposal1 encryption-algorithm aes-256-gcm
注意:ipsec-proposal1
下面是授权管理员提供的 IPsec 提议名称。 -
配置 IPsec 策略。
[edit security ipsec] user@host# set policy ipsec-policy1 perfect-forward-secrecy keys group14 user@host# set policy ipsec-policy1 proposals ipsec-proposal1
注意:此处是
ipsec-policy1
IPsec 策略名称,ipsec-proposal1
也是授权管理员提供的 IPsec 提议名称。 -
配置 IKE。
[edit security ike] user@host# set gateway gw1 ike-policy ike-policy1 user@host# set gateway gw1 address 192.0.2.8 user@host# set gateway gw1 local-identity inet 192.0.2.5 user@host# set gateway gw1 external-interface ge-0/0/2
注意:此处是
gw1
IKE 网关名称,192.0.2.8
是对等方 VPN 端点 IP,192.0.2.5
是本地 VPN 端点 IP,ge-0/0/2
是作为 VPN 端点的本地出站接口。IKEv2 也需要以下配置。[edit security ike] user@host# set gateway gw1 version v2-only
-
配置 VPN。
[edit] user@host# set security ipsec vpn vpn1 ike gateway gw1 user@host# set security ipsec vpn vpn1 ike ipsec-policy ipsec-policy1 user@host# set security ipsec vpn vpn1 bind-interface st0.0 user@host# set routing-options static route 192.0.2.10/24 qualified-next-hop st0.0 preference 1
注意:vpn1
下面是授权管理员提供的 VPN 隧道名称。 -
配置出站流策略。
[edit security policies] user@host# set from-zone trustZone to-zone untrustZone policy policy1 match source-address trustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match destination-address untrustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match application any user@host# set from-zone trustZone to-zone untrustZone policy policy1 then permit user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-init user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-close
注意:此处和
trustZone
untrustZone
是预配置的安全区域和trustLan
预untrustLan
配置的网络地址。 -
配置入站流策略。
[edit security policies] user@host# set from-zone untrustZone to-zone trustZone policy policy1 match source-address untrustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match destination-address trustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match application any user@host# set from-zone untrustZone to-zone trustZone policy policy1 then permit user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-init user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-close
注意:此处和
trustZone
untrustZone
是预配置的安全区域和trustLan
预untrustLan
配置的网络地址。 -
提交配置。
user@host# commit
在响应程序上使用 ECDSA 签名 IKE 身份验证配置 IPsec VPN
要在响应方上使用 ECDSA 签名 IKE 身份验证配置 IPsec VPN,请执行以下操作:
-
配置 PKI。请参阅示例 :配置 PKI。
-
生成 ECDSA 密钥对。请参阅 示例:生成公钥-私钥对。
-
生成并加载 CA 证书。请参阅 示例:手动加载 CA 和本地证书。
-
加载 CRL。请参阅 示例:手动将 CRL 加载到设备上 。
-
配置 IKE 提议。
[edit security ike] user@host# set proposal ike-proposal1 authentication-method ecdsa-signatures-256 user@host# set proposal ike-proposal1 dh-group group14 user@host# set proposal ike-proposal1 authentication-algorithm sha-384 user@host# set proposal ike-proposal1 encryption-algorithm aes-256-cbc
注意:ike-proposal1
下面是授权管理员提供的 IKE 提议名称。 -
配置 IKE 策略。
[edit security ike] user@host# set policy ike-policy1 mode main user@host# set policy ike-policy1 proposals ike-proposal1 user@host# set policy ike-policy1 certificate local-certificate cert1
-
配置 IPsec 提议。
[edit security ipsec] user@host# set proposal ipsec-proposal1 protocol esp user@host# set proposal ipsec-proposal1 encryption-algorithm aes-256-gcm
注意:ipsec-proposal1
下面是授权管理员提供的 IPsec 提议名称。 -
配置 IPsec 策略。
[edit security ipsec] user@host# set policy ipsec-policy1 perfect-forward-secrecy keys group14 user@host# set policy ipsec-policy1 proposals ipsec-proposal1
注意:此处是
ipsec-policy1
IPsec 策略名称,ipsec-proposal1
也是授权管理员提供的 IPsec 提议名称。 -
配置 IKE。
[edit security ike] user@host# set gateway gw1 ike-policy ike-policy1 user@host# set gateway gw1 address 192.0.2.5 user@host# set gateway gw1 local-identity inet 192.0.2.8 user@host# set gateway gw1 external-interface ge-0/0/1
注意:此处是
gw1
IKE 网关名称,192.0.2.5
是对等方 VPN 端点 IP,192.0.2.8
是本地 VPN 端点 IP,ge-0/0/1
是作为 VPN 端点的本地出站接口。IKEv2 也需要以下配置。[edit security ike] user@host# set gateway gw1 version v2-only
-
配置 VPN。
[edit] user@host# set security ipsec vpn vpn1 ike gateway gw1 user@host# set security ipsec vpn vpn1 ike ipsec-policy ipsec-policy1 user@host# set security ipsec vpn vpn1 bind-interface st0.0 user@host# set routing-options static route 192.0.2.1/24 qualified-next-hop st0.0 preference 1
注意:vpn1
下面是授权管理员提供的 VPN 隧道名称。 -
配置出站流策略。
[edit security policies] user@host# set from-zone trustZone to-zone untrustZone policy policy1 match source-address trustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match destination-address untrustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match application any user@host# set from-zone trustZone to-zone untrustZone policy policy1 then permit user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-init user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-close
注意:此处和
trustZone
untrustZone
是预配置的安全区域和trustLan
预untrustLan
配置的网络地址。 -
配置入站流策略。
[edit security policies] user@host# set from-zone untrustZone to-zone trustZone policy policy1 match source-address untrustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match destination-address trustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match application any user@host# set from-zone untrustZone to-zone trustZone policy policy1 then permit user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-init user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-close
注意:此处和
trustZone
untrustZone
是预配置的安全区域和trustLan
预untrustLan
配置的网络地址。 -
提交配置。
user@host# commit
配置 IKE SA 的生存期
IKE 生存期设置 IKE SA 的生存期。当 IKE SA 过期时,它将由新的 SA(和 SPI)取代或终止。默认值 IKE 生存期为 3600 秒。
要配置 IKE 生存期,请包含 lifetime-seconds 语句,并在层次结构级别指定 [edit security ike proposal ike-proposal-name]
秒数(180 到 86,400):
[edit security ike proposal ike-proposal-name] lifetime-seconds seconds;
配置 IPsec SA 的生存期
IPsec 生存期选项设置 IPsec SA 的生存期。当 IPsec SA 过期时,它将替换为新的 SA(和 SPI)或终止。新的 SA 具有新的身份验证和加密密钥以及 SPI;但是,如果不更改提案,算法可能会保持不变。如果未配置生存期,并且响应方未发送生存期,则生存期为 28,800 秒。
要配置 IPsec 生存期,请包含 lifetime-seconds 语句,并在层次结构级别指定 [edit security ipsec proposal ipsec-proposal-name]
秒数(180 到 28,800):
[edit security ipsec proposal ike-proposal-name] lifetime-seconds seconds;
若要按字节数配置 IPsec 生存期,请包括生存期(千字节)和指定 IPsec 安全关联 (SA) 的生存期(以千字节为单位)。如果未配置此语句,则用于 SA 生存期的千字节数不受限制。
范围:层次结构级别的 64 到 4,294,967,294 KB [edit security ipsec proposal ipsec-proposal-name]
:
[edit security ipsec proposal ipsec-proposal-name] lifetime-kilobytes kilobytes;
配置远程 IKE ID
默认情况下,从对等方收到的 IKE ID 将使用为 IKE 网关配置的 IP 地址进行验证。在某些网络设置中,从对等方收到的 IKE ID(IKE ID 可以是 IPv4 或 IPv6 地址、电子邮件 ID、完全限定域名 (FQDN) 或可分辨名称)与设备上配置的 IKE 网关不匹配。这可能会导致第 1 阶段验证失败。
要配置 IKE ID,请执行以下步骤:
在设置的安全 IKE 网关网关名称层次结构中配置远程标识语句
级别以匹配从对等方接收的 IKE ID。IKE ID 值可以是 IPv4 地址或 IPv6 地址、电子邮件 ID、FQDN 或可分辨名称。-
在对等设备上,确保 IKE ID 与设备上配置的远程身份相同。如果对等设备是 Junos OS 设备,请在设置的安全 IKE 网关网关名称层次结构级别配置本地标识语句。IKE ID 值可以是 IPv4 地址或 IPv6 地址、电子邮件 ID、FQDN 或可分辨名称。