Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

基于策略的 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 相同的功能。

限制:

示例:配置基于策略的 VPN

此示例说明如何配置基于策略的 IPsec VPN,以允许在两个站点之间安全地传输数据。

要求

此示例使用以下硬件:

  • 任何 SRX 系列防火墙

    • 使用 Junos OS 20.4R1 版上的 vSRX 虚拟防火墙进行更新和重新验证。
注:

您是否有兴趣获得本指南中涵盖的主题和操作的实践经验?访问 瞻博网络虚拟实验室中基于 IPsec 策略的演示 ,立即预订免费沙盒!您可以在“安全”类别中找到基于 IPsec VPN 策略的沙盒。

开始之前,请阅读 。IPsec 概述

概述

此示例将在 SRX1 和 SRX2 上配置基于策略的 VPN。主机 1 和主机 2 使用 VPN 在两台主机之间通过互联网安全地发送流量。

图 1 显示了基于策略的 VPN 拓扑的示例。

图 1: 基于策略的 VPN 拓扑基于策略的 VPN 拓扑

IKE IPsec 隧道协商分两个阶段进行。在第 1 阶段,参与者建立一个用于协商 IPsec 安全关联 (SA) 的安全通道。在第 2 阶段,参与者协商 IPsec SA,以验证将通过隧道的流量。正如隧道协商有两个阶段一样,隧道配置也有两个阶段。

在此示例中,您将配置接口、IPv4 默认路由和安全区域。然后配置 IKE 阶段 1、IPsec 阶段 2、安全策略和 TCP-MSS 参数。透视 .表 1表 5

表 1: SRX1 的接口、静态路由和安全区域信息

功能

名称

配置参数

接口

ge-0/0/0.0

10.100.11.1/24

 

ge-0/0/1.0

172.16.13.1/24

安全区域

trust

  • ge-0/0/0.0 接口绑定到此区域。

 

untrust

  • ge-0/0/1.0 接口绑定到此区域。

静态路由

0.0.0.0/0

  • 下一跃点是 172.16.13.2。

表 2: IKE 第 1 阶段配置参数

功能

名称

配置参数

提议

标准

  • 身份验证方法:预共享密钥

策略

IKE-POL

  • 模式:主

  • 提议参考:标准

  • IKE 第 1 阶段策略身份验证方法:预共享密钥 ASCII 文本

网关

艾克-吉瓦

  • IKE 策略参考:IKE-POL

  • 外部接口:ge-0/0/1

  • 网关地址:172.16.23.1

表 3: IPsec 第 2 阶段配置参数

功能

名称

配置参数

提议

标准

  • 使用默认配置

策略

IPSEC-POL

  • 提议参考:标准

VPN

VPN 到主机2

  • IKE 网关参考:艾克-吉瓦

  • IPsec 策略参考:IPSEC-POL

  • 立即建立隧道
表 4: 安全策略配置参数

目的

名称

配置参数

此安全策略允许从信任区域到不信任区域的流量。

VPN 输出

  • 匹配标准:

    • 源地址 Host1-Net

    • 目标地址 Host2-Net

    • application any

  • 允许操作:隧道 ipsec-vpn VPN 到主机2

此安全策略允许从不信任区域到信任区域的流量。

VPN 输入

  • 匹配标准:

    • 源地址 Host2-Net

    • 目标地址 Host1-Net

    • application any

  • 允许操作:隧道 ipsec-vpn VPN 到主机2

此安全策略允许从信任区域到不信任区域的所有流量。

您必须将 VPN-OUT 策略放在默认允许安全策略之前。Junos OS 从列表顶部开始执行安全策略查找。如果默认允许策略在 VPN-OUT 策略之前,则来自信任区域的所有流量都与默认允许策略匹配并被允许。因此,没有任何流量会与 VPN-OUT 策略匹配。

默认许可

  • 匹配标准:

    • 源-地址 任意

    • 源-目标 任何

    • application any

  • 操作:permit

表 5: TCP-MSS 配置参数

目的

配置参数

TCP-MSS 作为 TCP 三次握手的一部分进行协商,并限制 TCP 段的最大大小,以更好地适应网络上的最大传输单元 (MTU) 限制。这对于 VPN 流量尤其重要,因为 IPsec 封装开销以及 IP 和帧开销可能导致生成的封装安全有效负载 (ESP) 数据包超过物理接口的 MTU,从而导致分段。分段会导致带宽和设备资源的使用增加。

建议将 1350 作为大多数基于以太网且 MTU 为 1500 或更高的网络的起点值。您可能需要试验不同的 TCP-MSS 值,以获得最佳性能。例如,如果路径中任何设备的 MTU 较低,或者存在任何额外开销(如 PPP 或帧中继),则可能需要更改该值。

MSS 值:1350

配置

配置基本网络和安全区域信息

CLI 快速配置

