配置路由过滤器的步行以提高运营效率
如果由于跨多个策略术语拆分路由筛选器而担心策略性能,请使用步行功能。walkup 功能支持将路由过滤器整合到一个策略术语下。
如果由于默认路由过滤器行为而将策略语句拆分为多个术语,则路由过滤器演练功能允许您将多个路由过滤器合并为一个策略语句术语。默认情况下,Junos OS 评估策略语句术语中的多个路由过滤器,方法是首先查找最长匹配前缀,然后评估附加到路由过滤器的条件(例如前缀范围)。如果路由过滤器条件为 false(例如,前缀不在指定范围内),则整个术语为 false,即使可能存在 true 的较短路由过滤器前缀也是如此。步行功能在本地或全局更改此默认行为。
路由过滤器演练功能在策略语句中使用多个路由过滤器的任何地方使用。层次结构级别的主路由实例 和层次结构级别的逻辑系统 都支持逐步执行选项。[edit policy-options]
[edit logical-systems policy-options]
在开始配置路由筛选器演练之前,请确保您已:
正确配置的路由策略或路由策略集
需要将多个路由过滤器术语合并为更少的路由策略术语
可以通过两种不同的方式配置路由过滤器遍历。您可以在层次结构级别或在层次结构级别的逻辑系统中全局配置该选项。walkup
[edit policy-options default route-filter]
[edit logical-systems policy-options default route-filter]
全局配置选项 时,您将更改每个策略语句中的策略路由过滤器行为。walkup
该 选项不是默认的策略语句行为(如果最长匹配路由筛选器为 false,则术语为 false),而是全局更改此行为(从最长匹配路由筛选器“上行”到不太具体,如果有任何为真,则术语为 true)。walkup
如果全局配置该 选项,您仍然可以基于每个路由策略在本地覆盖它。walkup
因此,如果已全局启用 ,则可以通过在层次结构级别配置 option 语句,在路由策略中覆盖它。walkup
no-walkup
[edit policy-options policy-statement default route-filter]
该 选项在本地还原此策略语句的默认路由过滤器行为。no-walkup
在 全局级别,唯一的选项是语句, 因为全局默认行为是“无漫游”。[edit policy-options default route-filter]
walkup
但是,对于层次结构级别的单个策略语句 ,您可以配置 or option 语句。[edit policy-options policy-statement default route-filter]
walkup
no-walkup
这样,在本地级别,您可以控制策略语句是执行逐步执行(配置了语句)还是不执行(配置了语句)。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 ]
当同时在全局和本地级别配置语句时,路由过滤器执行行为可能很复杂。 显示了在全局和本地配置该功能时,策略语句的行为以及 walkup 选项的所有六种可能组合。表 1
情况 下: |
全局配置 |
本地配置 |
结果 |
---|---|---|---|
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
注:与在策略语句中本地配置的 or 语句相反,全局 是在或层次结构级别配置的,适用于所有策略。
walkup
walkup
no-walkup
[edit policy-options defaults]
[edit logical-systems logical-system-name policy-options defaults]
在本地配置策略语句 和条款(演练适用于此策略)。
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 policy-options defaults]
[edit logical-systems logical-system-name 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 policy-options defaults]
[edit logical-systems logical-system-name 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,这可以在全局、组或邻居级别完成。