示例:配置路由策略前缀列表
在 Junos OS 中,前缀列表提供了一种定义一组路由的方法。Junos OS 提供其他方法来完成相同的任务,例如路由过滤器。前缀列表是 IP 前缀的列表,用于表示在所应用的策略中用作匹配标准的一组路由。此类列表可能有助于表示自治系统中的客户路由列表(AS)。前缀列表具有名称,并在[edit policy-options]配置层次结构中配置。
要求
配置此示例之前,不需要在设备初始化之外进行特殊配置。
概述
前缀列表类似于路由过滤器列表。路由过滤器和前缀列表之间的功能差异在于,不能使用前缀列表来指定范围。您可以使用前缀列表来模拟一个范围,方法是在列表中包含附加前缀,或者使用两个前缀列表,一个短而更长的时间,设置为 "接受",另一个则用于拒绝。您也可使用prefix-list-filter匹配条件过滤前缀列表。您可以exact选择、 longer和orlonger。
当在多个不同位置引用前缀时,将显示路由过滤器列表上的前缀列表的优势。例如,可以在 BGP 导入策略、导出策略、RPF 策略、防火墙过滤器、回传过滤器、设置多播作用域等中引用前缀列表。
当您的前缀列表发生更改时,而不是尝试记住许多不同的位置前缀,而是可以更新前缀列表,将前缀更改一次,而不是多次。这有助于降低配置错误的可能性,例如在某个位置错放地址或忘记更新一个或多个位置。
前缀列表也有助于管理大量设备。您可以尽可能编写各种过滤器和策略,同时引用前缀列表而非特定 IP 地址。筛选器和策略中更复杂的逻辑必须只写一次,并且每台设备和每个站点的最低定制最少。
如中图 1所示,as 64510 中的每个路由器都有客户路由。设备 R1 在 172.16.1.0/24 子网内分配客户路由。设备 R2 和设备 R3 分别在 172.16.2.0/24 和 172.16.3.0/24 子网内分配客户路由。已将设备 R1 指定为64510中的中央点,以维护客户路由的完整列表。设备 R1 具有一个名customers为的前缀列表,如下所示:
您可以看到,前缀列表不包含每个路由的匹配类型(如您在路由过滤器中看到的那样)。在策略中使用前缀列表时,这一点很重要。只有与列表中的一个前缀完全匹配时,路由才匹配。换句话说,列表中的每个路由都必须出现在路由表中,与在前缀列表中配置的完全相同。
您在如下策略中将前缀列表引用为匹配条件:
在此示例中, customers前缀列表中的所有路由都显示在设备 R1 上的路由表中。设备 R2 和设备 R3 向设备 R1 导出至其客户的静态路由。
prefix-list-filter如前所述,您可以将 match 条件与exact、 longer或orlonger匹配类型一起使用。这提供了一种避免前缀列表的完全匹配限制的方法。例如:
该示例演示了prefix-list match 条件和prefix-list-filter匹配条件的效果。
拓扑
图 1显示了示例网络。

