基于策略的 IPsec VPN
基于策略的 VPN 是一种配置,其中在两个端点之间创建的 IPsec VPN 隧道在策略本身中指定,并对满足策略匹配标准的传输流量执行策略操作。
了解基于策略的 IPsec VPN
对于基于策略的 IPsec VPN,安全策略将用于满足策略匹配标准的传输流量的 VPN 隧道指定为其操作。VPN 的配置独立于策略语句。策略语句按名称引用 VPN,以指定允许访问隧道的流量。对于基于策略的 VPN,每个策略都会与远程对等方创建一个单独的 IPsec 安全关联 (SA),每个对等方计为一个单独的 VPN 隧道。例如,如果策略包含组源地址和组目标地址,则每当属于该地址集的某个用户尝试与指定为目标地址的任一主机通信时,都会协商并建立新隧道。由于每个隧道都需要自己的协商过程和单独的 SA 对,因此使用基于策略的 IPsec VPN 可能比使用基于路由的 VPN 更耗费资源。
可以使用基于策略的 VPN 的示例:
您正在实施拨号 VPN。
基于策略的 VPN 允许您根据防火墙策略定向流量。
如果要在多个远程站点之间配置 VPN,建议使用基于路由的 VPN。基于路由的 VPN 可以提供与基于策略的 VPN 相同的功能。
局限性:
-
IKEv2 不支持基于策略的 IPSec VPN。
-
将程序包与
junos-ike
运行 IPsec VPN 服务的防火墙iked
进程一起使用时,对基于策略的 IPsec VPN 的支持不可用。使用软件包,junos-ike
删除任何基于策略的 IPsec VPN 配置,因为它们无效。请注意,在带有 RE3 的 SRX5K-SPC3 中,默认情况下junos-ike
该软件包可用。在 SRX1500 及更高版本的平台中,它是一个可选包。有关更多详细信息,请参阅 新程序包提供的 IPsec VPN 功能支持 。
另请参阅
示例:配置基于策略的 VPN
此示例说明如何配置基于策略的 IPsec VPN,以允许在两个站点之间安全地传输数据。
要求
此示例使用以下硬件:
-
任何 SRX 系列防火墙
- 使用 Junos OS 20.4R1 版上的 vSRX 虚拟防火墙进行更新和重新验证。
您是否有兴趣获得本指南中涵盖的主题和操作的实践经验?访问 瞻博网络虚拟实验室中基于 IPsec 策略的演示 ,立即预订免费沙盒!您可以在“安全”类别中找到基于 IPsec VPN 策略的沙盒。
开始之前,请阅读 IPsec 概述。
概述
此示例将在 SRX1 和 SRX2 上配置基于策略的 VPN。主机 1 和主机 2 使用 VPN 在两台主机之间通过互联网安全地发送流量。
图 1 显示了基于策略的 VPN 拓扑的示例。