要为 SRX1 快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,将命令复制并粘贴到层次结构级别的 CLI 中,然后从配置模式进入 。[edit]commit

分步过程

下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南。https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置接口、静态路由和安全区域信息,请执行以下操作:

  1. 配置接口。

  2. 配置静态路由。

  3. 将面向互联网的接口分配给不信任安全区域。

  4. 为不信任安全区域指定允许的系统服务。

  5. 将面向 Host1 的接口分配给信任安全区域。

  6. 为信任安全区域指定允许的系统服务。

成果

在配置模式下,输入 、 和 命令确认您的配置。show interfacesshow routing-optionsshow security zones 如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。

配置 IKE

CLI 快速配置

要为 SRX1 快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,将命令复制并粘贴到层次结构级别的 CLI 中,然后从配置模式进入 。[edit]commit

分步过程

下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南。https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置 IKE:

  1. 创建 IKE 提议。

  2. 定义 IKE 提议身份验证方法。

  3. 创建 IKE 策略。

  4. 设置 IKE 策略模式。

  5. 指定对 IKE 提议的参考。

  6. 定义 IKE 策略身份验证方法。

  7. 创建 IKE 网关并定义其外部接口。

  8. 定义 IKE 网关地址。

  9. 定义 IKE 策略参考。

成果

在配置模式下,输入 show security ike 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。

配置 IPsec

CLI 快速配置

要为 SRX1 快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,将命令复制并粘贴到层次结构级别的 CLI 中,然后从配置模式进入 。[edit]commit

分步过程

下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南。https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置 IPsec:

  1. 创建 IPsec 提议。

  2. 创建 IPsec 策略。

  3. 指定 IPsec 提议参考。

  4. 指定 IKE 网关。

  5. 指定 IPsec 策略。

  6. 将隧道配置为立即建立。

成果

在配置模式下,输入 show security ipsec 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。

配置安全策略

CLI 快速配置

要为 SRX1 快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,将命令复制并粘贴到层次结构级别的 CLI 中,然后从配置模式进入 。[edit]commit

分步过程

下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南。https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置安全策略:

  1. 为将在安全策略中使用的网络创建通讯簿条目。

  2. 创建安全策略以匹配从信任区域中的 Host1 到不信任区域中的 Host2 的流量。

  3. 创建安全策略以允许从信任区域到不信任区域的所有其他流量到 Internet。

  4. 创建安全策略以允许从不信任区域中的 Host2 到信任区域中的 Host1 的流量。

成果

在配置模式下,输入 show security policies 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。

配置 TCP-MSS

CLI 快速配置

要为 SRX1 快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改任何必要的详细信息以匹配您的网络配置,将命令复制并粘贴到层次结构级别的 CLI 中,然后从配置模式进入 。[edit]commit

分步过程

要配置 TCP-MSS 信息:

  1. 配置 TCP-MSS 信息。

成果

在配置模式下,输入 show security flow 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。

如果完成设备配置,请从配置模式输入 commit

配置 SRX2

CLI 快速配置

为了参考,提供了 SRX2 的配置。

要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入 commit

验证

要确认配置工作正常,请执行以下任务:

验证 IKE 状态

目的

验证 IKE 状态。

操作

在操作模式下,输入 show security ike security-associations 命令。从命令获取索引号之后,请使用 show security ike security-associations index index_number detail 命令。

意义

该 命令将列出所有活动的 IKE 第 1 阶段安全关联 (SA)。show security ike security-associations 如果未列出任何 SA,则第 1 阶段建立存在问题。检查配置中的 IKE 策略参数和外部接口设置。

如果列出了 SA,请查看以下信息:

  • 索引 - 此值对于每个 IKE SA 都是唯一的,您可以在命令中 使用它来获取有关 SA 的更多信息。show security ike security-associations index detail

  • 远程地址 - 验证远程 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 命令。

意义

show security ipsec security-associations 命令输出列出以下信息:

  • ID 号为 2。将此值与命令一起使用 可获取有关此特定 SA 的详细信息。show security ipsec security-associations index

  • 有一个 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 的流量。

操作

使用 Host1 设备中的命令测试发往 Host2 的流量。ping

意义

如果命令从 Host1 失败,则可能是路由、安全策略、终端主机或 ESP 数据包的加密和解密存在问题。ping

查看 IPsec 安全关联的统计信息和错误

目的

查看 IPsec 安全关联的 ESP 和身份验证标头计数器和错误。

操作

在操作模式下,输入 show security ipsec statistics index index_number 命令,其中使用要查看其统计信息的 VPN 的索引号。

也可以使用 show security ipsec statistics 命令来查看所有 SA 的统计信息和错误。

要清除所有 IPsec 统计信息,请使用 clear security ipsec statistics 命令。

意义

如果您在 VPN 中看到数据包丢失问题,可以多次运行该 命令以确认加密和解密数据包计数器是否在递增。show security ipsec statistics 还应检查其他错误计数器是否在递增。