配置 OSPF 路由实例
了解 OSPF 路由实例
路由实例是路由表、接口和路由协议参数的集合。接口组属于路由表,OSPF 路由协议参数控制路由表中的信息。您可以进一步将从 OSPF 路由实例获知的路由安装到 OSPF 路由表组的路由表中。
默认路由实例 primary 指的是主 inet.0 路由表。主路由实例是保留的,不能指定为路由实例。
您可以配置以下类型的路由实例:
OSPFv2 - 转发、第 2 层虚拟专用网络 (VPN)、非转发、VPN 路由和转发 (VRF)、虚拟路由器和虚拟专用 LAN 服务 (VPLS)。
OSPFv3 - 非转发、VRF 和虚拟路由器。
每个路由实例都有一个唯一的名称和对应的 IP 单播表。例如,如果配置名为 my-instance 的路由实例,则对应的 IP 单播表为 my-instance.inet.0。 my-instance 的所有路由都安装在 my-instance.inet.0 中。
您还可以配置 OSPF 的多个路由实例。
OSPFv2 的最低路由实例配置
要为 OSPFv2 配置路由实例,您必须在配置中至少包含以下语句:
[edit]
routing-instances {
routing-instance-name {
interface interface-name;
instance-type (forwarding | l2vpn | no-forwarding | virtual-router | vpls | vrf);
route-distinguisher (as-number:number | ip-address:number);
vrf-import [ policy-names ];
vrf-export [ policy-names ];
protocols {
ospf {
... ospf-configuration ...
}
}
}
}
您只能在一个路由实例下配置 逻辑接口 。
OSPFv3 的最低路由实例配置
要为 OSPFv3 配置路由实例,您必须在配置中至少包含以下语句:
[edit]
routing-instances {
routing-instance-name {
interface interface-name;
instance-type (no-forwarding | virtual-router | vrf);
vrf-import [ policy-names ];
vrf-export [ policy-names ];
protocols {
ospf3 {
... ospf3-configuration ...
}
}
}
}
您只能在一个路由实例下配置逻辑接口。
OSPF 的多个路由实例
OSPF 的多个实例用于第 3 层 VPN 实施。OSPF 的多个实例将不同 VPN 的路由信息分开。VRF 实例播发从客户边缘 (CE) 路由器到提供商边缘 (PE) 路由器的路由,并播发从 PE 路由器到 CE 路由器的路由。每个 VPN 仅接收属于该 VPN 的路由信息。
您可以通过在以下层级包含语句来创建 OSPF 的多个实例:
[edit routing-instances routing-instance-name (ospf | ospf3)][edit logical-systems logical-system-name routing-instances routing-instance-name (ospf | ospf3)]
将路由从 OSPF 路由实例安装到 OSPF 路由表组
要将从 OSPF 路由实例获知的路由安装到 OSPF 路由表组的路由表中,请添加以下 rib-group 语句:
rib-group group-name;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
示例:配置OSPF的多个路由实例
此示例说明如何配置 OSPF 的多个路由实例。
要求
开始之前:
配置设备接口。请参阅 路由设备 Junos OS 网络接口库。
为 OSPF 网络中的设备配置路由器标识符。请参阅 示例:配置 OSPF 路由器标识符。
控制 OSPF 指定的路由器选择。请参阅 示例:控制 OSPF 指定路由器选择
概述
配置OSPF的多个路由实例时,建议您执行以下作:
使用网络所需的语句在
[edit protocols (ospf | ospf3)]和[edit logical-systems logical-system-name protocols (ospf | ospf3)]层次结构级别配置 OSPFv2 或 OSPFv3 默认实例,以便路由安装在 inet.0 和转发表中。 请确保包含路由表组。为每个附加的 OSPFv2 或 OSPFv3 路由实体配置一个 OSPFv2 或 OSPFv3 路由实例,并配置以下内容:
接口
路由选项
属于该实体的 OSPF 协议语句
路由表组
配置路由表组,以将默认路由表 inet.0 中的路由安装到路由实例的路由表中。
配置路由表组,以将路由实例中的路由安装到默认路由表 inet.0 中。
注意:非转发路由实例没有与其路由表对应的转发表。
创建导出策略以导出带有特定标签的路由,并使用该标签将路由导出回实例。有关更多信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南。
图 1 显示了如何使用 OSPFv2 或 OSPFv3 的多个路由实例在大型网络中隔离前缀。该网络由三个管理实体组成: 语音策略、 其他策略和默认路由实例。每个实体都由多个地理上独立的站点组成,这些站点由主干连接并由主干实体管理。
拓扑学
的配置
站点 A 和 D 属于 语音策略 路由实例。站点 B 和 C 属于 其他策略 实例。位于主干网边缘的设备 1 和设备 3 连接路由实例。每个实例都运行一个单独的 OSPF 或 OSPFv3 实例(每个实体一个)。
设备 1 运行三个 OSPFv2 或 OSPFv3 实例:站点 A(语音策略)、站点 C(其他策略)和主干网(也称为默认实例)各一个。设备 3 还运行三个 OSPFv2 或 OSPFv3 实例:站点 B(其他策略)、站点 D(语音策略)和骨干网(默认实例)各一个。
当设备 1 运行 OSPFv2 或 OSPFv3 实例时,会出现以下情况:
默认实例路由表中的路由将放置在 voice-policy 和其他策略实例路由表中。
来自语音策略路由实例的路由放置在默认实例路由表中。
来自其他策略路由实例的路由将放置在默认实例路由路由表中。
来自语音策略路由实例的路由不会进入其他策略实例路由表。
来自其他策略路由实例的路由不会进入语音策略实例路由表。
配置
程序
CLI 快速配置
要快速配置 OSPF 的多个路由实例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit] 层次结构级别的 CLI 中,然后从配置模式进入 commit 。
设备 1 上的配置:
[edit] set routing-instances voice-policy interface so-2/2/2 set routing-instances voice-policy protocols ospf rib-group voice-to-inet area 0.0.0.0 interface so-2/2/2 set routing-instances other-policy interface so-4/2/2 set routing-instances other-policy protocols ospf rib-group other-to-inet area 0.0.0.0 interface so-4/2/2 set routing-options rib-groups inet-to-voice-and-other import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ] set routing-options rib-groups voice-to-inet import-rib [ voice-policy.inet.0 inet.0 ] set routing-options rib-groups other-to-inet import-rib [ other-policy.inet.0 inet.0 ] set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-2/2/2 set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-4/2/2
设备 3 上的配置:
[edit] set routing-instances voice-policy interface so-3/2/2 set routing-instances voice-policy protocols ospf rib-group voice-to-inet area 0.0.0.0 interface so-3/2/2 set routing-instances other-policy interface so-5/2/2 set routing-instances other-policy protocols ospf rib-group other-to-inet area 0.0.0.0 interface so-5/2/2 set routing-options rib-groups inet-to-voice-and-other import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ] set routing-options rib-groups voice-to-inet import-rib [ voice-policy.inet.0 inet.0 ] set routing-options rib-groups other-to-inet import-rib [ other-policy.inet.0 inet.0 ] set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-3/2/2 set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-5/2/2
分步过程
要配置 OSPF 的多个路由实例,请执行以下作:
配置 voice-policy 和 other-policy 的路由实例。
注意:要指定 OSPFv3,请在
[edit routing-instances protocols]层次结构级别包含语ospf3句。[edit] user@D1# set routing-instances voice-policy interface so-2/2/2 user@D1# set routing-instances voice-policy protocols ospf rib-group voice-to-inet area 0.0.0.0 interface so-2/2/2 user@D1# set routing-instances other-policy interface so-4/2/2 user@D1# set routing-instances other-policy protocols ospf rib-group other-to-inet area 0.0.0.0 interface so-4/2/2
[edit] user@D3# set routing-instances voice-policy interface so-3/2/2 user@D3# set routing-instances voice-policy protocols ospf rib-group voice-to-inet area 0.0.0.0 interface so-3/2/2 user@D3#set routing-instances other-policy interface so-5/2/2 user@D3# set routing-instances other-policy protocols ospf rib-group other-to-inet area 0.0.0.0 interface so-5/2/2
配置路由表组 inet-to-voice-and-other ,以便从 inet.0 (默认路由表)获取路由,并将其放置在 voice-policy.inet.0 和 other-policy.inet.0 路由表中。
[edit] user@D1# set routing-options rib-groups inet-to-voice-and-other import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ]
[edit] user@D3# set routing-options rib-groups inet-to-voice-and-other import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ]
将路由表组 voice-to-inet 配置为从 voice-policy.inet.0 获取路由,并将其放置在 inet.0 默认路由表中。
[edit] user@D1# set routing-options rib-groups voice-to-inet import-rib [ voice-policy.inet.0 inet.0 ]
[edit] user@D3# set routing-options rib-groups voice-to-inet import-rib [ voice-policy.inet.0 inet.0 ]
将路由表组 other-to-inet 配置为从 other-policy.inet.0 获取路由,并将其放置在 inet.0 默认路由表中。
[edit] user@D1# set routing-options rib-groups other-to-inet import-rib [ other-policy.inet.0 inet.0 ]
[edit] user@D3# set routing-options rib-groups other-to-inet import-rib [ other-policy.inet.0 inet.0 ]
配置默认 OSPF 实例。
注意:要指定 OSPFv3,请在
[edit routing-instances protocols]层次结构级别包含语ospf3句。[edit] user@D1# set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-2/2/2 user@D1# set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-4/2/2
[edit] user@D3# set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-3/2/2 user@D3# set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-5/2/2
如果完成设备配置,请提交配置。
[edit] user@host# commit
结果
输入show routing-instances、show routing-optionsshow protocols ospf和命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
设备 1 上的配置:
user@D1# show routing-instances
voice-policy {
interface so-2/2/2.0;
protocols {
ospf {
rib-group voice-to-inet;
area 0.0.0.0 {
interface so-2/2/2.0;
}
}
}
}
other-policy {
interface so-4/2/2.0;
protocols {
ospf {
rib-group other-to-inet;
area 0.0.0.0 {
interface so-4/2/2.0;
}
}
}
}
user@D1# show routing-options
rib-groups {
inet-to-voice-and-other {
import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ];
}
voice-to-inet {
import-rib [ voice-policy.inet.0 inet.0 ];
}
other-to-inet {
import-rib [ other-policy.inet.0 inet.0 ];
}
}
user@D1# show protocols ospf
rib-group inet-to-voice-and-other;
area 0.0.0.0 {
interface so-2/2/2.0;
interface so-4/2/2.0;
}
设备 3 上的配置:
user@D3# show routing-instances
voice-policy {
interface so-3/2/2.0;
protocols {
ospf {
rib-group voice-to-inet;
area 0.0.0.0 {
interface so-3/2/2.0;
}
}
}
}
other-policy {
interface so-5/2/2.0;
protocols {
ospf {
rib-group other-to-inet;
area 0.0.0.0 {
interface so-5/2/2.0;
}
}
}
}
user@D3# show routing-options
rib-groups {
inet-to-voice-and-other {
import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ];
}
voice-to-inet {
import-rib [ voice-policy.inet.0 inet.0 ];
}
other-to-inet {
import-rib [ other-policy.inet.0 inet.0 ];
}
}
user@D3# show protocols ospf
rib-group inet-to-voice-and-other;
area 0.0.0.0 {
interface so-3/2/2.0;
interface so-5/2/2.0;
}
要确认您的 OSPFv3 配置,show routing-options请输入show routing-instances、和show protocols ospf3命令。