Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IPsec 规则和规则集

示例:配置 IKE 动态 SA

此示例说明如何配置 IKE 动态 SA,并包含以下部分。

要求

此示例使用以下硬件和软件组件:

  • 四台安装了多服务接口的 M Series、MX 系列或 T Series 路由器。

  • Junos OS 9.4 或更高版本。

在配置此功能之前,不需要除设备启动之外的特殊配置。

概述和拓扑

安全关联 (SA) 是一种单工连接,可让两台主机通过 IPsec 安全地相互通信。

动态 SA 最适合大规模、地理位置分散的网络,在这些网络中,手动分发、维护和跟踪密钥是一项艰巨的任务。动态 SA 配置了一组由安全网关协商的提议。密钥将作为协商的一部分生成,无需在配置中指定。动态 SA 包括一个或多个提议,允许您确定要与对等方协商的协议和算法列表的优先级。

拓扑学

图 1 显示了包含一组四台路由器的 IPsec 拓扑。此配置要求路由器 2 和 3 使用 IKE 动态 SA、增强型身份验证和加密建立 IPsec 隧道。路由器 1 和 4 提供基本连接,用于验证 IPsec 隧道是否正常运行。

图 1:IKE 动态 SA IKE Dynamic SAs
注意:

如果未在多服务 PIC 上指定 IKE 提议、IPsec 提议和 IPsec 策略,则 Junos OS 将默认为最高级别的加密和身份验证。因此,默认身份验证协议为 ESP,默认身份验证模式为 HMAC-SHA1-96,默认加密模式为 3DES-CBC。

配置

要配置 IKE 动态 SA,请执行以下任务:

注意:

此示例中显示的接口类型仅供参考。例如,您可以使用 so- interfaces 代替 ge-sp- ms-而不是 。

配置路由器 1

CLI 快速配置

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

分步过程

下面的示例要求您在各个配置层级中进行导航。有关 CLI 导航的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器

要配置路由器 1 以便与路由器 2 建立 OSPF 连接:

  1. 配置以太网接口和环路接口。

  2. 指定 OSPF 区域,并将接口与 OSPF 区域相关联。

  3. 配置路由器 ID。

  4. 提交配置。

结果

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

配置路由器 2

CLI 快速配置

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

分步过程

下面的示例要求您在各个配置层级中进行导航。有关 CLI 导航的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器

要在路由器 2 上配置 OSPF 连接和 IPsec 隧道参数:

  1. 配置接口属性。在此步骤中,您将配置两个以太网接口(ge-1/0/0 和 ge-1/0/1)、一个环路接口和一个多服务接口 (ms-1/2/0)。

  2. 指定 OSPF 区域,并将接口与 OSPF 区域相关联。

  3. 配置路由器 ID。

  4. 配置 IPsec 规则。在此步骤中,您将配置 IPsec 规则,指定手动 SA 参数,例如远程网关地址、身份验证和加密属性等。

    注意:

    默认情况下,Junos OS 使用 IKE 策略版本 1.0。Junos OS 11.4 和更高版本还支持 IKE 策略 2.0 版,您必须在 [edit services ipsec-vpn ike policy policy-name pre-shared]中配置该策略。

  5. 配置下一跃点样式服务集,指定本地网关地址,并将 IPsec VPN 规则与服务集相关联。

  6. 提交配置。

结果

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

配置路由器 3

CLI 快速配置

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

分步过程

下面的示例要求您在各个配置层级中进行导航。有关 CLI 导航的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器

要在路由器 3 上配置 OSPF 连接和 IPsec 隧道参数:

  1. 配置接口属性。在此步骤中,您将配置两个以太网接口(ge-1/0/0 和 ge-1/0/1)、一个环路接口和一个多服务接口 (ms-1/2/0)。

  2. 指定 OSPF 区域,并将接口与 OSPF 区域相关联。

  3. 配置路由器 ID。

  4. 配置 IPsec 规则。在此步骤中,您将配置 IPsec 规则并指定手动 SA 参数,例如远程网关地址、身份验证和加密属性等。

  5. 配置下一跃点样式服务集,指定本地网关地址,并将 IPsec VPN 规则与服务集相关联。

  6. 提交配置。

结果

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

配置路由器 4

CLI 快速配置

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

分步过程

下面的示例要求您在各个配置层级中进行导航。有关 CLI 导航的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器

要设置与路由器 4 的 OSPF 连接

  1. 配置接口。在此步骤中,您将配置一个以太网接口 (ge-1/0/1) 和一个环路接口。

  2. 指定 OSPF 区域,并将接口与 OSPF 区域相关联。

  3. 配置路由器 ID。

结果

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

验证

验证您在路由器 1 上的工作

目的

验证路由器 1 的正确作。

行动