一节分步过程介绍设备 R1 上的步骤。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除任何换行符,更改与网络配置匹配的必要详细信息,然后将命令复制并粘贴到[edit]层次结构级别的 CLI 中。
设备 R1
设备 R2
设备 R3
设备 R 4
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅中的CLI 用户指南在配置模式中使用 CLI 编辑器。
要配置设备 R1:
- 配置设备接口。[edit interfaces]user@R1# set interfaces fe-1/2/0 unit 0 description to_R2user@R1# set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.1/30user@R1# set interfaces fe-1/2/2 unit 0 description to_R3user@R1# set interfaces fe-1/2/2 unit 0 family inet address 10.0.0.5/30user@R1# set interfaces fe-1/2/3 unit 0 description to_R4user@R1# set interfaces fe-1/2/3 unit 0 family inet address 10.1.0.5/30user@R1# set interfaces lo0 unit 0 family inet address 192.168.0.1/32
- 将内部 BGP (IBGP)连接配置为设备 R2 和设备 R3。[edit protocols bgp group int]user@R1# set type internaluser@R1# set local-address 192.168.0.1user@R1# set neighbor 192.168.0.2user@R1# set neighbor 192.168.0.3
- 配置与设备 R 4 的 EBGP 连接。[edit protocols bgp group to_64511]user@R1# set type externaluser@R1# set neighbor 10.1.0.6 peer-as 64511user@R1# set export customer-routes
- 将 OSPF 连接配置为设备 R2 和设备 R3。[edit protocols ospf area 0.0.0.0]user@R1# set interface fe-1/2/0.0user@R1# set interface fe-1/2/2.0user@R1# set interface lo0.0 passive
- 配置前缀列表。[edit policy-options prefix-list 64510-customers]user@R1# set 172.16.1.16/28user@R1# set 172.16.1.32/28user@R1# set 172.16.1.48/28user@R1# set 172.16.1.64/28user@R1# set 172.16.2.16/28user@R1# set 172.16.2.32/28user@R1# set 172.16.2.48/28user@R1# set 172.16.2.64/28user@R1# set 172.16.3.16/28user@R1# set 172.16.3.32/28user@R1# set 172.16.3.48/28user@R1# set 172.16.3.64/28
- 配置将前缀列表作为匹配条件引用的路由策略。[edit policy-options policy-statement customer-routes term get-routes]user@R1# set from prefix-list 64510-customersuser@R1# set then accept[edit policy-options policy-statement customer-routes term others]user@R1# set then reject
- 将静态路由配置为 172.16.5.0/24 网络。[edit routing-options static]user@R1# set route 172.16.1.16/28 discarduser@R1# set route 172.16.1.32/28 discarduser@R1# set route 172.16.1.48/28 discarduser@R1# set route 172.16.1.64/28 discard
- 配置自治系统(AS)编号和路由器 ID。[edit routing-options]user@R1# set router-id 192.168.0.1user@R1# set autonomous-system 64510
结果
从配置模式, show interfaces输入、 show protocolsshow policy-options、和show routing-options命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
如果您完成了设备配置,请从commit配置模式进入。
针对
确认配置是否正常工作。
验证设备 R1 上的路由
用途
在设备 R1 上,检查路由表中的路由。
操作
user@R1> 显示路由 terse 172.16/16
inet.0: 26 destinations, 26 routes (26 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both A V Destination P Prf Metric 1 Metric 2 Next hop AS path * ? 172.16.1.16/28 S 5 Discard * ? 172.16.1.32/28 S 5 Discard * ? 172.16.1.48/28 S 5 Discard * ? 172.16.1.64/28 S 5 Discard * ? 172.16.2.1/32 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.16/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.32/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.48/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.64/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.96/32 B 170 100 I unverified >10.0.0.2 * ? 172.16.3.1/32 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.16/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.32/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.48/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.64/28 B 170 100 I unverified >10.0.0.6
含义
设备 R1 了解了自己的静态路由和来自设备 R2 和 R3 (B)的 BGP 路由。
验证路由通告到设备 R 4
用途
在设备 R1 上,请确保将客户路由播发到设备 R 4。
操作
user@R1> show route advertising-protocol bgp
10.1.0.6
inet.0: 26 destinations, 26 routes (26 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.16/28 Self I * 172.16.1.32/28 Self I * 172.16.1.48/28 Self I * 172.16.1.64/28 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I
含义
如预期,只有来自客户前缀列表的路由才会公布到 Device R 4。
试验前缀列表过滤器语句
用途
了解使用prefix-list-filter替代时可能会发生什么prefix-list。
操作
在设备 R2 上,添加长于现有静态路由之一的静态路由。
[edit routing-options static route]user@R2# set 172.16.2.65/32 discarduser@R2# commit在设备 R1 上,停用前缀列表并配置orlonger匹配类型的前缀列表过滤器。
[edit policy-options policy-statement customer-routes term get-routes]user@R1# deactivate from prefix-list 64510-customersuser@R1# set from prefix-list-filter 64510-customers orlongeruser@R1# commit在设备 R1 上,检查哪些路由将通告到设备 R 4。
user@R1> show route advertising-protocol bgp 10.1.0.6
inet.0: 27 destinations, 27 routes (27 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.16/28 Self I * 172.16.1.32/28 Self I * 172.16.1.48/28 Self I * 172.16.1.64/28 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.2.65/32 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I
含义
正如预期的那样,设备 R1 现在向设备 R 4 通告 172.16.2.65/32 路由,即使前缀列表中没有 172.16.2.65/32 也是如此。