了解用于路由策略匹配条件的前缀列表
前缀列表是 IP 地址的命名列表。您可以指定与传入路由的完全匹配,并(可选)将通用操作应用于列表中所有匹配的前缀。
例如,假设您配置以下前缀列表:
prefix-list bgp179 { apply-path "protocols bgp group <*> neighbor <*>"; }
当设备上的所有邻居都在同一地址族中时,这很有效。
当邻居位于不同的地址族中时(例如,当同时配置 IPv4 和 IPv6 邻居时),可以使用前缀列表,如下所示:
prefix-list IPV4-BGP-NEIGHBORS { apply-path "protocols bgp group <*> neighbor <*.*.*.*>"; } prefix-list IPV6-BGP-NEIGHBORS { apply-path "protocols bgp group <*> neighbor <*:*:*>"; }
一个前缀列表与 IPv4 地址匹配。另一个与 IPv6 地址匹配。您可以运行命令 show configuration policy-options prefix-list prefix-list name | display inheritance
来验证配置。
前缀列表的功能类似于仅包含匹配类型的多个实例 exact
的路由列表。中 表 1总结了这两个扩展匹配条件之间的差异。
功能 |
前缀列表 |
路由列表 |
---|---|---|
操作 |
只能在语句中 |
可以指定应用于语句中 |
有关配置路由列表的信息,请参见 了解用于路由策略匹配条件的路由过滤器。
本节包含以下信息:
配置前缀列表
您可以创建命名前缀列表,并将其包含在具有匹配条件的 prefix-list
路由策略中(如中所述 路由策略匹配条件)。
要定义前缀列表,请包含以下 prefix-list
语句:
[edit policy-options] prefix-list prefix-list-name { apply-path path; ip-addresses; }
可以使用该 apply-path
语句包含由定义的路径指向的所有前缀(及其关联的网络掩码),也可以指定一个或多个地址,或同时指定两者。
要在路由策略中包含前缀列表,请在层次结构级别的语句[edit policy-options policy-statement policy-name term term-name]
中from
指定prefix-list
匹配条件:
[edit policy-options policy-statement policy-name term term-name] from { prefix-list prefix-list-name; } then actions;
name
标识前缀列表。它可以包含字母、数字和连字符 (-),最长可达 127 个字节。要在名称中包含空格,请用引号 (“ ”) 将整个名称括起来。
ip-addresses
是否将 IPv4 或 IP 版本 6 (IPv6) 前缀指定为 prefix/prefix-length
。如果省 prefix-length
略 IPv4 前缀,则默认值为 /32prefix-length
。如果省 prefix-length
略 IPv6 前缀,则默认值为 /128。语句中 from
指定的前缀必须是所有 IPv4 地址或所有 IPv6 地址。不能对列表中的单个前缀应用操作。
您可以在多个路由策略或防火墙过滤器的语句中 from
指定相同的前缀列表。有关防火墙过滤器的信息,请参见 配置防火墙过滤器的准则 和 应用标准防火墙过滤器的准则。
使用该 apply-path
语句配置包含已定义路径指向的所有 IP 前缀的前缀列表。这消除了维护组前缀列表所需的大部分工作。
路径由空格分隔的元素组成。每个元素都匹配一个配置关键字或标识符,您可以使用通配符来匹配多个标识符。通配符必须括在尖括号中,例如 <*>。
不能在语句中的 apply-path
叶语句之后添加路径元素(包括通配符)。路径元素(包括通配符)只能在容器语句之后使用。
用于 apply-path
定义前缀列表时,也可以在策略语句中使用相同的前缀列表。
有关配置前缀列表的示例,请参见 示例:配置路由策略前缀列表。
如何在路由策略匹配条件中评估前缀列表
在前缀列表评估期间,策略框架软件执行 最长匹配查找,这意味着软件在列表中搜索长度最长的前缀。从上到下指定前缀的顺序无关紧要。然后,软件会将路由的源地址与最长前缀进行比较。
通过配置前缀列表筛选器,可以为前缀列表中包含的前缀使用前缀列表限定符。有关更多信息,请参阅 配置前缀列表以在路由策略匹配条件中使用。
如果发生匹配,则继续评估当前术语。如果未发生匹配,则结束对当前术语的评估。
如果在前缀列表中指定多个前缀,则只有一个前缀必须匹配才能进行匹配。前缀列表匹配实际上是逻辑 OR 操作。
配置前缀列表过滤器
前缀列表筛选器允许您将前缀列表限定符应用于前缀列表中的前缀列表。列表中的前缀使用指定的限定符进行评估。您可以在同一策略术语下配置多个前缀列表过滤器。
要配置前缀列表过滤器,请在层次结构级别包含 prefix-list-filter
语句 [edit policy-options policy-statement policy-name from]
:
[edit policy-options policy-statement policy-name] from { prefix-list-filter prefix-list-name match-type actions; }
该 prefix-list-name
选项是要用于评估的前缀列表的名称。只能指定一个前缀列表。
该 match-type
选项是要应用于前缀列表中前缀的匹配类型。它可以是 中 表 2列出的匹配类型之一。
该 actions
选项是在前缀列表匹配时要执行的操作。它可以是配置流控制操作和配置操作路由特征的操作中列出的一个或多个操作。
匹配类型 |
匹配条件 |
---|---|
|
路由共享相同的最高有效位(由 描述 |
|
路由共享相同的最高有效位(由 描述 |
|
路由共享相同的最高有效位(由 描述 |