了解路由策略匹配条件中使用的前缀列表
前缀列表是 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 是指定为 prefix/prefix-length的 IPv4 或 IP 版本 6 (IPv6) 前缀。如果省略 prefix-length IPv4 前缀,则默认值为 /32prefix-length。如果省 prefix-length 略 IPv6 前缀,则默认值为 /128。语句中 from 指定的前缀必须是全部 IPv4 地址或所有 IPv6 地址。您不能将操作应用于列表中的单个前缀。
您可以在多个路由策略或防火墙过滤器的语句中 from 指定相同的前缀列表。有关防火墙过滤器的信息,请参阅防 火墙过滤器配置指南 和标准 防火墙过滤器应用指南。
使用该 apply-path 语句配置一个前缀列表,其中包含已定义路径指向的所有 IP 前缀。这消除了维护组前缀列表所需的大部分工作。
路径由由空格分隔的元素组成。每个元素都匹配一个配置关键字或标识符,您可以使用通配符来匹配多个标识符。通配符必须用尖括号括起来,例如 <*>。
不能在语句中的 apply-path leaf 语句之后添加路径元素,包括通配符。路径元素(包括通配符)只能在容器语句之后使用。
用于定义前缀列表时 apply-path ,您还可以在策略语句中使用相同的前缀列表。
有关配置前缀列表的示例,请参阅 示例:配置路由策略前缀列表。
如何在路由策略匹配条件中评估前缀列表
在前缀列表评估期间,策略框架软件会执行 最长匹配查找,这意味着软件将在列表中搜索长度最长的前缀。指定前缀的顺序(从上到下)并不重要。然后,软件会将路由的源地址与最长前缀进行比较。
通过配置前缀列表过滤器,可以对前缀列表中包含的前缀使用前缀列表限定符。有关更多信息,请参阅 配置前缀列表以用于路由策略匹配条件。
如果发生匹配,则继续评估当前术语。如果未发生匹配,则结束对当前期限的评估。
如果在前缀列表中指定多个前缀,则只需匹配一个前缀即可进行匹配。前缀列表匹配实际上是一个逻辑 OR 运算。
配置前缀列表过滤器
前缀列表过滤器允许您将前缀列表限定符应用于前缀列表中的前缀列表。使用指定的限定符评估列表中的前缀。您可以在同一策略术语下配置多个前缀列表过滤器。
要配置前缀列表过滤器,请在层次结构级别包含[edit policy-options policy-statement policy-name from]该prefix-list-filter语句:
[edit policy-options policy-statement policy-name]
from {
prefix-list-filter prefix-list-name match-type actions;
}
该 prefix-list-name 选项是要用于评估的前缀列表的名称。您只能指定一个前缀列表。
该 match-type 选项是要应用于前缀列表中前缀的匹配类型。它可以是 表 2 中列出的匹配类型之一。
该 actions 选项是在前缀列表匹配时要执行的操作。它可以是 配置流控制操作 和 配置操作路由特性的操作中列出的一个或多个操作。
|
匹配类型 |
匹配条件 |
|---|---|
|
|
路由共享相同的最高有效位(由 |
|
|
路由共享相同的最高有效位(由 |
|
|
路由共享相同的最高有效位(由 |