在作模式下,向路由器 4 上的 ge-0/0/0 接口输入 ping 10.1.56.2 命令,以通过 IPsec 隧道发送流量

意义

输出显示路由器 1 能够通过 IPsec 隧道访问路由器 4。

验证您在路由器 2 上的工作

目的

验证 IKE SA 协商是否成功。

行动

在作模式下,输入 show services ipsec-vpn ike security-associations 命令。

要验证 IPsec 安全关联是否处于活动状态,请发出 show services ipsec-vpn ipsec security-associations detail 命令。请注意,SA 包含多服务 PIC 中固有的默认设置,例如协议的 ESP 和身份验证算法的 HMAC-SHA1-96。

在作模式下,输入 show services ipsec-vpn ipsec security-associations detail 命令。

要验证流量是否通过双向 IPsec 隧道,请发出 show services ipsec-vpn statistics 以下命令:

在作模式下,输入 show services ipsec-vpn statistics 命令。

意义

show services ipsec-vpn ipsec security-associations detail命令输出显示您配置的 SA 属性。

show services ipsec-vpn ipsec statistics命令输出显示通过 IPsec 隧道的流量。

验证您在路由器 3 上的工作

目的

验证路由器 3 上的 IKE SA 协商是否成功。

行动

在作模式下,输入 show services ipsec-vpn ike security-associations 命令。要获得成功,路由器 3 上的 SA 必须包含您在路由器 2 上指定的相同设置。

要验证 IPsec SA 是否处于活动状态,请发出 show services ipsec-vpn ipsec security-associations detail 命令。要获得成功,路由器 3 上的 SA 必须包含您在路由器 2 上指定的相同设置。

在作模式下,输入 show services ipsec-vpn ipsec security-associations detail 命令。

要验证流量是否通过双向 IPsec 隧道,请发出 show services ipsec-vpn statistics 以下命令:

在作模式下,输入 show services ipsec-vpn ike security-associations 命令。

意义

show services ipsec-vpn ipsec security-associations detail命令输出显示您配置的 SA 属性。

show services ipsec-vpn ipsec statistics命令输出显示通过 IPsec 隧道的流量。

验证您在路由器 4 上的工作

目的

验证 IKE SA 协商是否成功。

行动

在作模式下,向路由器 1 上的 ge-0/0/0 接口输入 ping 10.1.12.2 命令,以通过 IPsec 隧道发送流量。

要确认流量是否通过 IPsec 隧道,请向路由器 1 上的 ge-0/0/0 接口发出 traceroute 命令。请注意,路径中未引用路由器 2 和 3 之间的物理接口;流量通过路由器 3 上的自适应服务 IPsec 内部接口进入 IPsec 隧道,通过路由器 2 上的环路接口,最后到达路由器 1 上的 ge-0/0/0 接口。

在作模式下,输入 traceroute 10.1.12.2.

意义

ping 10.1.12.2输出显示路由器 4 能够通过 IPsec 隧道访问路由器 1。

traceroute 10.1.12.2输出显示流量在 IPsec 隧道中传输。

配置 IPsec 规则

要配置 IPsec 规则,请包含 rule 语句并在层次结构级别指定规则名称 [edit services ipsec-vpn]

每个 IPsec 规则都由一组术语组成,类似于防火墙过滤器。

术语由以下内容组成:

  • from 语句 - 指定包含和排除的匹配条件和应用程序。

  • then 语句 — 指定路由器软件要执行的作和作修饰符。

以下部分说明如何配置 IPsec 规则的组件:

配置 IPsec 规则的匹配方向

每个规则都必须包含一个match-direction语句,用于指定是在接口的输入端还是输出端应用匹配。要配置应用匹配的位置,请在[edit services ipsec-vpn rule rule-name]层次结构级别包含语match-direction (input | output)句:

注意:

ACX 系列路由器不支持 match-direction AS output

匹配方向用于通过 AS 或多服务 PIC 的流量。将数据包发送到 PIC 时,会随身携带方向信息。

对于接口服务集,数据包的方向由数据包是进入还是离开应用服务集的接口决定。

使用下一跃点服务集时,数据包的方向由用于将数据包路由到 AS 或多服务 PIC 的接口决定。如果使用内部接口路由数据包,则输入数据包方向。如果使用外部接口将数据包定向到 PIC,则输出数据包方向。

在 AS 或多服务 PIC 上,将执行流查找。如果未找到流,则执行规则处理。将考虑服务集中的所有规则。在规则处理期间,系统会将数据包方向与规则方向进行比较。仅考虑方向信息与数据包方向匹配的规则。

在 IPsec 规则中配置匹配条件

要在 IPsec 规则中配置匹配条件,请在[edit services ipsec-vpn rule rule-name term term-name]层次结构级别包含以下from语句:

您可以使用源地址或目标地址作为匹配条件,就像配置防火墙过滤器一样;有关详细信息,请参阅 Junos OS 路由协议库

IPsec 服务同时支持 IPv4 和 IPv6 地址格式。如果未特定配置源地址或目标地址,则使用默认值 0.0.0.0/0 (IPv4 ANY)。要使用 IPv6 ANY (0::0/128) 作为源地址或目标地址,必须对其进行显式配置。

注意:

ACX 系列上的 IPsec 服务支持 IPv4 地址格式。如果未特定配置源地址或目标地址,则使用默认值 0.0.0.0/0 (IPv4 ANY)。

该语句仅适用于下一跃点样式的服务集,ipsec-inside-interface能够将逻辑接口分配给由于此匹配条件而建立的隧道。inside-service-interface您可以在层次结构级别配置[edit services service-set name next-hop-service]的语句允许您将和 .2 指定.1为内部接口和外部接口。但是,您可以使用该service-domain inside语句配置多个自适应服务逻辑接口,并使用其中一个接口来配置ipsec-inside-interface语句。

Junos OS 将评估您在语句中配置的from条件。如果在同一下一跳样式服务集中配置了多个链路类型隧道,则如果所有隧道的源地址和目的地址均为 0.0.0.0/0 (ANY-ANY),则ipsec-inside-interface该值使规则查找模块能够将特定隧道与其他隧道区分开来。

注意:

配置 ipsec-inside-interface 语句时,不支持接口样式的服务集。

一种特殊情况是由包含“任意-任意”匹配条件的术语提供的(通常是因为省略了 from 该语句)。如果隧道中存在任意-任意匹配项,则不需要流,因为此隧道中的所有流量都使用相同的安全关联 (SA),并且数据包选择器不会发挥重要作用。因此,这些隧道将使用基于数据包的 IPsec。此策略会在 PIC 上节省一些流量资源,这些资源可用于需要基于流服务的其他隧道。

以下配置示例显示了 any-any 隧道配置,其中没有 fromterm-1句。如果子句中缺少选择器 from ,则会导致基于数据包的 IPsec 服务。

无流 IPsec 服务适用于具有任意匹配的链路类型隧道,以及专用和共享模式下具有任意匹配的动态隧道。

对于链路型隧道,服务集支持混合使用无流 IPsec 和基于流的 IPsec。如果服务集在子句中 from 包含一些带有任意-任意匹配的术语和一些带有选择器的术语,则将为任意-任意隧道提供基于数据包的服务,为带有选择器的其他隧道提供基于流的服务。

对于非链路类隧道,如果服务集同时包含任意条件条款和基于选择器的条款,则会向所有隧道提供基于流的服务。

在 IPsec 规则中配置作

要在 IPsec 规则中配置作,请在[edit services ipsec-vpn rule rule-name term term-name]层次结构级别包含语then句:

IPsec 的主要作是配置动态或手动 SA:

  • 配置动态 SA 的方法是在[edit services ipsec-vpn rule rule-name term term-name then]层次结构级别包含dynamic语句,并引用您在和[edit services ipsec-vpn ike]层次结构级别配置[edit services ipsec-vpn ipsec]的策略。

  • 您可以通过在[edit services ipsec-vpn rule rule-name term term-name then]层次结构级别包含manual语句来配置手动 SA。

您可以配置以下附加属性:

启用 IPsec 数据包分片

要在 IPsec 隧道中启用 IP 版本 4 (IPv4) 数据包分段,请在[edit services ipsec-vpn rule rule-name term term-name then]层次结构级别包含以下clear-dont-fragment-bit语句:

无论数据包大小如何,设置 clear-dont-fragment-bit 语句都会清除数据包标头中的不分段 (DF) 位。如果数据包大小超过隧道最大传输单元 (MTU) 值,则数据包会在封装前进行分段处理。对于 IPsec 隧道,无论接口 MTU 设置如何,默认 MTU 值均为 1500。

配置失效对等体检测的目标地址

要指定 IPsec 流量定向到的远程地址,请在[edit services ipsec-vpn rule rule-name term term-name then]层次结构级别包含语remote-gateway句:

要指定备份远程地址,请在[edit services ipsec-vpn rule rule-name term term-name then]层次结构级别包含语backup-remote-gateway句:

这两个语句同时支持 IPv4 和 IPv6 地址格式。

配置该 backup-remote-gateway 语句将启用失效对等方检测 (DPD) 协议,该协议将监视隧道状态和远程对等方可用性。当语句定义 remote-gateway 的主隧道处于活动状态时,备用隧道处于备用模式。如果 DPD 协议确定不再可访问主远程网关地址,则会为备份地址建立新的隧道。

