Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

基于下一跳的动态隧道

示例:配置基于下一跃点的 MPLS over UDP 动态隧道

此示例说明如何配置包含隧道复合下一跃点的动态 MPLS over UDP 隧道。MPLS over-UDP 功能在设备上支持的 IP 隧道数量上提供了扩展优势。

从 Junos OS 18.3R1 版开始,PTX 系列路由器和 QFX 系列交换机支持 MPLS over UDP 隧道。对于在 PTX 路由器或 QFX 交换机上配置的每个动态隧道,将创建一个隧道复合下一跃点、一个间接下一跃点和一个转发下一跃点来解析隧道目标路由。您还可以使用策略控制通过在层次结构级别包含 forwarding-rib 配置语句 来解析选定前缀上的动态隧道。[edit routing-options dynamic-tunnels]

要求

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

  • 五个带有 MPC 和 MIC 的 MX 系列路由器。

  • 在提供商边缘 (PE) 路由器上运行的 Junos OS 16.2 或更高版本。

准备工作:

  1. 配置设备接口,包括环路接口。

  2. 配置设备的路由器 ID 和自动系统编号。

  3. 与远程 PE 设备建立内部 BGP (IBGP) 会话。

  4. 在设备之间建立 OSPF 对等互连。

概述

从 Junos OS 16.2 版开始,动态 UDP 隧道支持为每个配置的 UDP 隧道创建隧道复合下一跃点。这些基于下一跃点的动态 UDP 隧道称为 MPLS over UDP 隧道。默认情况下,为 MPLS over UDP 隧道启用隧道复合下一跃点。

MPLS over UDP 隧道本质上可以是双向的,也可以是单向的。

  • 双向 — 当 PE 设备通过 MPLS over UDP 隧道双向连接时,称为双向 MPLS over UDP 隧道。

  • 单向 — 当两个 PE 设备通过 MPLS over UDP 隧道在一个方向上连接,在另一个方向上通过 MPLS/IGP 连接时,称为单向 MPLS-over-UDP 隧道。

    单向 MPLS-over-UDP 隧道用于迁移场景,或者两个 PE 设备通过两个脱节网络提供相互连接的情况。由于单向 MPLS over UDP 隧道不存在反向隧道,因此您必须在远程 PE 设备上配置基于过滤器的 MPLS over UDP 解封装以转发流量。

从 Junos OS 18.2R1 版开始,在 PTX 系列路由器和具有单向 MPLS-over-UDP 隧道的 QFX10000 上,您必须为远程 PE 设备配置一个用于 MPLS-over-UDP 数据包的输入过滤器,以及一个用于解封装 IP 和 UDP 标头的操作,以便沿反向隧道方向转发数据包。

例如,在远程 PE 设备(设备 PE2)上,单向 MPLS over UDP 隧道需要以下配置:

PE2

在上述配置示例中, 是用于 MPLS over UDP 解封装的防火墙过滤器的名称。Decap_Filter 该术语 是输入过滤器,用于在设备 PE2 面向核心的接口上接受 UDP 数据包,然后将 MPLS-over-UDP 数据包解封装为 MPLS-over-IP 数据包进行转发。udp_decap

您可以使用现有的防火墙操作模式命令,例如 查看基于过滤器的 MPLS over UDP 解封装。show firewall filter

例如:

注:

对于基于 UDP 的单向 MPLS 隧道:

  • 仅支持 IPv4 地址作为外部标头。基于过滤器的 MPLS over UDP 解封装不支持外部标头中的 IPv6 地址。

  • 解封装后仅支持默认路由实例。

从 Junos OS 17.1 版开始,在带有 MPC 和 MIC 的 MX 系列路由器上,MPLS over UDP 隧道的扩展限制将会提高。

从 Junos 版本 19.2R1 开始,在配备 MPC 和 MIC 的 MX 系列路由器上,运营商支持运营商 (CSC) 架构可以部署为 MPLS-over-UDP 隧道,通过动态 IPv4 UDP 隧道传输 MPLS 流量,这些隧道在支持运营商的 PE 设备之间建立。通过此增强功能,MPLS over UDP 隧道提供的扩展优势将进一步增强。IPv6 UDP 隧道不支持对 MPLS-over-UDP 隧道的 CSC 支持。

现有的动态隧道功能需要完整的静态配置。目前,从通告路由中的对等设备接收的隧道信息将被忽略。从 Junos OS 17.4R1 版开始,在 MX 系列路由器上,基于下一跳的动态 MPLS-over-UDP 隧道使用 BGP 封装扩展社区发出信号。BGP 导出策略用于指定隧道类型、通告发送方侧隧道信息以及解析和传送接收方端隧道信息。根据接收到的类型隧道社区创建隧道。

BGP 支持多个隧道封装。收到多种功能后,将根据配置的 BGP 策略和隧道首选项创建基于下一跃点的动态隧道。对于要设置的隧道,隧道两端的隧道优先级应一致。默认情况下,MPLS over UDP 隧道优先于 GRE 隧道。如果存在动态隧道配置,则它优先于收到的隧道社区。

配置基于下一跃点的动态 MPLS over UDP 隧道时,请注意以下注意事项:

  • 必须在 PE 设备之间配置 IBGP 会话。

  • 允许在基于下一跃点的动态隧道封装(UDP 和 GRE)之间进行切换,这可能会影响每种模式下支持的 IP 隧道扩展值的网络性能。

  • 对同一隧道目标同时使用基于 GRE 和 UDP 下一跃点的动态隧道封装类型会导致提交失败。

  • 对于单向 MPLS over UDP 隧道,您必须在远程 PE 设备上显式配置基于过滤器的 MPLS over UDP 解封装,以便转发数据包。

  • MPLS-over-UDP 支持平滑路由引擎切换 (GRES),并且 MPLS-over-UDP 隧道类型标志符合统一的 ISSU 和 NSR。

  • 精简模式下的虚拟 MX (vMX) 支持 MPLS over UDP 隧道。

  • MPLS over-UDP 隧道支持基于新的 IPv4 映射的 IPv6 下一跃点创建动态 GRE 隧道。

  • MPLS-over-UDP 隧道在与 contrail 的互操作性中受支持,其中 MPLS-over-UDP 隧道是从 contrail vRouter 创建的到 MX 网关。要启用此功能,需要在从 MX 系列路由器到 contrail vRouter 的路由中通告以下社区:

    在给定的时间点,contrail vRouter 仅支持一种隧道类型:基于下一跃点的动态 GRE 隧道、MPLS over UDP 隧道或 VXLAN。

  • 基于下一跃点的动态 MPLS over UDP 隧道配置不支持以下功能:

    • RSVP 自动网格

    • 普通 IPV6 GRE 和 UDP 隧道配置

    • 逻辑系统

