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) 保留用于机箱群集中的多节点高可用性和 HA 控制链路加密。这些接口不是用户可配置的接口。只能使用 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 拓扑基于路由的 VPN 拓扑

在此示例中,您将配置接口、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。

安全区域

trust

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

 

untrust

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

 

vpn

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

表 2: IKE 配置参数

功能

名称

配置参数

提议

标准

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

策略

IKE-POL

  • 模式:主

  • 提议参考:标准

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

网关

艾克-吉瓦

  • IKE 策略参考:IKE-POL

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

  • 网关地址:172.16.23.1

表 3: IPsec 配置参数

功能

名称

配置参数

提议

标准

  • 使用默认配置

策略

IPSEC-POL

  • 提议参考:标准

VPN

VPN 到主机2

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

  • IPsec 策略参考:IPSEC-POL

  • 绑定到接口:st0.0

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

目的

名称

配置参数

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

VPN 输出

  • 匹配标准:

    • 源地址 Host1-Net

    • 目标地址 Host2-Net

    • application any

  • 操作:permit

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

VPN 输入

  • 匹配标准:

    • 源地址 Host2-Net

    • 目标地址 Host1-Net

    • 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. 为信任安全区域指定允许的系统服务。

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

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

成果

在配置模式下,输入 、 和 命令确认您的配置。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. 指定要绑定的接口。

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

成果

在配置模式下,输入 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. 创建安全策略以允许从信任区域到不信任区域的流量流向 Internet 的流量。

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

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

成果

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

配置 TCP-MSS

CLI 快速配置

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

分步过程

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

要配置 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 都是唯一的,您可以在命令中 使用它来获取有关 SA 的更多信息。show security ike security-associations index detail

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

  • State

    • 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 设备中的命令测试发往 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 statisticsshow security ipsec statistics detail 在命令输出中查找任何递增的错误计数器。