在运行 Junos OS 的设备上配置 VPN
本节介绍使用以下 IKE 身份验证方法在 Junos OS 设备上的 IPsec VPN 配置示例:
在运行 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 组的完整列表。默认情况下,TOE 仅在隧道模式下运行。IPSec 不需要单独配置。
IKE 协议 |
隧道模式 |
第 1 阶段协商模式 |
第 1 阶段提案(P1、IKE) |
|||
---|---|---|---|---|---|---|
身份验证方法 |
身份验证算法 |
DH集团 |
加密算法 |
|||
IKEv1 |
主要 |
路线 |
预共享密钥 |
SHA-256 |
组14 |
3DES-CBC |
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-SHA256-128 |
组14 |
电除尘器 |
AES-128-CBC |
IKEv2 |
|
组19 |
AES-128-GCM |
|||
组20 |
AES-192-CBC |
|||||
组24 |
AES-192-GCM |
|||||
AES-256-CBC |
||||||
AES-256-GCM |
||||||
以下部分提供了所选算法的 IKEv1 IPsec VPN 示例配置示例。可以在配置中替换身份验证和加密算法,以实现用户所需的配置。将命令用于 set security ike gateway <gw-name> version v2-only
IKEv2 IPsec VPN。
- 使用用于 IKE 身份验证的预共享密钥配置 IPsec VPN
- 使用 RSA 签名配置 IPsec VPN 以进行 IKE 身份验证
- 使用 ECDSA 签名配置 IPsec VPN 以进行 IKE 身份验证
使用 RSA 签名配置 IPsec VPN 以进行 IKE 身份验证
在本节中,您将使用具有 IKE 身份验证方法的 RSA 签名,配置运行 Junos OS 的 IPsec VPN 的设备。为了验证证书,TOE 提取主题、颁发者、主题的公钥、签名、 基本约束 和有效期字段。如果不存在任何字段,则验证失败。在 PKI 数据库中查找颁发者。如果颁发者不存在,或者颁发者证书在 “基本约束 ”部分中没有 CA:true 标志,则验证将失败。TOE 验证签名的有效性。如果签名无效,验证将失败。然后,如果 TOE 已配置为使用 CRL 执行吊销检查(如 RFC 5280 第 6.3 节中指定),则确认当前日期和时间在证书中指定的有效时间段内。如果 CRL 下载失败,则证书将被视为验证失败,除非已启用下载失败时跳过 CRL 检查的选项。IKE 或 IPsec 身份验证或加密中使用的算法如 表 3 所示。
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
注意:此处是
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
使用 ECDSA 签名配置 IPsec VPN 以进行 IKE 身份验证
在本节中,您将使用 ECDSA 签名和 IKE 身份验证方法,配置运行 Junos OS 的 IPsec VPN 的设备。为了验证证书,TOE 提取主题、颁发者、主题的公钥、签名、 基本约束 和有效期字段。如果不存在任何字段,则验证失败。在 PKI 数据库中查找颁发者。如果颁发者不存在,或者颁发者证书在 “基本约束 ”部分中没有 CA:true 标志,则验证将失败。TOE 验证签名的有效性。如果签名无效,验证将失败。然后,如果 TOE 配置为使用 CRL 执行吊销检查(如 RFC 5280 第 6.3 节中指定),则确认当前日期和时间在证书中指定的有效时间段内。如果 CRL 下载失败,则证书将被视为验证失败,除非已启用下载失败时跳过 CRL 检查的选项。IKE 或 IPsec 身份验证或加密中使用的算法如 表 4 所示。
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,请执行以下操作:
-
配置 PKI。请参阅 示例:配置 PKI。
-
生成 RSA 密钥对。请参阅 示例:生成公钥-私钥对。
-
生成并加载 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 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 或可分辨名称。