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 隧道由路由引用,路由根据目标 IP 地址确定哪些流量通过隧道发送。

了解基于路由的 IPsec VPN

使用基于路由的 VPN,您可以配置数十个安全策略来调节通过两个站点之间的单个 VPN 隧道的流量信息流,并且只有一组 IKE 和 IPsec SA 在运行。与基于策略的 VPN 不同,对于基于路由的 VPN,策略指的是目标地址,而非 VPN 隧道。当 Junos OS 查找路由以查找用于将流量发送到数据包目标地址的接口时,它将通过安全隧道接口 (st0.)x 查找路由。隧道接口绑定到特定的 VPN 隧道,如果策略操作允许,流量将路由到隧道。

安全隧道 (st0) 接口同时支持一个 IPv4 地址和一个 IPv6 地址。这适用于所有基于路由的 VPN。st0 接口不支持该 disable 选项。

注意:

从 st0.16000 到 st0.16385 的安全隧道接口 (st0) 保留用于机箱群集中的多节点高可用性和高可用性控制链路加密。这些接口不是用户可配置的接口。您只能使用 st0.0 到 st0.15999 之间的接口。

可以使用基于路由的 VPN 的位置示例:

  • 两个 LAN 之间存在重叠的子网或 IP 地址。

  • 网络中使用的是中心辐射型 VPN 拓扑,需要辐辐式流量。

  • 需要主 VPN 和备用 VPN。

  • VPN 中运行的是动态路由协议(例如,OSPF、RIP 或 BGP)。

    不支持通过点对多点 VPN 接口配置 RIP 按需电路。

如果要在多个远程站点之间配置 VPN,建议使用基于路由的 VPN。基于路由的 VPN 允许在多个远程站点之间的分支之间进行路由;更易于配置、监控和故障排除。

示例:配置基于路由的 VPN

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

要求

此示例使用以下硬件:

  • 任何 SRX 系列防火墙

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

您是否有兴趣亲身体验本指南中涵盖的主题和运维?立即访问 瞻博网络虚拟实验室中的基于 IPsec 路由的 VPN 演示 ,并预订免费沙盒!您可以在“安全性”类别中找到基于路由的 IPsec VPN 沙盒。

开始之前,请阅读 IPsec 概述

概述

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

图 1 显示了基于路由的 VPN 拓扑的示例。

图 1:基于路由的 VPN 拓扑 Network topology with Trust Zone and Untrust Zone connected via IPsec VPN. Left: SRX1 in Trust Zone with IP 10.100.11.1. Right: SRX2 in Trust Zone with IP 10.100.22.1. Untrust interfaces: SRX1 172.16.13.1, SRX2 172.16.23.1. Secure tunnel over the internet.

在此示例中,您将配置接口、IPv4 默认路由和安全区域。然后,配置 IKE、IPsec、安全策略和 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

 

st0.0(隧道接口)

10.100.200.1/24

静态路由

10.100.22.0/24

0.0.0.0/0

下一跃点为 st0.0。

下一跃点为 172.16.13.2。

安全性区域

信任

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

 

不信任

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

 

VPN

  • st0.0 接口绑定到此区域。

表 2: IKE 配置参数

功能

姓名

配置参数

提议

标准

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

策略

IKE-POL

  • 模式:主

  • 提议参考:标准

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

网关

IKE-GW

  • IKE 策略参考:IKE-POL

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

  • 网关地址:172.16.23.1

表 3: IPsec 配置参数

功能

姓名

配置参数

提议

标准

  • 使用默认配置

策略

IPSEC-POL

  • 提议参考:标准

VPN

VPN 到主机 2

  • IKE 网关参考:IKE-GW

  • IPsec 策略参考:IPSEC-POL

  • 绑定到接口:st0.0

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

目的

姓名

配置参数

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

VPN 输出

  • 匹配标准:

    • 源-地址 Host1-Net

    • 目标地址 Host2-Net

    • 应用 any

  • 操作:允许

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

VPN 输入

  • 匹配标准:

    • 源-地址 Host2-Net

    • 目标地址 Host1-Net

    • 应用 any

  • 操作:允许

表 5: TCP-MSS 配置参数

目的

配置参数

TCP-MSS 作为 TCP 三次握手的一部分进行协商,并限制 TCP 分段的最大大小,以便更好地适应网络上的 MTU 限制。对于 VPN 流量,IPsec 封装开销以及 IP 和帧开销会导致生成的 ESP 数据包超过物理接口的 MTU,从而导致分段。分段会增加带宽和设备资源。

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