IKE IPsec 隧道协商分两个阶段进行。在第 1 阶段,参与者建立一个用于协商 IPsec 安全关联 (SA) 的安全通道。在第 2 阶段,参与者协商 IPsec SA,以验证将通过隧道的流量。正如隧道协商有两个阶段一样,隧道配置也有两个阶段。
在此示例中,您将配置接口、IPv4 默认路由和安全区域。然后配置 IKE 阶段 1、IPsec 阶段 2、安全策略和 TCP-MSS 参数。透视 表 1表 5.
功能 |
名称 |
配置参数 |
---|---|---|
接口 |
ge-0/0/0.0 |
10.100.11.1/24 |
ge-0/0/1.0 |
172.16.13.1/24 |
|
安全区域 |
trust |
|
untrust |
|
|
静态路由 |
0.0.0.0/0 |
|
功能 |
名称 |
配置参数 |
---|---|---|
提议 |
标准 |
|
策略 |
IKE-POL |
|
网关 |
艾克-吉瓦 |
|
功能 |
名称 |
配置参数 |
---|---|---|
提议 |
标准 |
|
策略 |
IPSEC-POL |
|
VPN |
VPN 到主机2 |
|
目的 |
名称 |
配置参数 |
---|---|---|
此安全策略允许从信任区域到不信任区域的流量。 |
VPN 输出 |
|
此安全策略允许从不信任区域到信任区域的流量。 |
VPN 输入 |
|
此安全策略允许从信任区域到不信任区域的所有流量。 您必须将 VPN-OUT 策略放在默认允许安全策略之前。Junos OS 从列表顶部开始执行安全策略查找。如果默认允许策略在 VPN-OUT 策略之前,则来自信任区域的所有流量都与默认允许策略匹配并被允许。因此,没有任何流量会与 VPN-OUT 策略匹配。 |
默认许可 |
|
目的 |
配置参数 |
---|---|
TCP-MSS 作为 TCP 三次握手的一部分进行协商,并限制 TCP 段的最大大小,以更好地适应网络上的最大传输单元 (MTU) 限制。这对于 VPN 流量尤其重要,因为 IPsec 封装开销以及 IP 和帧开销可能导致生成的封装安全有效负载 (ESP) 数据包超过物理接口的 MTU,从而导致分段。分段会导致带宽和设备资源的使用增加。 建议将 1350 作为大多数基于以太网且 MTU 为 1500 或更高的网络的起点值。您可能需要试验不同的 TCP-MSS 值,以获得最佳性能。例如,如果路径中任何设备的 MTU 较低,或者存在任何额外开销(如 PPP 或帧中继),则可能需要更改该值。 |
MSS 值:1350 |
配置
配置基本网络和安全区域信息
CLI 快速配置
要为 SRX1 快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set interfaces ge-0/0/0 unit 0 family inet address 10.100.11.1/24 set interfaces ge-0/0/1 unit 0 family inet address 172.16.13.1/24 set interfaces lo0 unit 0 family inet address 10.100.100.1/32 set routing-options static route 0.0.0.0/0 next-hop 172.16.13.2 set security zones security-zone trust host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/0.0 set security zones security-zone untrust host-inbound-traffic system-services ike set security zones security-zone untrust host-inbound-traffic system-services ping set security zones security-zone untrust interfaces ge-0/0/1.0
分步过程
下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南。
要配置接口、静态路由和安全区域信息,请执行以下操作:
-
配置接口。
[edit] user@SRX1# set interfaces ge-0/0/0 unit 0 family inet address 10.100.11.1/24 user@SRX1# set interfaces ge-0/0/1 unit 0 family inet address 172.16.13.1/24 user@SRX1# set interfaces lo0 unit 0 family inet address 10.100.100.1/32
-
配置静态路由。
[edit] user@SRX1# set routing-options static route 0.0.0.0/0 next-hop 172.16.13.2
-
将面向互联网的接口分配给不信任安全区域。
[edit security zones security-zone untrust] user@SRX1# set interfaces ge-0/0/1.0
-
为不信任安全区域指定允许的系统服务。
[edit security zones security-zone untrust] user@SRX1# set host-inbound-traffic system-services ike user@SRX1# set host-inbound-traffic system-services ping
-
将面向 Host1 的接口分配给信任安全区域。
[edit security zones security-zone trust] user@SRX1# set interfaces ge-0/0/0.0
-
为信任安全区域指定允许的系统服务。
[edit security zones security-zone trust] user@SRX1# set host-inbound-traffic system-services all
结果
在配置模式下,输入 show interfaces
、 show routing-options
和 show security zones
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@SRX1# show interfaces ge-0/0/0 { unit 0 { family inet { address 10.100.11.1/24; } } } ge-0/0/1 { unit 0 { family inet { address 172.16.13.1/24; } } } lo0 { unit 0 { family inet { address 10.100.100.1/32; } } }
[edit] user@SRX1# show routing-options static { route 0.0.0.0/0 next-hop 172.16.13.2; }
[edit] user@SRX1# show security zones security-zone trust { host-inbound-traffic { system-services { all; } } interfaces { ge-0/0/0.0; } } security-zone untrust { host-inbound-traffic { system-services { ike; ping; } } interfaces { ge-0/0/1.0; } }
配置 IKE
CLI 快速配置
要为 SRX1 快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set security ike proposal standard authentication-method pre-shared-keys set security ike policy IKE-POL mode main set security ike policy IKE-POL proposals standard set security ike policy IKE-POL pre-shared-key ascii-text $ABC123 set security ike gateway IKE-GW ike-policy IKE-POL set security ike gateway IKE-GW address 172.16.23.1 set security ike gateway IKE-GW external-interface ge-0/0/1
分步过程
下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南。
要配置 IKE:
-
创建 IKE 提议。
[edit security ike] user@SRX1# set proposal standard
-
定义 IKE 提议身份验证方法。
[edit security ike proposal standard] user@SRX1# set authentication-method pre-shared-keys
-
创建 IKE 策略。
[edit security ike] user@SRX1# set policy IKE-POL
-
设置 IKE 策略模式。
[edit security ike policy IKE-POL] user@SRX1# set mode main
-
指定对 IKE 提议的参考。
[edit security ike policy IKE-POL] user@SRX1# set proposals standard
-
定义 IKE 策略身份验证方法。
[edit security ike policy IKE-POL] user@SRX1# set pre-shared-key ascii-text $ABC123
-
创建 IKE 网关并定义其外部接口。
[edit security ike gateway IKE-GW] user@SRX1# set external-interface ge-0/0/1.0
-
定义 IKE 网关地址。
[edit security ike gateway IKE-GW] user@SRX1# address 172.16.23.1
-
定义 IKE 策略参考。
[edit security ike gateway IKE-GW] user@SRX1# set ike-policy IKE-POL
结果
在配置模式下,输入 show security ike
命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@host# show security ike proposal standard { authentication-method pre-shared-keys; } policy IKE-POL { mode main; proposals standard; pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA } gateway IKE-GW { ike-policy IKE-POL; address 172.16.23.1; external-interface ge-0/0/1; }
配置 IPsec
CLI 快速配置
要为 SRX1 快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set security ipsec proposal standard set security ipsec policy IPSEC-POL proposals standard set security ipsec vpn VPN-to-Host2 ike gateway IKE-GW set security ipsec vpn VPN-to-Host2 ike ipsec-policy IPSEC-POL set security ipsec vpn VPN-to-Host2 establish-tunnels immediately
分步过程
下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南。
要配置 IPsec:
-
创建 IPsec 提议。
[edit] user@SRX1# set security ipsec proposal standard
-
创建 IPsec 策略。
[edit security ipsec] user@SRX1# set policy IPSEC-POL
-
指定 IPsec 提议参考。
[edit security ipsec policy IPSEC-POL] user@SRX1# set proposals standard
-
指定 IKE 网关。
[edit security ipsec] user@SRX1# set vpn VPN-to-Host2 ike gateway IKE-GW
-
指定 IPsec 策略。
[edit security ipsec] user@SRX1# set vpn VPN-to-Host2 ike ipsec-policy IPSEC-POL
-
将隧道配置为立即建立。
[edit security ipsec] user@SRX1# set vpn VPN-to-Host2 establish-tunnels immediately
结果
在配置模式下,输入 show security ipsec
命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@SRX1# show security ipsec proposal standard; policy IPSEC-POL { proposals standard; } vpn VPN-to-Host2 { ike { gateway IKE-GW; ipsec-policy IPSEC-POL; } establish-tunnels immediately; }
配置安全策略
CLI 快速配置
要为 SRX1 快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set security address-book Host1 address Host1-Net 10.100.11.0/24 set security address-book Host1 attach zone trust set security address-book Host2 address Host2-Net 10.100.22.0/24 set security address-book Host2 attach zone untrust set security policies from-zone trust to-zone untrust policy VPN-OUT match source-address Host1-Net set security policies from-zone trust to-zone untrust policy VPN-OUT match destination-address Host2-Net set security policies from-zone trust to-zone untrust policy VPN-OUT match application any set security policies from-zone trust to-zone untrust policy VPN-OUT then permit tunnel ipsec-vpn VPN-to-Host2 set security policies from-zone trust to-zone untrust policy default-permit match source-address any set security policies from-zone trust to-zone untrust policy default-permit match destination-address any set security policies from-zone trust to-zone untrust policy default-permit match application any set security policies from-zone trust to-zone untrust policy default-permit then permit set security policies from-zone untrust to-zone trust policy VPN-IN match source-address Host2-Net set security policies from-zone untrust to-zone trust policy VPN-IN match destination-address Host1-Net set security policies from-zone untrust to-zone trust policy VPN-IN match application any set security policies from-zone untrust to-zone trust policy VPN-IN then permit tunnel ipsec-vpn VPN-to-Host2
分步过程
下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南。
要配置安全策略:
-
为将在安全策略中使用的网络创建通讯簿条目。
[edit] user@SRX1# set security address-book Host1 address Host1-Net 10.100.11.0/24 user@SRX1# set security address-book Host1 attach zone trust user@SRX1# set security address-book Host2 address Host2-Net 10.100.22.0/24 user@SRX1# set security address-book Host2 attach zone untrust
-
创建安全策略以匹配从信任区域中的 Host1 到不信任区域中的 Host2 的流量。
[edit security policies from-zone trust to-zone untrust] user@SRX1# set policy VPN-OUT match source-address Host1-Net user@SRX1# set policy VPN-OUT match destination-address Host2-Net user@SRX1# set policy VPN-OUT match application any user@SRX1# set policy VPN-OUT then permit tunnel ipsec-vpn VPN-to-Host2
-
创建安全策略以允许从信任区域到不信任区域的所有其他流量到 Internet。
[edit security policies from-zone trust to-zone untrust] user@SRX1# set policy default-permit match source-address any user@SRX1# set policy default-permit match destination-address any user@SRX1# set policy default-permit match application any user@SRX1# set policy default-permit then permit
-
创建安全策略以允许从不信任区域中的 Host2 到信任区域中的 Host1 的流量。
[edit security policies from-zone untrust to-zone trust] user@SRX1# set policy VPN-IN match source-address Host2-Net user@SRX1# set policy VPN-IN match destination-address Host1-Net user@SRX1# set policy VPN-IN match application any user@SRX1# set policy VPN-IN then permit tunnel ipsec-vpn VPN-to-Host2
结果
在配置模式下,输入 show security policies
命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@SRX1# show security policies from-zone trust to-zone untrust { policy VPN-OUT { match { source-address Host1-Net; destination-address Host2-Net; application any; } then { permit { tunnel { ipsec-vpn VPN-to-Host2; } } } } policy default-permit { match { source-address any; destination-address any; application any; } then { permit; } } } from-zone untrust to-zone trust { policy VPN-IN { match { source-address Host2-Net; destination-address Host1-Net; application any; } then { permit { tunnel { ipsec-vpn VPN-to-Host2; } } } } }
配置 TCP-MSS
CLI 快速配置
要为 SRX1 快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set security flow tcp-mss ipsec-vpn mss 1350
分步过程
要配置 TCP-MSS 信息:
-
配置 TCP-MSS 信息。
[edit] user@SRX1# set security flow tcp-mss ipsec-vpn mss 1350
结果
在配置模式下,输入 show security flow
命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@SRX1# show security flow tcp-mss { ipsec-vpn { mss 1350; } }
如果完成设备配置,请从配置模式输入 commit
。
配置 SRX2
CLI 快速配置
为了参考,提供了 SRX2 的配置。
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit]
层级的 CLI 中,然后从配置模式进入 commit 。
set security ike proposal standard authentication-method pre-shared-keys set security ike policy IKE-POL mode main set security ike policy IKE-POL proposals standard set security ike policy IKE-POL pre-shared-key ascii-text $ABC123 set security ike gateway IKE-GW ike-policy IKE-POL set security ike gateway IKE-GW address 172.16.13.1 set security ike gateway IKE-GW external-interface ge-0/0/1 set security ipsec proposal standard set security ipsec policy IPSEC-POL proposals standard set security ipsec vpn VPN-to-Host1 ike gateway IKE-GW set security ipsec vpn VPN-to-Host1 ike ipsec-policy IPSEC-POL set security ipsec vpn VPN-to-Host1 establish-tunnels immediately set security address-book Host1 address Host1-Net 10.100.11.0/24 set security address-book Host1 attach zone untrust set security address-book Host2 address Host2-Net 10.100.22.0/24 set security address-book Host2 attach zone trust set security flow tcp-mss ipsec-vpn mss 1350 set security policies from-zone trust to-zone untrust policy VPN-OUT match source-address Host2-Net set security policies from-zone trust to-zone untrust policy VPN-OUT match destination-address Host1-Net set security policies from-zone trust to-zone untrust policy VPN-OUT match application any set security policies from-zone trust to-zone untrust policy VPN-OUT then permit tunnel ipsec-vpn VPN-to-Host1 set security policies from-zone trust to-zone untrust policy default-permit match source-address any set security policies from-zone trust to-zone untrust policy default-permit match destination-address any set security policies from-zone trust to-zone untrust policy default-permit match application any set security policies from-zone trust to-zone untrust policy default-permit then permit set security policies from-zone untrust to-zone trust policy VPN-IN match source-address Host1-Net set security policies from-zone untrust to-zone trust policy VPN-IN match destination-address Host2-Net set security policies from-zone untrust to-zone trust policy VPN-IN match application any set security policies from-zone untrust to-zone trust policy VPN-IN then permit tunnel ipsec-vpn VPN-to-Host1 set security zones security-zone trust host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/0.0 set security zones security-zone untrust host-inbound-traffic system-services ike set security zones security-zone untrust host-inbound-traffic system-services ping set security zones security-zone untrust interfaces ge-0/0/1.0 set interfaces ge-0/0/0 unit 0 family inet address 10.100.22.1/24 set interfaces ge-0/0/1 unit 0 family inet address 172.16.23.1/24 set interfaces lo0 unit 0 family inet address 10.100.100.2/32 set routing-options static route 0.0.0.0/0 next-hop 172.16.23.2
验证
要确认配置工作正常,请执行以下任务:
验证 IKE 状态
目的
验证 IKE 状态。
操作
在操作模式下,输入 show security ike security-associations
命令。从命令获取索引号之后,请使用 show security ike security-associations index index_number detail
命令。
user@SRX1> show security ike security-associations Index State Initiator cookie Responder cookie Mode Remote Address 1859361 UP 9788fa59c3ee2e2a 0b17e52f34b83aba Main 172.16.23.1
user@SRX1> show security ike security-associations index 1859361 detail IKE peer 172.16.23.1, Index 1859361, Gateway Name: IKE-GW Role: Responder, State: UP Initiator cookie: 9788fa59c3ee2e2a, Responder cookie: 0b17e52f34b83aba Exchange type: Main, Authentication method: Pre-shared-keys Local: 172.16.13.1:500, Remote: 172.16.23.1:500 Lifetime: Expires in 17567 seconds Reauth Lifetime: Disabled IKE Fragmentation: Disabled, Size: 0 Remote Access Client Info: Unknown Client Peer ike-id: 172.16.23.1 AAA assigned IP: 0.0.0.0 Algorithms: Authentication : hmac-sha1-96 Encryption : 3des-cbc Pseudo random function: hmac-sha1 Diffie-Hellman group : DH-group-2 Traffic statistics: Input bytes : 1740 Output bytes : 1132 Input packets: 15 Output packets: 7 Input fragmentated packets: 0 Output fragmentated packets: 0 IPSec security associations: 4 created, 4 deleted Phase 2 negotiations in progress: 1 Negotiation type: Quick mode, Role: Responder, Message ID: 0 Local: 172.16.13.1:500, Remote: 172.16.23.1:500 Local identity: 172.16.13.1 Remote identity: 172.16.23.1 Flags: IKE SA is created
意义
该 show security ike security-associations
命令将列出所有活动的 IKE 第 1 阶段安全关联 (SA)。如果未列出任何 SA,则第 1 阶段建立存在问题。检查配置中的 IKE 策略参数和外部接口设置。
如果列出了 SA,请查看以下信息:
-
索引 - 此值对于每个 IKE SA 都是唯一的,您可以在命令中
show security ike security-associations index detail
使用它来获取有关 SA 的更多信息。 -
远程地址 - 验证远程 IP 地址是否正确。
-
State
-
UP—已建立第 1 阶段 SA。
-
DOWN — 建立第 1 阶段 SA 时出现问题。
-
-
模式 - 验证是否使用了正确的模式。
验证配置中的以下各项是否正确:
-
外部接口(接口必须是接收 IKE 数据包的接口)
-
IKE 策略参数
-
预共享密钥信息
-
第 1 阶段提议参数(必须在两个对等方上匹配)
show security ike security-associations index 1859361 detail
命令会列出有关索引号为 1859361 的安全关联的其他信息:
-
使用的身份验证和加密算法
-
第 1 阶段生存期
-
流量统计(可用于验证流量是否在两个方向上正常流动)
-
发起方和响应方角色信息
最好使用响应方角色在对等方上执行故障排除。
-
创建的 IPsec SA 数
-
正在进行的第 2 阶段协商数
验证 IPsec 第 2 阶段状态
目的
验证 IPsec 第 2 阶段状态。
操作
在操作模式下,输入 show security ipsec security-associations
命令。从命令获取索引号之后,请使用 show security ipsec security-associations index index_number detail
命令。
user@SRX1 show security ipsec security-associations Total active tunnels: 1 Total Ipsec sas: 1 ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway <2 ESP:3des/sha1 ae5afc5a 921/ unlim - root 500 172.16.23.1 >2 ESP:3des/sha1 6388a743 921/ unlim - root 500 172.16.23.1
user@SRX1> show security ipsec security-associations index 2 detail ID: 2 Virtual-system: root, VPN Name: VPN-to-Host2 Local Gateway: 172.16.13.1, Remote Gateway: 172.16.23.1 Local Identity: ipv4_subnet(any:0,[0..7]=10.100.11.0/24) Remote Identity: ipv4_subnet(any:0,[0..7]=10.100.22.0/24) Version: IKEv1 DF-bit: clear, Copy-Outer-DSCP Disabled , Policy-name: VPN-OUT Port: 500, Nego#: 30, Fail#: 0, Def-Del#: 0 Flag: 0x600829 Multi-sa, Configured SAs# 1, Negotiated SAs#: 1 Tunnel events: Thu Jul 29 2021 14:29:22 -0700: IPSec SA negotiation successfully completed (29 times) Thu Jul 29 2021 12:00:30 -0700: IKE SA negotiation successfully completed (4 times) Wed Jul 28 2021 15:20:58 : IPSec SA delete payload received from peer, corresponding IPSec SAs cleared (1 times) Wed Jul 28 2021 15:05:13 -0700: IPSec SA negotiation successfully completed (1 times) Wed Jul 28 2021 15:05:13 : Tunnel is ready. Waiting for trigger event or peer to trigger negotiation (1 times) Wed Jul 28 2021 15:05:13 -0700: External interface's address received. Information updated (1 times) Wed Jul 28 2021 15:05:13 -0700: External interface's zone received. Information updated (1 times) Wed Jul 28 2021 11:17:38 : Negotiation failed with error code NO_PROPOSAL_CHOSEN received from peer (1 times) Wed Jul 28 2021 09:27:11 -0700: IKE SA negotiation successfully completed (19 times) Thu Jul 22 2021 16:34:17 -0700: Negotiation failed with INVALID_SYNTAX error (3 times) Thu Jul 22 2021 10:34:55 -0700: IKE SA negotiation successfully completed (1 times) Thu Jul 22 2021 10:34:46 -0700: No response from peer. Negotiation failed (16 times) Direction: inbound, SPI: ae5afc5a, AUX-SPI: 0 , VPN Monitoring: - Hard lifetime: Expires in 828 seconds Lifesize Remaining: Unlimited Soft lifetime: Expires in 234 seconds Mode: Tunnel(0 0), Type: dynamic, State: installed Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Anti-replay service: counter-based enabled, Replay window size: 64 Direction: outbound, SPI: 6388a743, AUX-SPI: 0 , VPN Monitoring: - Hard lifetime: Expires in 828 seconds Lifesize Remaining: Unlimited Soft lifetime: Expires in 234 seconds Mode: Tunnel(0 0), Type: dynamic, State: installed Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc 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 为单位)。921/unlim 值表示第 2 阶段生存期将在 921 秒后过期,并且未指定生存大小,表示它是无限的。第 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 不匹配而失败,则可以使用该策略确认配置了哪些通讯簿条目。验证地址是否与要发送的信息匹配。检查服务以确保端口与发送的信息匹配。
测试通过 VPN 的流量
目的
验证通过 VPN 的流量。
操作
ping
使用 Host1 设备中的命令测试发往 Host2 的流量。
user@Host1> ping 10.100.22.1 rapid count 100 PING 10.100.22.1 (10.100.22.1): 56 data bytes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --- 10.100.22.1 ping statistics --- 100 packets transmitted, 100 packets received, 0% packet loss round-trip min/avg/max/stddev = 3.300/3.936/8.562/0.720 ms
意义
ping
如果命令从 Host1 失败,则可能是路由、安全策略、终端主机或 ESP 数据包的加密和解密存在问题。
查看 IPsec 安全关联的统计信息和错误
目的
查看 IPsec 安全关联的 ESP 和身份验证标头计数器和错误。
操作
在操作模式下,输入 show security ipsec statistics index index_number
命令,其中使用要查看其统计信息的 VPN 的索引号。
user@SRX1> show security ipsec statistics index 2 ESP Statistics: Encrypted bytes: 13600 Decrypted bytes: 8400 Encrypted packets: 100 Decrypted packets: 100 AH Statistics: Input bytes: 0 Output bytes: 0 Input packets: 0 Output packets: 0 Errors: AH authentication failures: 0, Replay errors: 0 ESP authentication failures: 0, ESP decryption failures: 0 Bad headers: 0, Bad trailers: 0
也可以使用 show security ipsec statistics
命令来查看所有 SA 的统计信息和错误。
要清除所有 IPsec 统计信息,请使用 clear security ipsec statistics
命令。
意义
如果您在 VPN 中看到数据包丢失问题,可以多次运行该 show security ipsec statistics
命令以确认加密和解密数据包计数器是否在递增。还应检查其他错误计数器是否在递增。
将基于策略的 VPN 迁移到基于路由的 VPN
如果您计划使用共享点对点 st0 接口将配置从基于策略的 VPN 迁移到基于路由的 VPN,请阅读本主题。
尽管 SRX 系列防火墙在使用 kmd 进程运行 IPsec VPN 的防火墙上支持基于策略的 VPN,但仍存在相关限制。虽然该策略可以根据协议和应用的端口号来控制进入 VPN 隧道的流量,但 IKEv1 不支持安全关联 (SA) 协商中的协议或端口协商。因此,防火墙无法使用基于策略的 VPN 对流量执行精细控制。我们建议您将基于策略的 VPN 迁移到基于路由的 VPN。
要从基于策略的 VPN 迁移到基于路由的 VPN,请执行以下步骤:
-
使用 kmd 进程停用 Junos OS 设备中运行的 IPsec VPN 对象。
-
安装
junos-ike
软件包以使用 iked 进程运行 IPsec VPN 服务。请参阅 安装 junos-ike 软件包。 -
配置与共享点对点 st0 接口相关的先决条件。请参阅 共享点对点 st0 接口。
-
使用共享的点对点 st0 接口激活之前停用的 IPsec VPN 对象。
我们建议您使用迁移最佳实践执行迁移,以最大程度地减少停机时间。
局限性
-
迁移到具有共享点对点 st0 接口的 iked 进程后,无法切换回基于 kmd 的 IPsec VPN 服务。
-
基于策略的 VPN 在对数据流量执行策略查找时隐式执行配置策略的顺序。但是,基于路由的 VPN 不会强制执行配置 VPN 的序列顺序,即使使用流量选择器也是如此,因为该序列由每个 VPN 配置的每个流量选择器的指标决定。
示例配置
在迁移之前,假设您已为使用 kmd 进程的基于策略的 IPsec VPN 进行了以下配置。请注意,对基于策略的 VPN 的支持仅适用于 IKEv1。在此配置中,如果安全策略与条件匹配,设备会将流量定向到 VPN 隧道。请参阅 基于策略的 IPsec VPN。
[edit security policies] user@host# show from-zone zone1 to-zone zone2 { policy policy1 { match { source-address 192.168.2.0/24; destination-address 10.0.2.0/24; } then { permit { tunnel { ipsec-vpn vpn1; } } } } } from-zone zone3 to-zone zone4 { policy policy2 { match { source-address 192.168.3.0/24; destination-address 10.0.3.0/24; } then { permit { tunnel { ipsec-vpn vpn2; } } } } }
[edit security ipsec] user@host# show proposal ipsec_prop { protocol esp; authentication-algorithm hmac-sha-256-128; encryption-algorithm aes-256-cbc; lifetime-seconds 2400; } policy ipsec_pol { proposals ipsec_prop; } vpn vpn1 { ike { gateway gw1; ipsec-policy ipsec_pol; } establish-tunnels immediately; } vpn vpn2 { ike { gateway gw2; ipsec-policy ipsec_pol; } establish-tunnels immediately; }
迁移后,您会注意到以下配置。请注意,IKEv1 不支持多个流量选择器、端口和协议。您必须将 VPN 对象绑定到使用 iked 进程的 IPsec VPN 服务的同一 st0 接口。您可以使用两个不同的 IPsec VPN 对象配置两个不同的 IKE 网关,并通过显式流量选择器配置绑定到同一个 st0 接口。
[edit security ipsec] user@host# show proposal ipsec_prop { protocol esp; authentication-algorithm hmac-sha-256-128; encryption-algorithm aes-256-cbc; lifetime-seconds 2400; } policy ipsec_pol { proposals ipsec_prop; } vpn vpn1 { bind-interface st0.0; ike { gateway gw1; ipsec-policy ipsec_pol; } traffic-selector ts1 { local-ip 192.168.2.0/24; remote-ip 10.0.2.0/24; } establish-tunnels immediately; } vpn vpn2 { bind-interface st0.0; ike { gateway gw2; ipsec-policy ipsec_pol; } traffic-selector ts1 { local-ip 192.168.3.0/24; remote-ip 10.0.3.0/24; } establish-tunnels immediately; }
另请参阅
变更历史表
是否支持某项功能取决于您使用的平台和版本。 使用 Feature Explorer 查看您使用的平台是否支持某项功能。