如果在定义的 10 秒间隔内没有来自对等方的传入流量,路由器会将隧道检测为非活动状态。全局计时器每 10 秒轮询一次所有隧道,并且自适应服务 (AS) 或多服务物理接口卡 (PIC) 发送一条消息,列出任何非活动隧道。如果隧道变为非活动状态,路由器将按照以下步骤故障转移到备份地址:

  1. 自适应服务消息触发 DPD 协议向对等方发送hello 消息。

  2. 如果未收到确认,则每隔 2 秒发送两次重试,然后宣布隧道已失效。

  3. 如果隧道被宣布为无效或存在 IPsec 第 1 阶段协商超时,则发生故障切换。主隧道处于备用模式,备份隧道将变为活动状态。

  4. 如果与备用隧道的协商超时,路由器将切换回主隧道。如果两个对等方都已关闭,它将尝试故障切换六次。然后,它将停止故障切换并恢复到原始配置,主隧道处于活动状态,备份隧道处于备用模式。

您还可以通过在[edit services ipsec-vpn rule rule-name term term-name then]层次结构级别包含initiate-dead-peer-detection语句来启用 DPD hello 消息的触发,而无需配置备份远程网关:

此外,对于 IKEv1 SA,使用initiate-dead-peer-detection语句时,可以在语dead-peer-detection句下设置intervalthreshold 选项。从 Junos OS 17.2R1 版开始,“intervalthreshold”选项也适用于 IKEv2 SA。在 Junos OS 17.1 及更低版本中,“intervalthreshold”选项不适用于使用默认值的 IKEv2 SA。间隔是对等方在发送 DPD 请求数据包之前等待来自其目标对等方的流量的时间量,阈值是在对等方被视为不可用之前发送的最大不成功的 DPD 请求数。

监视行为与语句所述 backup-remote-gateway 相同。此配置使路由器能够在不存在备份 IPsec 网关时启动 DPD hello,并在无法访问 IKE 对等方时清理 IKE 和 IPsec SA。

如果 DPD 协议确定不再可访问主远程网关地址,则会为备份地址建立新的隧道。但是,如果您在没有备份远程网关地址的情况下进行配置 initiate-dead-peer-detection ,并且 DPD 协议确定主远程网关地址不再可访问,隧道将被声明为无效,并且 IKE 和 IPsec SA 将被清理。

有关 DPD 协议的详细信息,请参阅 RFC 3706, 一种基于流量的不工作互联网密钥交换 (IKE) 对等方检测方法。

配置或禁用 IPsec 防重放

要配置 IPsec 防重放窗口的大小,请在[edit services ipsec-vpn rule rule-name term term-name then]层次结构级别包含语anti-replay-window-size句:

anti-replay-window-size 可以取 64 到 4096 位范围内的值。AS PIC 的默认值为 64 位,多服务 PIC 和 DPC 的默认值为 128 位。AS PIC 可支持的最大重放窗口大小为 1024 位,而多服务 PIC 和 DPC 可支持的最大重放窗口大小为 4096 位。当软件提交 IPsec 配置时,密钥管理进程 (kmd) 无法区分服务接口类型。因此,如果 AS PIC 的最大防重放窗口大小超过 1024,则提交将成功,并且不会生成错误消息。但是,软件会在内部将 AS PIC 的防重放窗口大小设置为 1024 位,即使配置 anti-replay-window-size 的值较大也是如此。

要禁用 IPsec 防重放功能,请在[edit services ipsec-vpn rule rule-name term term-name then]层次结构级别包含以下no-anti-replay语句:

默认情况下,防重放服务处于启用状态。有时,这可能会导致与其他供应商设备的互作性问题。

指定 IPsec 隧道的 MTU

要为 IPsec 隧道配置特定的最大传输单元 (MTU) 值,请在[edit services ipsec-vpn rule rule-name term term-name then]层次结构级别包含以下tunnel-mtu语句:

注意:

tunnel-mtu设置是为 IPsec 隧道配置 MTU 值的唯一位置。不支持在[edit interfaces sp-fpc/pic/port unit logical-unit-number family inet]层次结构级别包含mtu设置。

配置 IPsec 规则集

rule-set语句定义一系列 IPsec 规则,用于确定路由器软件对数据流中的数据包执行哪些作。您可以通过指定规则名称和配置术语来定义每个规则。然后,通过在[edit services ipsec-vpn]层次结构级别上包含rule-set语句来指定规则的顺序,每个规则都有一条rule语句:

路由器软件按照您在配置中指定的顺序处理规则。如果规则中的术语与数据包匹配,路由器将执行相应的作,规则处理将停止。如果规则中没有术语与数据包匹配,则处理将继续到规则集中的下一个规则。如果所有规则都与数据包不匹配,则默认情况下丢弃数据包。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。

释放
描述
17.2R1
从 Junos OS 17.2R1 版开始,“ intervalthreshold ”选项也适用于 IKEv2 SA。