配置路由过滤器的步行以提高运营效率
如果由于跨多个策略术语拆分路由筛选器而担心策略性能,请使用步行功能。walkup 功能支持将路由过滤器整合到一个策略术语下。
如果由于默认路由过滤器行为而将策略语句拆分为多个术语,则路由过滤器演练功能允许您将多个路由过滤器合并为一个策略语句术语。默认情况下,Junos OS 评估策略语句术语中的多个路由过滤器,方法是首先查找最长匹配前缀,然后评估附加到路由过滤器的条件(例如前缀范围)。如果路由过滤器条件为 false(例如,前缀不在指定范围内),则整个术语为 false,即使可能存在 true 的较短路由过滤器前缀也是如此。步行功能在本地或全局更改此默认行为。
路由过滤器演练功能在策略语句中使用多个路由过滤器的任何地方使用。层次结构级别的主路由实例 [edit policy-options]
和层次结构级别的逻辑系统 [edit logical-systems policy-options]
都支持逐步执行选项。
在开始配置路由筛选器演练之前,请确保您已:
正确配置的路由策略或路由策略集
需要将多个路由过滤器术语合并为更少的路由策略术语
可以通过两种不同的方式配置路由过滤器遍历。您可以在层次结构级别或在[edit policy-options default route-filter]
层次结构级别的逻辑系统中[edit logical-systems policy-options default route-filter]
全局配置该walkup
选项。全局配置选项 walkup
时,您将更改每个策略语句中的策略路由过滤器行为。该 walkup
选项不是默认的策略语句行为(如果最长匹配路由筛选器为 false,则术语为 false),而是全局更改此行为(从最长匹配路由筛选器“上行”到不太具体,如果有任何为真,则术语为 true)。
如果全局配置该 walkup
选项,您仍然可以基于每个路由策略在本地覆盖它。因此,如果已全局启用 walkup
,则可以通过在层次结构级别配置 no-walkup
[edit policy-options policy-statement default route-filter]
option 语句,在路由策略中覆盖它。该 no-walkup
选项在本地还原此策略语句的默认路由过滤器行为。
在 [edit policy-options default route-filter]
全局级别,唯一的选项是语句, walkup
因为全局默认行为是“无漫游”。但是,对于层次结构级别的单个策略语句 [edit policy-options policy-statement default route-filter]
,您可以配置 walkup
or no-walkup
option 语句。这样,在本地级别,您可以控制策略语句是执行逐步执行(配置了语句)walkup
还是不执行(配置了语句)。no-walkup
这使用户可以最大程度地控制 walkup
选项
您可以使用以下内容全局配置步行功能:
user@host> set policy-options defaults route-filter walkup
或者,使用以下命令在逻辑系统中全局配置步行功能:
user@host> set logical-systems logical-system-name policy-options defaults route-filter walkup
您可以使用以下命令在策略语句中本地配置步行或不步行功能:
user@host> set policy-options policy-statement policy-statement-name defaults route-filter [ no-walkup | walkup ]
或者,使用以下命令在逻辑系统中本地配置步行功能:
user@host> set logical-systems logical-system-name policy-options policy-statement policy-statement-name defaults route-filter [ no-walkup | walkup ]
当同时在全局和本地级别配置语句时,路由过滤器执行行为可能很复杂。 表 1 显示了在全局和本地配置该功能时,策略语句的行为以及 walkup 选项的所有六种可能组合。
箱: |
全局配置 |
本地配置 |
结果 |
---|---|---|---|
1 |
(无) |
(无) |
设备不会执行任何策略的执行(默认操作)。 |
2 |
(无) |
|
设备对此策略执行演练。 |
3 |
(无) |
|
设备不会执行任何策略的执行(默认操作)。 |
4 |
|
(无) |
设备对所有策略执行演练。 |
5 |
|
|
设备对所有策略执行演练。 |
6 |
|
|
设备不会仅针对此策略执行演练。 |
每行形成一个编号为 1 到 6 的可能用例。每个步行案例配置如下:
案例#1:这是向后兼容的简单配置。未全局或本地启用路由筛选器演练。设备的行为与引入该功能之前完全相同。任何策略中都不会发生路由过滤器演练。
案例#2:路由过滤器演练未全局启用,但在本地为名为 的特定
RouteFilter-Case2
策略启用。路由筛选器演练发生在此策略中。要为特定策略在本地配置路由过滤器演练,请执行以下操作:
在本地为此策略语句启用步行功能。
[edit policy-options] user@host# set policy-statement RouteFilter-Case2 defaults route-filter walkup
在本地配置策略术语(演练适用于此策略中的所有术语)。
[edit policy-options] user@host# set policy-statement RouteFilter-Case2 term ...
将策略语句应用于路由协议。
案例#3:路由过滤器
walkup
未全局启用,但no-walkup
在本地为名为 的特定RouteFilter-Case3
策略启用。(这种情况不是特别有用,因为默认情况下不会在所有策略中执行,但确实会显式执行本地行为,即使将来全局启用执行也是如此。要为特定策略配置路由过滤器 no-walkup 本地,请执行以下操作:
no-walkup
在本地为此策略语句启用该功能。[edit policy-options] user@host# set policy-statement RouteFilter-Case3 defaults route-filter no-walkup
在本地配置策略术语(
no-walkup
适用于此策略)。[edit policy-options] user@host# set policy-statement RouteFilter-Case3 term ...
将策略语句应用于路由协议。
案例#4:路由过滤器
walkup
已全局启用,但未在本地为名为RouteFilter-Case4
的特定策略启用。由于全局配置,路由过滤器walkup
会出现在此策略中。要为设备全局配置路由过滤器演练,请执行以下操作:
为此设备全局启用步行功能。
[edit policy-options] user@host# set defaults route-filter walkup
注:与在策略语句中本地配置的
walkup
or 语句相反,全局walkup
是在或[edit logical-systems logical-system-name policy-options defaults]
层次结构级别配置[edit policy-options defaults]
的,适用于所有no-walkup
策略。在本地配置策略语句
RouteFilter-Case4
和条款(演练适用于此策略)。[edit policy-options] user@host# set policy-statement RouteFilter-Case4 term ...
将策略语句应用于路由协议。
案例#5:路由过滤器
walkup
已全局启用,并在本地为名为 的特定RouteFilter-Case5
策略启用。尽管此配置可能看起来是多余的(全局和本地启用遍历),但这可确保路由筛选器遍历在此策略中发生,即使在全局级别删除路由筛选器遍历也是如此。要为设备全局配置路由过滤器演练,为特定策略配置本地路由筛选器演练,请执行以下操作:
walkup
为此设备全局启用该功能。[edit policy-options] user@host# set defaults route-filter walkup
注:全局漫游在或
[edit logical-systems logical-system-name policy-options defaults]
层次结构级别配置[edit policy-options defaults]
,并应用于所有策略。配置策略语句
RouteFilter-Case5
并在本地启用walkup
(walkup
适用于此策略)。[edit policy-options] user@host# set policy-statement Route-Filter-Case5 defaults route-filter walkup
在本地配置策略语句
RouteFilter-Case5
和条款(演练适用于此策略)。[edit policy-options] user@host# set policy-statement RouteFilter-Case5 term ...
将策略语句应用于路由协议。
案例#6:路由过滤器
walkup
全局启用,但no-walkup
对于名为 的特定RouteFilter-Case6
策略,在本地覆盖。由于本地配置,此策略中不会发生路由筛选器演练。这种情况有助于确保本地策略仍像启用全局漫游之前一样运行。要为设备全局配置路由过滤器演练,为特定策略在本地配置无漫游功能,请执行以下操作:
为此设备全局启用步行功能。
[edit policy-options] user@host# set defaults route-filter walkup
注:全局漫游在或
[edit logical-systems logical-system-name policy-options defaults]
层次结构级别配置[edit policy-options defaults]
,并应用于所有策略。配置策略语句
RouteFilter-Case6
并使用语句在本地no-walkup
禁用漫游(此策略中不执行任何演练)。[edit policy-options] user@host# set policy-statement Route-Filter-Case6 defaults route-filter walkup
在本地配置策略语句
RouteFilter-Case6
和条款。[edit policy-options] user@host# set policy-statement RouteFilter-Case6 term ...
将策略语句应用于路由协议。
请记住,策略语句在作为路由协议本身的导入或导出策略应用之前不会执行任何操作。对于 BGP,这可以在全局、组或邻居级别完成。