示例:配置条件默认路由策略
此示例说明如何在一台路由设备上配置条件默认路由,并将默认路由重新分发到 OSPF 中。
要求
配置此示例之前,不需要除设备初始化之外的特殊配置。
概述
在此示例中,OSPF 区域 0 包含三个路由设备。设备 R3 与外部对等方(例如,互联网服务提供商 (ISP))具有 BGP 会话。
要将静态路由传播到 BGP 中,此示例在定义路由时包含 discard
语句。ISP 将默认静态路由注入 BGP,从而为客户网络提供到达外部网络的默认静态路由。静态路由的下一跃点被丢弃。这意味着,如果数据包与更具体的路由不匹配,则会拒绝该数据包,并在路由表中安装此目标的拒绝路由,但不会发送互联网控制消息协议 (ICMP) 无法访问的消息。丢弃下一跃点允许您发起摘要路由,该路由可通过动态路由协议播发。
设备 R3 将默认路由导出到 OSPF 中。设备 R3 上的路由策略是有条件的,如果与 ISP 的连接中断,默认路由将不再导出到 OSPF,因为它在路由表中不再处于活动状态。此策略可防止数据包在没有通知的情况下被静默丢弃(也称为空路由过滤)。
此示例显示了所有设备的配置以及设备 R3 上的分步配置。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit]
中。
设备 R1
set interfaces fe-1/2/0 unit 0 description R1->R3 set interfaces fe-1/2/0 unit 0 family inet address 10.0.1.2/30 set interfaces fe-1/2/1 unit 2 description R1->R2 set interfaces fe-1/2/1 unit 2 family inet address 10.0.0.1/30 set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface fe-1/2/1.2
设备 R2
set interfaces fe-1/2/0 unit 1 description R2->R1 set interfaces fe-1/2/0 unit 1 family inet address 10.0.0.2/30 set interfaces fe-1/2/1 unit 4 description R2->R3 set interfaces fe-1/2/1 unit 4 family inet address 10.0.2.2/30 set protocols ospf area 0.0.0.0 interface fe-1/2/0.1 set protocols ospf area 0.0.0.0 interface fe-1/2/1.4
设备 R3
set interfaces fe-1/2/0 unit 3 description R3->R2 set interfaces fe-1/2/0 unit 3 family inet address 10.0.2.1/30 set interfaces fe-1/2/1 unit 5 description R3->R1 set interfaces fe-1/2/1 unit 5 family inet address 10.0.1.1/30 set interfaces ge-0/0/2 unit 0 description R3->ISP set interfaces ge-0/0/2 unit 0 family inet address 10.0.45.2/30 set protocols bgp group ext type external set protocols bgp group ext peer-as 64500 set protocols bgp group ext neighbor 10.0.45.1 set protocols ospf export gendefault set protocols ospf area 0.0.0.0 interface fe-1/2/1.4 set protocols ospf area 0.0.0.0 interface fe-1/2/0.3 set policy-options policy-statement gendefault term upstreamroutes from protocol bgp set policy-options policy-statement gendefault term upstreamroutes from as-path upstream set policy-options policy-statement gendefault term upstreamroutes from route-filter 0.0.0.0/0 upto /16 set policy-options policy-statement gendefault term upstreamroutes then next-hop 10.0.45.1 set policy-options policy-statement gendefault term upstreamroutes then accept set policy-options policy-statement gendefault term end then reject set policy-options as-path upstream "^64500 " set routing-options autonomous-system 64501
设备 ISP
set interfaces ge-0/0/2 unit 0 family inet address 10.0.45.1/30 set protocols bgp group ext type external set protocols bgp group ext export advertise-default set protocols bgp group ext peer-as 64501 set protocols bgp group ext neighbor 10.0.45.2 set policy-options policy-statement advertise-default term 1 from route-filter 0.0.0.0/0 exact set policy-options policy-statement advertise-default term 1 then accept set routing-options static route 0.0.0.0/0 discard set routing-options autonomous-system 64500
程序
分步过程
下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置设备 R3:
配置接口。
[edit interfaces] user@R3# set fe-1/2/0 unit 3 description R3->R2 user@R3# set fe-1/2/0 unit 3 family inet address 10.0.2.1/30 user@R3# set fe-1/2/1 unit 5 description R3->R1 user@R3# set fe-1/2/1 unit 5 family inet address 10.0.1.1/30 user@R3# set ge-0/0/2 unit 0 description R3->ISP user@R3# set ge-0/0/2 unit 0 family inet address 10.0.45.2/30
配置自治系统 (AS) 编号。
[edit routing-options] user@R3# set autonomous-system 64501
配置与 ISP 设备的 BGP 会话。
[edit protocols bgp group ext] user@R3# set type external user@R3# set peer-as 64500 user@R3# set neighbor 10.0.45.1
配置 OSPF。
[edit protocols ospf area 0.0.0.0] user@R3# set interface fe-1/2/1.4 user@R3# set interface fe-1/2/0.3
配置路由策略。
[edit policy-options policy-statement gendefault] user@R3# set term upstreamroutes from protocol bgp user@R3# set term upstreamroutes from as-path upstream user@R3# set term upstreamroutes from route-filter 0.0.0.0/0 upto /16 user@R3# set term upstreamroutes then next-hop 10.0.45.1 user@R3# set term upstreamroutes then accept user@R3# set term end then reject [edit policy-options] user@R3# set as-path upstream "^64500 "
将导出策略应用于 OSPF。
[edit protocols ospf] user@R3# set export gendefault
如果完成设备配置,请提交配置。
[edit] user@R3# commit
结果
通过发出 show
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
user@R3# show interfaces { fe-1/2/0 { unit 3 { description R3->R2; family inet { address 10.0.2.1/30; } } } fe-1/2/1 { unit 5 { description R3->R1; family inet { address 10.0.1.1/30; } } } ge-1/2/0 { unit 0 { description R3->ISP; family inet { address 10.0.45.2/30; } } } } protocols { bgp { group ext { type external; peer-as 64500; neighbor 10.0.45.1; } } ospf { export gendefault; area 0.0.0.0 { interface fe-1/2/1.4; interface fe-1/2/0.3; } } } policy-options { policy-statement gendefault { term upstreamroutes { from { protocol bgp; as-path upstream; route-filter 0.0.0.0/0 upto /16; } then { next-hop 10.0.45.1; accept; } } term end { then reject; } } as-path upstream "^64500 "; } routing-options { autonomous-system 64501; }
验证
确认配置工作正常。
验证到 ISP 的路由是否正常工作
目的
确保在设备 R3 和 ISP 路由器之间建立了连接。
操作
user@R3> ping 10.0.45.1 PING 10.0.45.1 (10.0.45.1): 56 data bytes 64 bytes from 10.0.45.1: icmp_seq=0 ttl=64 time=1.185 ms 64 bytes from 10.0.45.1: icmp_seq=1 ttl=64 time=1.199 ms 64 bytes from 10.0.45.1: icmp_seq=2 ttl=64 time=1.186 ms
意义
该 ping
命令确认可访问性。
验证静态路由是否已重新分发
目的
确保 BGP 策略将静态路由重新分发到设备 R3 的路由表中。还要确保 OSPF 策略将静态路由重新分发到设备 R1 和设备 R2 的路由表中。
操作
user@R3> show route protocol bgp inet.0: 9 destinations, 10 routes (9 active, 0 holddown, 1 hidden) + = Active Route, - = Last Active, * = Both 0.0.0.0/0 *[BGP/170] 00:00:25, localpref 100 AS path: 64500 I > to 10.0.45.1 via ge-0/0/2.6
user@R1> show route protocol ospf inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 0.0.0.0/0 *[OSPF/150] 00:03:58, metric 0, tag 0 > to 10.0.1.1 via fe-1/2/0.0 10.0.2.0/30 *[OSPF/10] 03:37:45, metric 2 to 10.0.1.1 via fe-1/2/0.0 > to 10.0.0.2 via fe-1/2/1.2 172.16.233.5/32 *[OSPF/10] 03:38:41, metric 1 MultiRecv
user@R2> show route protocol ospf inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 0.0.0.0/0 *[OSPF/150] 00:04:04, metric 0, tag 0 > to 10.0.2.1 via fe-1/2/1.4 10.0.1.0/30 *[OSPF/10] 03:37:46, metric 2 to 10.0.0.1 via fe-1/2/0.1 > to 10.0.2.1 via fe-1/2/1.4 172.16.233.5/32 *[OSPF/10] 03:38:47, metric 1 MultiRecv
意义
路由表包含默认的 0.0.0.0/0 路由。如果设备 R1 和设备 R2 收到发往其路由表中未指定的网络的数据包,则这些数据包将被发送到设备 R3 进行进一步处理。如果设备 R3 收到发往其路由表中未指定的网络的数据包,这些数据包将被发送到 ISP 进行进一步处理。
测试策略条件
目的
停用接口以确保在无法访问外部网络时从路由表中删除路由。
操作
user@R3> deactivate interfaces ge-0/0/2 unit 0 family inet address 10.0.45.2/30 user@R3> commit
user@R1> show route protocol ospf inet.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.2.0/30 *[OSPF/10] 03:41:48, metric 2 to 10.0.1.1 via fe-1/2/0.0 > to 10.0.0.2 via fe-1/2/1.2 172.16.233.5/32 *[OSPF/10] 03:42:44, metric 1 MultiRecv user@R2> show route protocol ospf inet.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.1.0/30 *[OSPF/10] 03:42:10, metric 2 to 10.0.0.1 via fe-1/2/0.1 > to 10.0.2.1 via fe-1/2/1.4 172.16.233.5/32 *[OSPF/10] 03:43:11, metric 1 MultiRecv
意义
设备 R1 和设备 R2 上的路由表不包含默认的 0.0.0.0/0 路由。这将验证 OSPF 域中是否不再存在默认路由。要重新激活 ge-0/0/2.6 接口,请发出 activate interfaces ge-0/0/2 unit 0 family inet address 10.0.45.2/30
配置模式命令。