拓扑

图 1 展示了通过动态 MPLS-over-UDP 隧道实现的第 3 层 VPN 场景。客户边缘 (CE) 设备 CE1 和 CE2 分别连接到提供商边缘 (PE) 设备 PE1 和 PE2。PE 设备连接到提供商设备(设备 P1),内部 BGP (IBGP) 会话互连两个 PE 设备。在 PE 设备之间配置了基于下一跃点的动态双向 MPL over UDP 隧道。

图 1: 基于 UDP 的动态 MPLS 隧道基于 UDP 的动态 MPLS 隧道

MPLS over-UDP 隧道的处理方式如下:

  1. 配置 MPLS over UDP 隧道后,将为 inet.3 路由表中的隧道创建具有隧道复合下一跃点的隧道目标掩码路由。仅当删除动态隧道配置时,才会撤销此 IP 隧道路由。

    隧道复合下一跃点属性包括:

    • 禁用第 3 层 VPN 复合下一跃点时 — 源地址和目标地址、封装字符串和 VPN 标签。

    • 启用第 3 层 VPN 复合下一跃点和每前缀 VPN 标签分配时 — 源地址、目标地址和封装字符串。

    • 启用第 3 层 VPN 复合下一跃点并禁用每前缀 VPN 标签分配时 - 源地址、目标地址和封装字符串。在这种情况下,路由将添加到具有辅助路由的其他虚拟路由和转发实例表中。

  2. PE 设备使用 IBGP 会话互连。到远程 BGP 邻接方的 IBGP 路由下一跃点是协议下一跃点,可使用隧道掩码路由和隧道下一跃点进行解析。

  3. 通过隧道复合下一跃点解析协议下一跃点后,将创建带有转发下一跃点的间接下一跃点。

  4. 隧道复合下一跃点用于转发间接下一跃点的下一跃点。

配置

CLI 快速配置

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

CE1

CE2

PE1

P1

PE2

程序

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 PE1:

  1. 配置设备接口,包括设备的环路接口。

  2. 为来自设备 PE1 的路由配置静态路由,并将设备 P1 作为下一跃点目标。

  3. 配置设备 PE1 的路由器 ID 和自治系统编号。

  4. (仅限 PTX 系列)配置策略控制以解析通过选定前缀的 MPLS over UDP 动态隧道路由。

  5. (仅限 PTX 系列)配置 inet-import 策略以通过 解析动态隧道目标路由。

  6. 配置 PE 设备之间的 IBGP 对等互连。

  7. 在设备 PE1 的所有接口上配置 OSPF,管理接口除外。

  8. 在设备 PE1 上启用基于下一跃点的动态 GRE 隧道配置。

    注:

    此步骤仅用于说明基于下一跃点的动态 GRE 隧道与基于 UDP 的 MPLS 隧道之间的实现差异。

  9. 配置从设备 PE1 到设备 PE2 的 MPLS over UDP 隧道参数。

  10. 在设备 PE1 和其他路由实例参数上配置 VRF 路由实例。

  11. 在路由实例配置中启用 BGP,以便与设备 CE1 对等互连。

成果

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

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

验证

确认配置工作正常。

验证 PE 设备之间的连接

目的

验证设备 PE1 和设备 PE2 之间的 BGP 对等状态,以及从设备 PE2 接收的 BGP 路由。

操作

在操作模式下,运行 和 命令。show bgp summaryshow route receive-protocol bgp ip-address table bgp.l3vpn.0

意义
  • 在第一个输出中,BGP 会话状态为 ,这意味着会话已启动且 PE 设备已对等互连。Establ

  • 在第二个输出中,设备 PE1 已从设备 PE2 获知 BGP 路由。

验证设备 PE1 上的动态隧道路由

目的

验证 inet.3 路由表中的路由以及设备 PE1 上的动态隧道数据库信息。

操作

在操作模式下,运行 、 、 和 命令。show route table inet.3show dynamic-tunnels database terseshow dynamic-tunnels databaseshow dynamic-tunnels database summary

意义
  • 在第一个输出中,由于设备 PE1 配置了 MPLS-over-UDP 隧道,因此将为 inet.3 路由表路由条目创建一个隧道复合路由。

  • 在其余输出中,将显示 MPLS-over-UDP 隧道以及隧道封装类型、隧道下一跃点参数和隧道状态。

验证设备 PE2 上的动态隧道路由

目的

验证 inet.3 路由表中的路由以及设备 PE2 上的动态隧道数据库信息。

操作

在操作模式下,运行 和命令 。show route table inet.3show dynamic-tunnels database terse

意义

输出显示 MPLS over UDP 隧道的创建以及分配为下一跃点接口的下一跃点 ID,类似于设备 PE1。

验证路由是否具有预期的间接下一跃点标志

目的

验证设备 PE1 和设备 PE2 是否配置为在数据包转发引擎转发表上维护到转发下一跃点的间接下一跃点绑定。

操作

在操作模式下, 在设备 PE1 和设备 PE2 上运行命令。show krt indirect-next-hop

意义

输出显示,在 PE 设备之间创建了一个基于下一跳的动态 MPLS over UDP 隧道。

故障排除

要对基于下一跃点的动态隧道进行故障排除,请参阅:

命令疑难解答

问题

基于下一跳的动态 MPLS 基于 UDP 隧道配置未生效。

解决方案

要对基于下一跃点的 MPLS over UDP 隧道配置进行故障排除,请在语句层次结构中使用以下命令:traceroute[edit routing-options dynamic-tunnels]

  • traceoptions file file-name

  • traceoptions file size file-size

  • traceoptions flag all

例如:

基于下一跳的动态隧道的反欺骗保护概述

随着大规模 IP 隧道在数据中心部署的增加,需要添加安全措施,允许用户限制来自受损虚拟机 (VM) 的恶意流量。一种可能的攻击是通过网关路由器将流量从受感染的服务器注入任意客户 VPN。在这种情况下,对 IP 隧道的反欺骗检查可确保只有合法来源才将流量从其指定的 IP 隧道注入数据中心。

基于下一跳跃的动态 IP 隧道会为设备上创建的每条动态隧道创建一个隧道复合下一跃点。由于基于下一跳的动态隧道消除了配置的每个新动态隧道对物理接口的依赖,因此配置基于下一跃点的动态隧道比可在设备上创建的动态隧道数量具有扩展优势。从 Junos OS 17.1 版开始,基于下一跃点的动态隧道为基于下一跃点的动态 IP 隧道提供了反欺骗功能。通过此增强功能,将实施一项安全措施,以防止流量通过网关路由器从受感染的服务器注入任意客户 VPN。