MSS 值:1350

配置

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

CLI 快速配置

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

分步程序

下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南

要配置接口、静态路由和安全区域信息:

  1. 配置接口。

  2. 配置静态路由。

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

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

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

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

  7. 将安全隧道接口分配给 VPN 安全区域。

  8. 为 VPN 安全区域指定允许的系统服务。

结果

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

配置 IKE

CLI 快速配置

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

分步程序

下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南

要配置 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 示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit

分步程序

下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南

要配置 IPsec:

  1. 创建 IPsec 提议。

  2. 创建 IPsec 策略。

  3. 指定 IPsec 提议参考。

  4. 指定 IKE 网关。

  5. 指定 IPsec 策略。

  6. 指定要绑定的接口。

  7. 配置隧道以立即建立。

结果

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

配置安全性策略

CLI 快速配置

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

分步程序

下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南

要配置安全策略:

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

  2. 创建安全策略以允许从信任区域到非信任区域的流量流向 Internet。

  3. 创建安全策略,以允许从信任区域中的 Host1 发往 VPN 区域中的 Host2 的流量。

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

结果

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

配置 TCP-MSS

CLI 快速配置

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

分步程序

下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 CLI 用户指南

要配置 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

意义

show security ike security-associations 命令会列出所有活动 IKE SA。如果未列出任何 SA,则说明 IKE 建立存在问题。检查配置中的 IKE 策略参数和外部接口设置。

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

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

  • 远程地址 — 验证远程 IP 地址是否正确。

  • 省/州

    • UP — IKE SA 已建立。

    • DOWN — 建立 IKE SA 时出现问题。

  • 模式 — 验证正在使用正确的模式。

验证配置中的以下各项是否正确:

  • 外部接口(接口必须是接收 IKE 数据包的接口)

  • IKE 策略参数

  • 预共享密钥信息

  • 提议参数(必须在两个对等方上匹配)

show security ike security-associations index 1859340 detail 命令列出了有关索引号为 1859340 的安全关联的其他信息:

  • 使用的身份验证和加密算法

  • 生存期

  • 流量统计(可用于验证流量是否在两个方向上正常流动)

  • 角色信息

    最好使用响应方角色在对等方上执行故障排除。

  • 发起方和响应方信息

  • 创建的 IPsec SA 数

  • 正在进行的协商数

验证 IPsec 状态

目的

验证 IPsec 状态。

行动

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

意义

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

  • ID 号为 131074。将此值用于命令, show security ipsec security-associations index 可获取有关此特定 SA 的更多信息。

  • 有一个 IPsec SA 对使用端口 500,表示未实施任何 NAT 遍历。(NAT 遍历使用端口 4500 或其他随机大编号端口。)

  • 两个方向都会显示 SPI、生存期(以秒为单位)和使用限制(或生存大小,以 KB 为单位)。3403/unlim 值表示生存期将在 3403 秒后过期,未指定生存大小,表示没有限制。生存期可以不相同,因为在建立 VPN 后,IPsec 不依赖于 IKE。

  • 如 Mon 列中的连字符所示,没有为此 SA 启用 VPN 监控。如果启用 VPN 监控,U 表示监控已开启,而 D 表示监控已关闭。

  • 虚拟系统 (vsys) 是根系统,始终列出 0。

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

  • 本地身份和远程身份组成 SA 的代理 ID。

    代理 ID 不匹配是导致 IPsec 故障的最常见原因之一。如果未列出 IPsec SA,请确认 IPsec 提议(包括代理 ID 设置)对于两个对等方都是正确的。对于基于路由的 VPN,默认代理 ID 为本地 = 0.0.0.0/0,远程 = 0.0.0.0/0,服务 = any。来自相同对等方 IP 的多个基于路由的 VPN 可能会出现问题。在这种情况下,必须为每个 IPsec SA 指定唯一的代理 ID。对于某些第三方供应商,必须手动输入代理 ID 以进行匹配。

  • IPsec 故障的另一个常见原因是未指定 ST 接口绑定。如果 IPsec 无法完成,请检查 kmd 日志或设置追踪选项。

测试通过 VPN 的流量

目的

验证通过 VPN 的流量。

行动

使用 Host1 设备的命令测试 ping 流向 Host2 的流量。

意义

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

查看 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 or show security ipsec statistics detail 命令以确认加密和解密数据包计数器是否在递增。在命令输出中查找是否有任何递增的错误计数器。