Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

配置 Junos OS 路由表

了解 Junos OS 路由表

Junos OS 会自动创建并维护多个路由表。每个路由表都有特定用途。除了这些自动创建的路由表之外,您还可以创建自己的路由表。

每个路由表填充转发表的一部分。因此,转发表基于路由表进行分区。这允许为每个路由表设置特定的转发行为。例如,对于 VPN,每个基于 VPN 的路由表在转转发表中都有其自己的特定于 VPN 的分区。

路由软件通常会在不同的路由表中维护单播路由和组播路由。您可能还出于策略方面的考虑,需要创建单独的路由表来管理路由信息的传播。

创建路由表是可选的。如果未创建任何路由表,Junos OS 将使用其默认路由表,如下所示:

  • inet.0 — 用于 IP 版本 4 (IPv4) 单播路由。此表存储接口本地路由和直接路由、静态路由和动态学习路由。

  • inet.1 — 用于 IPv4 组播转发缓存。此表存储根据联接状态信息动态创建的 IPv4 (S,G) 组条目。

  • inet.2 — 当启用多协议 BGP (MBGP) 时,对于后续地址族指示器 (SAFI) 2 路由。此表存储用于组播反向路径转发 (RPF) 查找的单播路由。此表中的路由可由距离矢量组播路由协议 (DVMRP) 使用,该协议需要特定的 RPF 表。相比之下,协议无关组播 (PIM) 不需要此表,因为它可以对 inet.0 表执行 RPF 检查。您可以使用路由信息库 (RIB) 组将路由从 inet.0 导入到 inet.2,也可以通过组播路由协议将路由直接安装到 inet.2 中。

  • inet.3 - 用于 IPv4 MPLS。此表存储 MPLS 标签交换路径 (LSP) 的出口地址、LSP 名称和传出接口名称。仅当本地设备是 LSP 的入口节点时,才使用此路由表。

  • inet6.0 — 用于 IP 版本 6 (IPv6) 单播路由。此表存储接口本地路由和直接路由、静态路由和动态学习路由。

  • inet6.1 — 用于 IPv6 组播转发缓存。此表存储根据联接状态信息动态创建的 IPv6 (S,G) 组条目。

  • inet6.2 — inet6.2 表通常与其他 IPv6 路由表结合使用,作为接口路由的默认路由表组的一部分,特别是在 PTX 路由器上。

  • inet6.3 — inet6.3 表用于存储已标记的 IPv6 路由。

  • instance-name.inet.0 - 如果配置路由实例,Junos OS 将创建默认单播路由表 instance-name.inet.0

  • instance-name.inet.2 - 如果在 VRF 类型的路由实例中配置 路由实例 instance-name 协议 BGP 家族 inet 组播 ,则 Junos OS 将创建 instance-name.inet.2 表。

    创建 .inet.2 表的instance-name另一种方法是使用rib-group语句。请参阅示例:将特定路由从一个路由表导出到另一个路由表

    注意:

    inet-vpn 组播路由从 bgp.l3vpn.2 表导入instance-name到 .inet.2 表不会创建 instance-name.inet.2 表。仅当 .inet.2 表已存在时instance-name,导入操作才有效。

  • instance-name.inetflow.0 - 如果配置流路由,Junos OS 将创建流路由表 instance-name.inetflow.0

  • bgp.l2vpn.0 - 用于从 BGP 获知的第 2 层 VPN 路由。此表存储从其他提供商边缘 (PE) 路由器获知的路由。基于目标社区,将第 2 层路由信息复制到第 2 层 VPN 路由和转发实例 (VRF) 中。

  • bgp.l3vpn.0 — 用于从 BGP 获知的第 3 层 VPN 路由。此表存储从其他 PE 路由器获知的路由。当存在匹配的路由表时,此表中的路由将复制到第 3 层 VRF 中。

  • l2circuit.0—对于从 LDP 获知的 l2 电路路由。此表中的路由用于发送或接收 l2circuit 信令消息。

  • mpls.0 — 用于 MPLS 标签交换操作。当本地设备是中转路由器时,使用此表。

  • iso.0 - 用于 IS-IS 路由。使用 IS-IS 支持 IP 路由时,此表仅包含本地设备的网络实体名称 (NET)。

  • juniper_private — 用于在 路由引擎 和 PIC 硬件之间进行内部通信的Junos OS。

Junos OS 中的路由表功能