反欺骗是使用数据包转发引擎中的反向路径转发检查实现的。将对通过隧道到达路由实例的流量实施检查。目前,当网关路由器从隧道接收流量时,只有目标查找我们完成并相应地转发数据包。启用反欺骗保护后,除了查找隧道目标外,网关路由器还会对 VPN 中的封装数据包 IP 标头执行源地址查找。这可以确保合法源通过其指定的 IP 隧道注入流量。因此,反欺骗保护可确保从指定隧道上的合法来源接收隧道流量。

图 2 说明了具有反欺骗保护要求的示例拓扑。

图 2: 基于下一跳的动态隧道的反欺骗保护基于下一跳的动态隧道的反欺骗保护

在此示例中,网关路由器是路由器 G.路由器 G 有两个 VPN:绿色和蓝色。服务器 A 和服务器 B 这两台服务器可以分别通过基于下一跳的动态隧道 T1 和 T2 到达路由器 G 上的绿色和蓝色 VPN。连接到服务器的多个主机和虚拟机(P、Q、R、S 和 T)可以通过网关路由器 G 访问 VPN.路由器 G 具有绿色和蓝色 VPN 的虚拟路由和转发 (VRF) 表,每个表都填充了这些 VPN 中虚拟机的可访问性信息。

例如,在 VPN Green 中,路由器 G 使用隧道 T1 到达主机 P,使用隧道 T2 到达主机 R 和 S,并在隧道 T1 和 T2 之间完成负载平衡以到达多宿主主机 Q。在 VPN Blue 中,路由器 G 使用隧道 T1 到达主机 P 和 R,使用隧道 T2 到达主机 Q 和 T。

在以下情况下,反向路径转发的检查通过:

  • 数据包来自其指定隧道上的合法来源。

    VPN Green 中的主机 P 使用隧道 T1 向主机 X 发送数据包。由于路由器 G 可以通过隧道 T1 到达主机 P,因此它允许数据包传递数据包并将其转发到主机 X。

  • 数据包来自其指定隧道上的多宿主源。

    VPN Green 中的主机 Q 在服务器 A 和 B 上是多宿主的,可以通过隧道 T1 和 T2 到达路由器 G。主机 Q 使用隧道 T1 向主机 Y发送数据包,并使用隧道 T2 向主机 X 发送数据包。由于路由器 G 可以通过隧道 T1 和 T2 到达主机 Q,因此它允许数据包分别传递并转发给主机 Y 和 X。

默认情况下,第 3 层 VPN 未启用反欺骗保护。要为基于下一跃点的动态隧道启用反欺骗,请在层次结构级别包含 语句 。ip-tunnel-rpf-check[edit routing-instances routing-instance-name routing-options forwarding-table] 反向路径转发检查仅适用于 VRF 路由实例。默认模式设置为 ,其中来自非指定隧道上的源的数据包未通过检查。strict 可以将 模式设置为 ,当数据包来自不存在的源时,反向路径转发检查将失败。ip-tunnel-rpf-checkloose 可以在语句下 配置可选的防火墙过滤器,以计算和记录未通过反向路径转发检查的数据包。ip-tunnel-rpf-check

以下示例输出显示了反欺骗配置:

为基于下一跃点的动态隧道配置反欺骗保护时,请考虑以下准则:

  • 只能为 IPv4 隧道和 IPv4 数据流量启用反欺骗保护。IPv6 隧道和 IPv6 数据流量不支持反欺骗功能。

  • 基于下一跃点的动态隧道的反欺骗可以检测并防止遭到入侵的虚拟机(内部源反向路径转发检查),但不能检测并防止遭到入侵的标签欺骗服务器。

  • 基于下一跃点的 IP 隧道可以在 inet.0 路由表上发起和终止。

  • 当 VRF 路由实例具有标签交换接口 (LSI)(使用 )或虚拟隧道 (VT) 接口时,反欺骗保护有效。vrf-table-label 如果 VRF 路由实例上有标签,则 不支持反欺骗保护。per-next-hop

  • 仅适用于 内部 IP 数据包。rpf fail-filter

  • 启用反欺骗检查不会影响设备上基于下一跃点的动态隧道的扩展限制。

  • 为 VRF 路由实例启用反欺骗保护的系统资源利用率略高于未启用反欺骗保护的基于下一跃点的动态隧道的利用率。

  • 反欺骗保护需要额外的源 IP 地址检查,这对网络性能的影响最小。

  • 平滑路由引擎切换 (GRES) 和服务中软件升级 (ISSU) 受反欺骗保护支持。

示例:为基于下一跳的动态隧道配置反欺骗保护

此示例说明如何为虚拟路由和转发 (VRF) 路由实例配置反向路径转发检查,以便为基于下一跃点的动态隧道启用反欺骗保护。这些检查可确保合法源通过其指定的 IP 隧道注入流量。

要求

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

  • 三个带 MIC 的 MX 系列路由器,每个路由器都连接到一个主机设备。

  • 在一个或所有路由器上运行的 Junos OS 17.1 或更高版本。

准备工作:

  • 在灵活 PIC 集中器上启用隧道服务配置。

  • 配置路由器接口。

  • 配置路由器 ID 并为路由器分配自治系统编号。

  • 建立与隧道端点的内部 BGP (IBGP) 会话。

  • 在所有路由器上配置 RSVP。

  • 在所有路由器上配置 OSPF 或任何其他内部网关协议。

  • 在两个路由器之间配置两个基于下一跃点的动态 IP 隧道。

  • 为每个路由器到主机连接配置 VRF 路由实例。

概述

从 Junos OS 17.1 版开始,反欺骗功能将添加到基于下一跃点的动态 IP 隧道中,其中使用数据包转发引擎中的反向路径转发来检查通过隧道到达路由实例的流量。

目前,当网关路由器从隧道接收流量时,仅在转发之前完成目标地址查找。借助反欺骗保护,网关路由器会对 VPN 中的封装数据包 IP 标头执行源地址查找,以确保合法源通过其指定的 IP 隧道注入流量。这称为严格模式,是反欺骗保护的默认行为。要传递来自非指定隧道的流量,将在丢失模式下启用反向路径转发检查。对于从不存在的源接收的流量,严格模式和松散模式的反向路径转发检查都会失败。

VRF 路由实例支持反欺骗。要为动态隧道启用反欺骗,请在层次结构级别包含 语句 。ip-tunnel-rpf-check[edit routing-instances routing-instance-name routing-options forwarding-table]

拓扑

图 3 说明了启用了反欺骗保护的示例网络拓扑。路由器 R0、R1 和 R2 分别连接到主机 Host0、Host1 和主机 2。两个基于下一跃点的通用路由封装 (GRE) 动态隧道(隧道 1 和隧道 2)分别将路由器 R0 与路由器 R1 和 R2 连接。VRF 路由实例在每个路由器及其连接的主机设备之间运行。

图 3: 基于下一跳的动态隧道的反欺骗保护基于下一跳的动态隧道的反欺骗保护

例如,路由器 0 上通过基于下一跳的动态 GRE 隧道(隧道 2)从路由器 R2 接收三个数据包(数据包 A、B 和 C)。这些数据包的源 IP 地址为 172.17.0.2(数据包 A)、172.18.0.2(数据包 B)和 172.20.0.2(数据包 C)。

数据包 A 和 B 的源 IP 地址分别属于主机 2 和主机 1。数据包 C 是不存在的源隧道。此示例中的指定隧道为隧道 2,未指定隧道为隧道 1。因此,按如下方式处理数据包:

  • Packet A— 由于源来自指定的隧道(隧道 2),因此数据包 A 通过反向路径转发检查,并进行处理以通过隧道 2 进行转发。

  • Packet B— 由于源来自隧道 1(即非预定隧道),因此默认情况下,数据包 B 在严格模式下无法通过反向路径转发检查。如果启用了松散模式,则允许数据包 B 进行转发。

  • Packet C— 由于源是不存在的隧道源,因此数据包 C 无法通过反向路径转发检查,并且数据包不会被转发。

配置

CLI 快速配置

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

路由器 R0

路由器 R1

R2

程序

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置路由器 R0:

  1. 配置路由器 R0 的接口,包括环路接口。

  2. 为路由器 R0 分配路由器 ID 和自治系统编号。

  3. 配置路由器之间的 IBGP 对等互连。

  4. 在路由器 R0 的所有接口(管理接口除外)上配置 OSPF。

  5. 在路由器 R0 的所有接口上配置 RSVP,管理接口除外。

  6. 在路由器 R0 上启用基于下一跃点的动态 GRE 隧道配置。

  7. 配置从路由器 R0 到路由器 R1 的动态 GRE 隧道参数。

  8. 配置从路由器 R0 到路由器 R2 的动态 GRE 隧道参数。

  9. 在路由器 R0 上配置虚拟路由和转发 (VRF) 路由实例,并将连接到主机 1 的接口分配给 VRF 实例。

  10. 为 VRF 路由实例配置与主机 1 的外部 BGP 会话。

  11. 为路由器 R0 上的 VRF 路由实例配置反欺骗保护。这样可以对路由器 0 上基于下一跃点的动态隧道 T1 和 T2 启用反向路径转发检查。

成果

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

验证

确认配置工作正常。

验证基本配置

目的

验证路由器 R0 与路由器 R1 和 R2 之间的 OSPF 和 BGP 对等状态。

操作

在操作模式下,运行 和 命令。show ospf neighborshow bgp summary

意义

OSPF 和 BGP 会话在路由器 R0、R1 和 R2 之间启动并运行。

验证动态隧道配置

目的

验证路由器 R0 与路由器 R1 和 R2 之间基于下一跃点的动态 GRE 隧道的状态。

操作

在操作模式下,运行 和命令 。show route table inet.3show dynamic-tunnels database terse

意义

两个基于下一跃点的动态 GRE 隧道(隧道 1 和隧道 2)已启动。

验证反欺骗保护配置

目的

验证是否已在路由器 R0 上的 VRF 路由实例上启用反向路径转发检查。

操作

在操作模式下,运行 .show krt table VPN1.inet.0 detail

意义

在严格模式下,在 VRF 路由实例上启用配置的反向路径转发检查。

基于下一跳的动态隧道定位概述

基于下一跃点的动态隧道包括通用路由封装 (GRE) 隧道和 MPLS-over-UDP 隧道。与基于接口的隧道相比,这些隧道具有扩展优势。但是,与基于接口的隧道不同,基于下一跳跃的动态隧道本质上是无锚的,隧道的转发信息将分发到设备上每个线卡上的数据包转发引擎 (PFE)。这会将设备上支持的最大隧道数限制为单个线卡的隧道容量。借助对本地化的支持,您可以配置基于下一跃点的动态隧道本地化,以仅在指定为锚点 PFE 的线卡的 PFE 上创建转发信息。设备上其他线卡上的 PFE 具有状态转发信息,用于将数据包引导至锚点 PFE。这通过增加设备上支持的最大隧道数来提供扩展优势。

基于下一跳的动态隧道定位的优势

通过增加设备上支持的最大隧道数来提供扩展优势。

基于下一跳的动态隧道定位用例

  • 承载多个 MS-MPC 的 IPsec 网关设备用于终止 IPSec 隧道,并且需要支持中等负载。当达到设备的扩展限制时,使用基于下一跃点的动态隧道会影响此支持。通过本地化基于下一跃点的动态隧道,支持的最大隧道数会增加,从而允许设备以额外的结构跃点为代价容纳更多隧道。

  • 对于互联网或 VPN 网关设备,例如虚拟公共云数据中心,网关设备需要与大量服务器通信。可通过基于下一跃点的动态隧道访问数据中心服务器。动态隧道的无锚点属性限制了设备的总体扩展数量。网关设备托管多个 MPC,流量需求不断增加。通过对基于下一跳的动态隧道进行本地化,隧道可以分布在 MPC 上,从而促进隧道扩展数量的增加。

通过定位基于下一跳的动态隧道实现流量处理

由于支持本地化,基于下一跃点的动态隧道状态将本地化为锚数据包转发引擎,而另一个数据包转发引擎具有用于将流量引导至隧道锚点的隧道状态。

图 4 说明了未本地化的基于下一跳的动态隧道的转发路径。

图 4: 无本地化的基于下一跳的动态隧道转发路径无本地化的基于下一跳的动态隧道转发路径

图 5 说明了具有本地化功能的基于下一跃点的动态隧道的转发路径。

图 5: 支持本地化的基于下一跳的动态隧道转发路径支持本地化的基于下一跳的动态隧道转发路径

配置基于下一跳的动态隧道本地化

可以为新创建的基于下一跃点的动态隧道或现有的非本地动态隧道配置本地化支持。

为新的基于下一跃点的动态隧道配置本地化