Junos OS 维护两个路由信息数据库:

  • 路由表 — 包含所有路由协议获知的所有路由信息。(某些供应商将此类表称为路由信息库 (RIB)。

  • 转发表 — 包含实际用于转发数据包的路由。(某些供应商将此类表称为转发信息库 (FIB)。

默认情况下,Junos OS 维护三个路由表:一个用于 IP 版本 4 (IPv4) 单播路由,第二个用于组播路由,第三个用于 MPLS。您可以配置其他路由表。

Junos OS 为 IPv4 和 IP 版本 6 (IPv6) 路由维护单独的路由表。

Junos OS 将路由表中的所有活动路由安装到转发表中。活动路由是用于将数据包转发到其目标的路由。Junos 操作系统内核维护转发表的主副本。它将转发表复制到数据包转发引擎,是负责转发数据包的组件。

Junos 路由协议进程通常通过选择优先级值最低的路由来确定活动路由。Junos OS 支持备用首选项和决胜首选项,并且某些路由协议(包括 BGP 和 MPLS)会使用这些附加首选项。

您可以将 martian 地址以及静态路由、聚合路由和生成路由添加到 Junos 路由表中,并使用 表 1 中所示的一个或多个属性配置路由。

表 1:路由表路由属性

描述

静态的

骨料

生成

目标地址

X

X

X

到目标的默认路由

X

X

X

到目标的下一跃点的 IP 地址或接口

X

将标签交换路径 (LSP) 作为下一跃点

X

丢弃数据包,安装此目标的拒绝路由,然后发送互联网控制信息协议 (ICMP) 无法访问的消息

X

X

X

丢弃数据包,安装此目标的拒绝路由,但不要发送无法访问的 ICMP 消息

X

X

X

使本地路由器接收数据包

X

将指标值与路由相关联

X

X

X

路由类型

X

X

X

首选项值

X

X

X

其他首选项值

X

X

X

独立优先级(限定下一跃点 语句)

X

要与路由关联的 BGP 社区信息

X

X

X

要与路由关联的自治系统 (AS) 路径信息

X

X

X

要与路由关联的 OSPF 标记字符串

X

X

X

请勿将活动静态路由安装到转转发表中

X

将路由安装到转转发表中

X

在转转发表中永久保留静态路由

X

仅包括参与 AS 路径的最长公共前导序列

X

包括特定路由的所有 AS 编号

X

在路由表和转发表中保留非活动路由

X

X

X

从路由表和转发表中移除非活动路由

X

X

X

要与路由关联的活动策略

X

X

指定路由不符合重新播发条件

X

指定路由到不是直接连接下一跃点的前缀

X

了解 PTX 路由器上接口路由的默认路由表组

在 PTX 系列数据包传输路由器上,默认接口路由路由表组与其他 Junos OS 路由设备的组不同。

PTX 系列路由器是执行 IP 转发的 MPLS 传输平台,通常使用内部网关协议 (IGP) 路由。接口路由是直接连接路由和本地路由。

PTX 系列路由器与其他 Junos OS 路由设备的不同之处在于,它们强制执行间接下一跃点解析。PTX 系列路由器需要解析间接下一跃点才能创建链式复合下一跃点。这可能会导致在下一跃点类型不可用时隐藏路由。

为防止路由被隐藏,PTX 系列平台会自动将 inet.0 中的路由复制到 inet.2 和 inet.3 中,并将 inet6.0 中的路由复制到 inet6.2 和 inet6.3 中。

PTX 系列路由器上的默认接口路由表配置如下:

示例:创建路由表

此示例说明如何创建自定义路由表。

要求

在此示例中,除了设备初始化之外,不需要任何特殊配置。

概述

创建路由表是可选的。出于策略方面的考虑,您可能需要创建单独的路由表来管理路由信息的传播。此功能很少使用,但为了完整起见,本文进行了演示。

如果不创建任何路由表,Junos OS 将使用其默认路由表。

注意:

如果只想将静态、聚合、生成或火星路由添加到默认 IPv4 单播路由表 (inet.0),则无需创建任何路由表,因为默认情况下,这些路由会添加到 inet.0 中。您可以通过添加 staticaggregategeneratemartians 语句来添加这些路由。

要显式创建路由表,请在语句下rib包含语rib句和子语句。

路由表名称 routing-table-name包括协议家族,可以选择后跟句点和数字。IPv4 家族的协议家族可以 是 inet,IPv6 家族的 inet6 或者是国际标准组织 (ISO) 协议家族的 iso 。数字表示路由实例。第一个实例为 0。

此示例说明如何配置名为 inet.14 的自定义 IPv4 路由表。该示例还演示如何使用单个静态路由填充路由表。

注意:

在EX 系列交换机上,只能将动态学习的路由从一个路由表组导入到另一个组。

配置

CLI 快速配置

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

程序

分步过程

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

要创建路由表,请执行以下操作:

  1. 配置路由表。

  2. 如果完成设备配置,请提交配置。

结果

发出 show routing-options 命令,确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。

检查路由表

目的

请确保静态路由显示在自定义路由表中。

行动
意义

静态路由位于自定义路由表中。

示例:将特定路由从一个路由表导出到另一个路由表

此示例说明如何将特定路由从一个路由表复制到同一路由实例中的另一个路由表。

要求

配置此示例之前,不需要除设备初始化之外的特殊配置。

概述

此示例使用 auto-export 语句和语 rib-group 句来实现将特定路由从一个路由表导出到另一个路由表的目标。

请考虑以下几点:

  • 在路由实例中配置 自动导出 时,将检查 vrf 导入vrf 导出 策略。 自动导出 功能根据策略中的路由目标和社区信息,在本地路由实例 inet.0 表之间执行路由泄漏。

  • 如果需要将路由导入到 .inet.0 以外的instance表中,则可以使用该rib-group语句。要使用具有自动导出功能的 RIB 组,路由实例应指定显式 vrf 导入 vrf 导出策略。vrf-importvrf-export 策略可以扩展为包含附加术语,以根据 RIB 组的需要过滤路由。

在此示例中,访问内部路由将添加到 vpna.inet.0 路由表中。内部访问路由也会复制到 vpna.inet.2 路由表中。

配置

CLI 快速配置

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

在路由表之间配置特定路由导出

分步过程

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

要配置设备,请执行以下操作:

  1. 配置接口。

  2. 配置路由策略,指定导入到 vpna.inet.0 和从 vpna.inet.0 导出的特定路由。

  3. 配置路由实例。

    vrf-importvrf-export 语句用于应用 vpna-importvpna-export 路由策略。

  4. 配置 RIB 组,并将路由导入到 vpna.inet.2 路由表中。

  5. 配置 auto-export 语句,使路由能够从一个路由表导出到另一个。

  6. 配置 BGP。

  7. 配置自治系统 (AS) 编号。

结果

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

如果完成设备配置,请从配置模式进入 提交

验证

运行 show table route vpna.inet.0show route table vpna.inet.2 命令,确认配置工作正常。