基于下一跃点的动态隧道的本地化使用基于策略的方法指定前缀组。换句话说,路由策略用于将本地化属性应用于基于下一跃点的动态隧道。动态隧道属性配置文件在路由选项下创建和配置,以便使用策略与前缀组关联。

  1. 创建动态隧道配置文件。

    动态隧道配置文件指定隧道类型和锚点数据包转发引擎信息。可以创建多个动态隧道配置文件来定位动态隧道。动态隧道类型的值可以是 GRE、UDP 或 BGP 信号。

    尽管 BGP-SIGNAL 不是有效的隧道类型,但在将 BGP-SIGNAL 指定为隧道类型时,将从 BGP 信号属性创建的隧道将被本地化。使用 BGP-SIGNAL 时,隧道类型是根据 BGP 在其 TLV 中通告的类型决定的。BGP-SIGNAL 隧道始终是基于下一跳的隧道。BGP-SIGNAL 动态创建的 GRE 隧道始终基于下一跃点,即使用户已手动配置 GRE 创建的隧道以使用 IFL。

    锚数据包转发引擎值是锚数据包转发引擎的线卡,例如 pfe-x/y/0。可以从命令输出中 查看此信息。show interfaces terse pfe*

    Sample Configuration:

  2. 将动态隧道配置文件关联到前缀列表。

    将策略配置为 as 操作会将动态隧道关联到前缀列表。dynamic-tunnel-attributes 策略 操作允许为任何匹配条件(例如前缀范围、社区或 BGP 路由的源地址等)创建具有指定属性的隧道。from

    Sample configuration:

  3. 在转发表导出策略下包含隧道策略。

    策略配置完成后,会包含在转发表导出策略中,用于策略解析。

    使用导出策略,隧道属性与路由相关联。每当来自 BGP 的路由排队等待解析时,都会评估转发表导出策略,并根据应用的过滤器从策略模块获取隧道属性。然后,获得的隧道属性以隧道复合下一跃点的形式附加到下一跃点。在发送隧道复合下一跃点之前,将根据数据包转发引擎名称和隧道类型创建相应的锚点转发结构并将其发送到转发表。但是,如果没有任何属性映射到隧道复合下一跃点,则会在每个数据包转发引擎上创建转发结构,类似于非本地化动态隧道。

    Sample configuration:

为现有的基于下一跳的动态隧道配置本地化

警告:

由于内存利用率高,动态更改动态隧道属性可能会导致 FPC 崩溃。因此,我们建议在配置本地化之前停用动态隧道配置。

要更新现有基于下一跃点的动态隧道的隧道属性,应执行以下操作:

  1. 停用层次结构级别下的配置。dynamic-tunnels[edit routing-options]

    Sample configuration:

  2. 根据需要更改隧道属性。

  3. 激活 层次结构级别下的 配置。dynamic-tunnels[edit routing-options]

    Sample configuration:

要为现有的基于下一跃点的现有非本地动态隧道配置本地化:

警告:

对现有的基于下一跃点的现有非本地动态隧道进行动态更改以配置本地化可能会由于内存利用率高而导致 FPC 崩溃。因此,我们建议在配置本地化之前停用动态隧道配置。

  1. 在层次结构级别停用配置。dynamic-tunnels[edit routing-options]

  2. 创建隧道属性配置文件并添加用于本地化动态隧道的策略,类似于新的基于下一跃点的动态隧道。

  3. 激活配置 。dynamic-tunnels

本地化的基于下一跳的动态隧道故障排除

通过本地化基于下一跃点的动态隧道,隧道复合下一跃点与锚数据包转发引擎 ID 相关联。以下层次结构级别的 traceroute 配置语句 有助于排除本地化动态隧道的故障:[edit routing-options]

  • dynamic-tunnels traceoptions flag all— 跟踪 DTM 中隧道的创建和删除。

  • resolution traceoptions flag tunnel— 跟踪 BGP 路由上的解析器操作。

  • forwarding-table traceoptions flag all— 发送到内核的跟踪隧道。

  • traceoptions flag all—跟踪路由学习过程。

以下命令可用于检查路由是否正在使用基于下一跃点的本地化动态隧道:

  1. show route prefix extensive— 获取间接下一跃点。

    例如:

  2. show krt indirect-next-hop index indirect-next-hop detail—在间接下一跃点的详细输出中检查锚点数据包转发引擎字段。

    例如:

基于下一跳的动态隧道本地化不支持的功能

对于基于下一跃点的动态隧道,Junos OS 不支持以下本地化功能:

  • 在层次结构级别链接 复合下一跃点。[edit routing-options forwarding-table chained-composite-next-hop ingress l3vpn]

  • 锚数据包转发引擎复原能力。

    对于具有本地化功能的基于下一跃点的动态隧道,不提供弹性支持。本地化基于下一跃点的动态隧道后,锚点 Packer 转发引擎将成为处理设备上任何给定隧道的单个实体。尽管不支持锚点 Packer 转发引擎弹性,但对于网关设备,网关设备上的冗余可确保当委派隧道复合下一跃点的 Packer 转发引擎关闭时,流量必须重新路由到冗余网关设备。路由协议进程监视 Packer转发引擎的状态,并撤回指向锚定在该 Packer 转发引擎上的隧道复合下一跃点的所有路由的 BGP 通告。

    只有锚定的数据包转发引擎具有成熟的隧道复合下一跃点,所有其他数据包转发引擎只有用于将流量转发到锚数据包转发引擎的转向条目。当锚 FPC 下降时,这些转向入口不会撤回。

  • 逻辑系统不支持本地化基于下一跃点的动态隧道。

  • 基于下一跃点的动态隧道的本地化不支持 IPv6。

  • 使用本地化时,当锚点数据包转发引擎线卡的状态未启动时 ,命令不会显示准确的隧道摘要。show dynamic-tunnels database summary 解决方法是使用 and 命令输出。show dynamic-tunnels databaseshow dynamic-tunnels database terse

使用 IP-over-IP 封装的基于下一跃点的动态隧道概述

SUMMARY 

优势

IP over IP 隧道具有以下优势:

  • Alternative to MPLS over UDP—可用作 MPLS over-UDP 隧道的替代方法,以提供 IP 服务,其中每个服务都有一个专用设备。

  • Ability to steer specific traffic—当 MPLS 和 IP 网络共存时,可实现平稳迁移,因为可以过滤路由以通过 IP 隧道(而不是 MPLS 隧道)引导特定流量。

  • Ability to support tunnels at increasing scale—使用 BGP 控制平面创建动态隧道有助于大规模创建隧道。

什么是 IP-over-IP 动态下一跳基于隧道?

IP 网络包含边缘设备和核心设备。为了在这些设备之间实现更高的规模和可靠性,您需要使用叠加封装,从逻辑上将核心网络与边缘设备与之交互的外部网络隔离开来。

从 Junos OS 20.3R1 版开始,我们支持 IP over IP 封装,以促进通过 IP 传输网络构建 IP 叠加。IP over IP 依靠基于下一跃点的基础架构来支持更高的规模。该功能支持 IPv6 和 IPv4 有效负载的 IPv4 封装。在支持的其他叠加封装中,IP-over-IP 封装是唯一允许:

  • 传输设备以解析内部有效负载并使用内部数据包字段进行哈希计算

  • 客户边缘设备,可在不降低吞吐量的情况下将流量路由入和传出隧道

在 MX 系列路由器上,路由协议守护程序 (RPD) 使用隧道复合下一跃点发送封装标头,数据包转发引擎 (PFE) 查找隧道目标地址并转发数据包。在 PTX 系列路由器和 QFX10000 交换机上,RPD 会将完全解析的基于下一跃点的隧道发送到数据包转发引擎。BGP 协议用于分配路由和信号动态隧道。

下图描述了如何通过在 R-2 和 R-4 之间建立的 IP over IP 隧道将 IPv4 或 IPv6 流量从 R-1 发送到 R-5:

IP over IP 隧道拼接

在 Junos OS 21.3R1 版中,我们在 MX240、MX480、MX960、PTX1000、PTX10008、PTX10016 和 QFX10002 上引入了 IP-over-IP 隧道拼接。您可以使用此功能终止设备上的 IP-over-IP 隧道,并在同一设备上启动另一个隧道。当设备收到 IP-over-IP 数据包时,它会解封装外部数据包标头,并执行内部数据包查找。然后,内部 IP 数据包标头指向同一设备上的另一个隧道,在该隧道中,同一设备使用另一个 IP-over-IP 标头再次封装数据包。

示例:配置基于下一跳的 IP over IP 动态隧道

SUMMARY 了解如何使用 IP-over-IP 封装配置基于下一跃点的隧道。

要求

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

  • 5 个 MX 系列路由器。

  • Junos OS 20.3R1 或更高版本。

概述

从 Junos OS 20.3R1 版开始,我们支持 IP over IP 封装,以促进通过 IP 传输网络构建 IP 叠加。此示例显示了如何通过 OSPF 核心连接的 R2 和 R4 之间的 IBGP 对等,在具有协议下一跃点 (PNH) 的设备之间建立单播 IP-over-IP 隧道,以交换路由和信号动态隧道。

拓扑

图 1 显示了包含 5 台设备的 IP over IP 场景。

在此示例中,我们通过在 R2 和 R4 之间建立的 IP-over-IP 动态隧道交换从 R1 到 R5 的路由,反之亦然。通过使用协议 IS-IS,来自 R1 的路由导出到 R2,来自 R5 的路由导出到 R4。我们配置一个从 R2 到 R4 的单播 IPIP 隧道,以及另一个从 R4 到 R2 的隧道。Tunnel-01Tunnel-01 从对等设备的已配置目标网络的网络掩码内生成的路由前缀用于创建隧道,并且流量流向与隧道中的路由方向相反。

使用协议下一跃点配置 IP-over-IP 动态隧道

CLI 快速配置

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

R1

R2

R3

R4

R5

使用协议下一跃点配置 IP-IP 动态隧道

R1 的分步过程

R1 和 R5 具有类似的配置,因此我们仅显示 R1 的分步过程。

  1. 在 R1 上进入配置模式。

  2. 配置连接到 R2 和接口 lo0 的接口。确保同时配置系列 和 .inetiso 协议 IS-IS 需要家族 。iso

  3. 配置路由器 ID。

  4. 配置协议 IS-IS。使用 IS-IS 协议在 R1 和 R2 之间通告路由。

  5. 从配置模式进入 R1。commit

R2 的分步过程

R2 和 R4 具有类似的配置,因此我们仅显示 R2 的分步过程。

  1. 在 R2 上进入配置模式。

  2. 配置连接到 R1 和 R3 以及接口 lo0 的接口。确保同时配置家族 和连接到 R1 和 lo0 的接口。inetiso

  3. 为连接到 R1 的接口配置协议 IS-IS。用于将 BGP 路由播发到 IS-IS 的导出策略显示在策略配置步骤中。

  4. 为 lo0 可访问性连接到 R3 的接口配置 OSPF 协议。

  5. 在 R2 和 R4 之间配置 和 、 和 IBGP。router-idautonomous-system 用于将 IS-IS 路由播发到 BGP 的导出策略显示在策略配置步骤中。

  6. 配置在前面的步骤中应用的 BGP 和 IS-IS 导出策略。该 策略作为导出应用于协议 IS-IS,以将 BGP 路由播发到 IS-IS,并将策略作为导出应用于 BGP,以将 IS-IS 路由播发到 BGP。export-bgpexport-isis 下一跃点自选选项允许 R2 将 IS-IS 路由播发到 BGP 中,并将 R2 作为下一跃点,而不是 R1 的接口下一跃点。

  7. 配置从 R2 到 R4 的 IP-IP 动态隧道 。Tunnel-01 配置选项 允许在 inet.3 中进行路由解析,并且是建立隧道所必需的。resolution-ribs inet.3

  8. (可选)- 从 R2 到 R4 的 IP-IP 动态隧道 的替代配置。Tunnel-01 您可以配置低于通往隧道端点的路由的协议下一跃点首选项的隧道首选项,而不是配置 。resolution-ribs inet.3 R4 的路由是使用 OSPF 获知的,优先级为 10,隧道的默认优先级为 305。配置低于 OSPF 优先级允许首选和建立隧道的隧道首选项。

  9. 从 R2 上的配置模式输入 。commit

R3 的分步过程
  1. 在 R3 上进入配置模式。

  2. 配置连接到 R2 和 R4 以及接口 lo0 的接口。

  3. 配置路由器 ID。

  4. 为 lo0 和 R4 连接的接口配置 OSPF 协议。

  5. 从 R3 设备上的配置模式输入 。commit

成果

通过从设备检查以下配置来验证您的配置,如下所示:

下面介绍了如何验证 R2 上的配置:

user@R2# show interfaces

user@R2# show routing-options

user@R2# show protocols

user@R2# show policy-options

验证

验证动态隧道数据库
目的

要验证动态隧道数据库信息,请使用 操作模式命令。show dynamic-tunnels database

操作
意义

输出指示在 R2(源)和 R4(目标)之间建立了一条 IPoIP 隧道,并在 R4(源)和 R2(目标)之间建立了另一条 IPoIP 隧道。192.168.0.21192.168.0.41192.168.0.41192.168.0.21

验证 inet.3 中的路由表
目的

要验证在 inet.3 表上生成的路由,请使用 操作模式命令。 show route table inet.3

操作
意义

输出指示用于解析将使用隧道的 BGP 流量的路由。

使用隧道验证 BGP 路由
目的

要验证在 R2 和 R4 上为 R1 和 R5 接收的 BGP 路由是否正在使用隧道。

操作
意义

输出指示 R2 将隧道用于到 R5 的 BGP 路由,R4 正在使用隧道发送到 R1 的 BGP 路由。

验证端到端可访问性
目的

验证 R1 是否可以使用 操作模式命令对 R5 执行 ping 操作。ping 192.168.255.5 source 192.168.255.1 count 2

操作
意义

R1 的输出显示 R1 可以 ping R5。

示例:使用 LDP 隧道在 MPLS 环境中配置 IPoIP 隧道,使用静态配置通过 inetcolor.0 解析

默认情况下,MPLS 的优先级高于 IP。例如,如果在 R2、R3 和 R4 之间配置 MPLS 和 LDP,其中 R4 可通过 LDP 到达 R2,则来自 R2 的路由将通过 LDP 解析,而不是 IP-over-IP,因为优先级更高。

如果您希望通过 IP-over-IP 而不是 LDP 解析特定路由,可以通过创建一个 inetcolor 表来实现,其中 IP-over-IP 具有更高的优先级,并将 BGP 设置为通过 inetcolor 表而不是 inet3 表解析该路由。以下示例演示如何使用静态配置执行此操作。

拓扑

在此示例中,我们通过在 R2 和 R4 之间建立的 IP-over-IP 动态隧道交换从 R1 到 R5 的路由,反之亦然。通过使用协议 IS-IS,来自 R1 的路由导出到 R2,来自 R5 的路由导出到 R4。我们配置一个从 R2 到 R4 的单播 IPIP 隧道,以及另一个从 R4 到 R2 的隧道。Tunnel-01Tunnel-01 从对等设备的已配置目标网络在网络掩码内生成的路由前缀用于创建隧道,并且流量方向与隧道中的路由相反。

CLI 快速配置

R1

R2

R3

R4

R5

程序

R1 的分步过程

R1 和 R5 具有类似的配置,因此我们仅显示 R1 的分步过程。

  1. 在 R1 上进入配置模式。

  2. 配置连接到 R2 和接口 lo0 的接口。确保同时配置系列 和 .inetiso 协议 IS-IS 需要家族 。iso

  3. 配置路由器 ID。

  4. 配置协议 IS-IS。使用 IS-IS 协议在 R1 和 R2 之间通告路由。

  5. 从配置模式进入 R1。commit

R2 的分步过程

R2 和 R4 具有类似的配置,因此我们仅显示 R2 的分步过程。

  1. 在 R2 上进入配置模式。

  2. 配置连接到 R1 和 R3 以及接口 lo0 的接口。确保同时配置家族和连接到 R1 和 lo0 的接口,并同时配置家族和连接到 R3 的接口。inetisoinetmpls

  3. 为连接到 R1 的接口配置协议 IS-IS。用于将 BGP 路由播发到 IS-IS 的导出策略显示在策略配置步骤中。

  4. 为 lo0 可访问性连接到 R3 的接口配置 OSPF 协议。

  5. 为连接到 R3 的接口配置 LDP 和 MPLS 协议。

  6. 在层次结构下配置 和,并在 R2 和 R4 之间配置 IBGP。router-idautonomous-systemrouting-options 策略配置步骤中显示了将社区添加到使用 BGP 获知的路由的导入策略,以及将 IS-IS 路由播发到 BGP 中的导出策略。确保在配置中包含选项以允许使用 inetcolor.0 表进行解析。extended-nexthop-colorfamily inet unicast

  7. 配置从 R2 到 R4 的 IP-IP 动态隧道 。Tunnel-01 配置选项允许在 inetcolor.0 路由表中创建隧道。colors 配置静态隧道端点。dyn-tunnel-attribute-policyset-dynamic-tunnel-ep 策略随策略配置步骤一起显示。

  8. 配置在前面的配置步骤中应用的策略。该策略将 BGP 路由播发到 IS-IS 中。export-bgp 该策略将 IS-IS 路由播发到 BGP 中,并将下一跃点更改为 R2。export-isis 该 策略将社区应用于动态隧道配置中 匹配的路由。ipip-tunnel-colorcolors 该 策略将 R4 配置为隧道端点。set-dynamic-tunnel-ep

  9. 从配置模式输入 。commit

R3 的分步过程
  1. 在 R3 上进入配置模式。

  2. 配置连接到 R2 和 R4 以及接口 lo0 的接口。确保同时配置家族 和连接到 R2 和 R4 的接口。inetmpls

  3. 配置路由器 ID。

  4. 为 lo0 和 R4 连接的接口配置 OSPF 协议。

  5. 为连接到 R2 和 R4 的接口配置 LDP 和 MPLS 协议。

  6. 从 R3 设备上的配置模式输入 。commit

成果

通过从设备检查以下配置来验证您的配置。

以下是检查 R2 上的配置的方法:

user@R2# show interfaces

user@R2# show protocols

user@R2#show routing-options

user@R2#show policy-options

验证

验证路由解析
目的

要验证 inet.3 和 inetcolor.0 表中路由的路由解析,请使用 和 操作模式命令。show route table inet.3show route table inetcolor.0

操作
意义

R2 输出表明,在 inet.3 表上,由于 路由的优先级高于 IP-over-IP,因此 LDP 正在解析路由。10.1.255.4 另一方面,在新创建的 inetcolor.0 表中,路由 是通过附加的 IP-over-IP 隧道解析的。10.1.255.4<c>

验证动态隧道数据库
目的

要验证由 inetcolor.0 表中的路由创建的 IP-over-IP 动态隧道,请使用 操作模式命令。show dynamic-tunnels database terse

操作
意义

R2 输出指示路由 已创建基于下一跃点的动态隧道。192.168.0.41

验证路由下一跃点
目的

要验证设置为通过 IP-over-IP 解析的路由的所有下一跃点,请使用 操作模式命令。show route 192.168.255.5 extensive expanded-nh

操作
意义

R2 的输出显示路由的 展开下一跃点。192.168.255.5 由于 R2 是 MX 系列路由器,因此它会发送协议下一跃点和间接下一跃点。

验证端到端可访问性
目的

验证 R1 是否可以使用 操作模式命令对 R5 执行 ping 操作。ping 192.168.255.5 source 192.168.255.1 count 2

操作
意义

R1 的输出显示 R1 可以 ping R5。

示例:在 MPLS 云中配置带有 LDP 隧道的 IPoIP 隧道,使用 BGP 信令通过 inetcolor.0 解析

在启用了 LDP 的 MPLS 环境中,BGP 路由通过 inet.3 表上的 LDP 解析,因为 MPLS 的优先级高于 IP。

如果您仍然希望在 MPLS 环境中通过 IP-over-IP 解析路由,则可以创建一个 inetcolor.0 表来实现,该表为 IP-over-IP 分配更高的优先级,并通过 IP-over-IP 解析所选路由。要使用 BGP 启用此功能,路由解析在隧道的远程终端设备上执行,并在远程设备上配置导出策略,通过 BGP 信令接收和通告路由。此示例演示如何使用 BGP 协议配置进行配置。

在此示例中,我们通过在 R2 和 R4 之间建立的 IP-over-IP 动态隧道交换从 R1 到 R5 的路由,反之亦然。通过使用协议 IS-IS,来自 R1 的路由导出到 R2,来自 R5 的路由导出到 R4。我们配置一个从 R2 到 R4 的单播 IPIP 隧道,以及另一个从 R4 到 R2 的隧道。Tunnel-01Tunnel-01 从对等设备的已配置目标网络在网络掩码内生成的路由前缀用于创建隧道,并且流量方向与隧道中的路由相反。

CLI 快速配置

R1

R2

R3

R4

R5

程序

R1 的分步过程

R1 和 R5 具有类似的配置,因此我们仅显示 R1 的分步过程。

  1. 在 R1 上进入配置模式。

  2. 配置连接到 R2 和接口 lo0 的接口。确保同时配置系列 和 .inetiso 协议 IS-IS 需要家族 。iso

  3. 配置路由器 ID。

  4. 配置协议 IS-IS。使用 IS-IS 协议在 R1 和 R2 之间通告路由。

  5. 从配置模式进入 R1。commit

R2 的分步过程

R2 和 R4 具有类似的配置,因此我们仅显示 R2 的分步过程。

  1. 在 R2 上进入配置模式。

  2. 配置连接到 R1 和 R3 以及接口 lo0 的接口。确保同时配置家族和连接到 R1 和 lo0 的接口,并同时配置家族和连接到 R3 的接口。inetisoinetmpls

  3. 为连接到 R1 的接口配置协议 IS-IS。用于将 BGP 路由播发到 IS-IS 的导出策略显示在策略配置步骤中。

  4. 为 lo0 可访问性连接到 R3 的接口配置 OSPF 协议。

  5. 为连接到 R3 的接口配置 LDP 和 MPLS 协议。

  6. 在层次结构下配置 和,并在 R2 和 R4 之间配置 IBGP。router-idautonomous-systemrouting-options 策略配置步骤中显示了将社区添加到使用 BGP 获知的路由的导入策略,以及将 IS-IS 路由播发至 BGP 并设置隧道属性的导出策略。确保在配置中包含选项,以允许使用 inetcolor.0 表进行分辨率。extended-nexthop-tunnelfamily inet unicast

  7. 在 R2 上配置路由选项以创建从 R2 到 R4 的隧道。该 选项启用由 BGP 发出的隧道创建信号。bgp-signal 配置选项允许在 inetcolor.0 路由表中创建隧道。colors

  8. 配置在前面的配置步骤中应用的策略。该策略将 BGP 路由播发到 IS-IS 中。export-bgp 该 策略使用 将 IS-IS 路由从 R1 播发到 BGP,并将下一跃点更改为 R2。export-tunnel-routetunnel-attribute 在动态隧道的配置中设置、隧道端点和匹配颜色。tunnel-attr-01tunnel-attributetunnel-typecolors

  9. 从配置模式输入 。commit

R3 的分步过程
  1. 在 R3 上进入配置模式。

  2. 配置连接到 R2 和 R4 以及接口 lo0 的接口。确保同时配置家族 和连接到 R2 和 R4 的接口。inetmpls

  3. 配置路由器 ID。

  4. 为 lo0 和 R4 连接的接口配置 OSPF 协议。

  5. 为连接到 R2 和 R4 的接口配置 LDP 和 MPLS 协议。

  6. 从 R3 设备上的配置模式输入 。commit

成果

您可以使用配置模式下的以下 show 命令检查配置。

以下是检查 R2 设备上的配置的方法:

user@R2# show interfaces

user@R2# show protocols

user@R2# show routing-options

user@R2# show policy-options

验证

验证 BGP 路由

目的

验证使用 BGP 协议发送的路由。

操作

R2

意义

输出显示来自 BGP 的路由。

验证收到的路由

目的

使用以下操作模式命令验证通过 BGP 接收的路由。

操作

R2

意义

R2 输出指示设备上收到的路由。

验证动态隧道

目的

验证动态隧道是否已启动且已发出 BGP 信号。

操作

R2

意义

R2 输出指示隧道已启动且已发出 BGP 信号。

验证路由解析

目的

要验证 inetcolor.0 表中路由的路由解析,请使用 操作模式命令。show route table inetcolor.0

操作
意义

R2 输出指示通往 的隧道已发出 BGP 信号。10.1.255.4

验证端到端可访问性

目的

验证 R1 是否可以使用 操作模式命令对 R5 执行 ping 操作。ping 192.168.255.5 source 192.168.255.1 count 2

操作
意义

R1 的输出显示 R1 可以 ping R5。

变更历史表

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

版本
说明
19.2R1
从 Junos 版本 19.2R1 开始,在配备 MPC 和 MIC 的 MX 系列路由器上,运营商支持运营商 (CSC) 架构可以部署为 MPLS-over-UDP 隧道,通过动态 IPv4 UDP 隧道传输 MPLS 流量,这些隧道在支持运营商的 PE 设备之间建立。
18.3R1
从 Junos OS 18.3R1 版开始,PTX 系列路由器和 QFX 系列交换机支持 MPLS over UDP 隧道。
18.2R1
从 Junos OS 18.2R1 版开始,在 PTX 系列路由器和具有单向 MPLS-over-UDP 隧道的 QFX10000 上,您必须为远程 PE 设备配置一个用于 MPLS-over-UDP 数据包的输入过滤器,以及一个用于解封装 IP 和 UDP 标头的操作,以便沿反向隧道方向转发数据包。
17.4R1
从 Junos OS 17.4R1 版开始,在 MX 系列路由器上,基于下一跳的动态 MPLS-over-UDP 隧道使用 BGP 封装扩展社区发出信号。
17.1R1
从 Junos OS 17.1 版开始,在带有 MPC 和 MIC 的 MX 系列路由器上,MPLS over UDP 隧道的扩展限制将会提高。