Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

路由策略术语中的操作

路由策略中的每个术语都可以包含一个 语句,该语句定义当路由与术语中 和 语句中的所有条件匹配时要执行的操作:thenfromto

您可以在以下层次结构级别包含此语句:

  • [edit policy-options policy-statement policy-name term term-name]

  • [edit logical-systems logical-system-name policy-options policy-statement policy-name term term-name]

如果术语没有 and 语句,则认为所有路由都匹配,并且操作适用于所有路由。fromto 有关 和 语句的信息,请参阅 路由策略匹配条件。fromto路由策略匹配条件

您可以在语句中 指定一个或多个操作。then 有三种类型的操作:

  • 流控制操作,影响是接受还是拒绝路由,以及是否评估下一个术语或路由策略。

  • 操纵路由特征的操作。

  • 跟踪操作,用于记录路由匹配项。

    注:

    指定操作路由特征的操作时,更改将发生在源路由的副本中。源路由本身不会更改。只有在将路由导入到路由表中或从路由表中导出路由后,操作的效果才可见。要在应用路由策略之前查看源路由,请使用 命令。show route receive-protocol 要在应用导出策略后查看路由,请使用 命令。show route advertised-protocol

    在策略评估期间,源路由副本中的特征始终在评估操作后立即更改。但是,在策略评估完成之前,路由不会复制到路由表或路由协议。

该 语句是可选的。then 如果省略它,则会发生下列情况之一:

  • 路由策略中的下一个术语(如果存在)将被评估。

  • 如果路由策略中没有更多术语,则评估下一个路由策略(如果存在)。

  • 如果没有更多术语或路由策略,则执行默认策略指定的接受或拒绝操作。有关更多信息,请参阅 默认路由策略。默认路由策略

以下各节讨论这些操作:

配置流控制操作

表 1 列出了流控制操作。您可以指定其中一个操作以及跟踪操作,也可以指定一个或多个操作路由特征的操作(请参见 )。配置操纵路由特征的操作

表 1: 流控制操作

流控制操作

Description

accept

接受路由并传播它。接受路由后,不会评估路由策略中的其他术语,也不会评估其他路由策略。

default-action accept

接受并覆盖协议固有的任何操作。这是一个非终止策略操作。

reject

拒绝路由,不要传播它。路由被拒绝后,不会评估路由策略中的其他术语,也不会评估其他路由策略。

default-action reject

拒绝并覆盖协议固有的任何操作。这是一个非终止策略操作。

next term

跳到并评估同一路由策略中的下一个术语。将跳过语句中 指定的任何接受或拒绝操作。then 语句中 操纵路由特征的任何操作都将应用于路由。then

next term 是发生匹配且您未指定流控制操作时的默认控制操作。

注:

在 Junos OS 演化版上, 不能显示为操作的最后一个术语。next term 不支持指定为操作但未配置任何匹配条件的筛选词 。next term

next policy

跳到并评估下一个路由策略。将跳过语句中 指定的任何接受或拒绝操作。then 语句中 操纵路由特征的任何操作都将应用于路由。then

next policy 是发生匹配时的默认控制操作,您未指定流控制操作,并且当前路由策略中没有其他术语。

SR-TE-模板

分段路由流量工程 (SR-TE) 模板,适用于 PCE 发起的 LSP。

配置操纵路由特征的操作

您可以指定中 列出的一个或多个操作来操作路由特征。表 2

表 2: 操纵路由特征的操作

操作

Description

add-path send-count path-count

(仅限 BGP)允许向播发前缀子 集的目标发送最多 20 个 BGP 路径。add-path

as-path-prepend as-path

(仅限 BGP)在 AS 路径的开头附加一个或多个 AS 编号。如果指定多个 AS 编号,请用引号 (“ ”) 将这些数字括起来。AS 编号将在本地 AS 编号添加到路径之后添加。此操作仅将 AS 编号添加到 AS 序列,而不添加到 AS 集。如果现有 AS 路径以联合序列或联合序列集开头,则附加的 AS 编号将放置在联合序列中。否则,附加的 AS 编号将放置在非联合序列中。有关更多信息,请参阅 了解将 AS 编号前置到 BGP AS 路径。了解将 AS 编号前置到 BGP AS 路径

在 Junos OS 9.1 及更高版本中,您可以指定 RFC 4893 中定义的 4 字节 AS 编号、 BGP 对四字节 AS 编号空间的支持以及早期版本的 Junos OS 支持的 2 字节 AS 编号。

as-path-expand last-as count n

(仅限 BGP)提取现有 AS 路径中的最后一个 AS 编号,并将该 AS 编号附加到 AS 路径 时间的开头,其中 1 到 32 之间的数字。nn

AS 编号是在将本地 AS 编号添加到路径之前添加的。此操作仅将 AS 编号添加到 AS 序列,而不添加到 AS 集。如果现有 AS 路径以联合序列或联合序列集开头,则附加的 AS 编号将放置在联合序列中。否则,附加的 AS 编号将放置在非联合序列中。此选项通常用于非 IBGP 导出策略。

注:

从 Junos OS 17.3 版开始,可以为计数值提交空配置,如果是这样,Junos 会将空值转换为 1 计数而不是 0 计数,或禁止提交。使计数 等于 1 的效果是,这样的 as 路径 更长,因此不太可取。as-path-expand 我们建议您显式设置计数,或删除未使用的设置 以避免任何意外行为。as-path-expand

bgp-output-queue-priority

(仅限 BGP)设置用于此路由的输出优先级队列。有 17 个优先输出队列:一个优先级最高的加速队列,以及 16 个编号队列,其中 1 是最低优先级,16 是最高优先级。

class class-name

(仅限服务等级 [CoS])将指定的服务等级参数应用于安装在路由表中的路由。有关详细信息,请参阅 Junos OS 路由设备服务等级用户指南。https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/cos/config-guide-cos.html

color preference color2 preference

将首选项值设置为指定的值。和首选项值比和操作中指定的值更细粒度。colorcolor2preferencepreference2 颜色值可以是 0 到 4,294,967,295 (232 – 1) 范围内的数字。数字越小表示首选路线越好。

如果使用操作设置 首选项,则该值是 Junos OS 的内部值,不会传递。color

color (add | subtract) number color2 (add | subtract) number

按指定量更改颜色首选项值。如果加法运算产生的值大于 4,294,967,295 (232 – 1),则该值设置为 232 – 1。如果减法运算导致值小于 0,则该值设置为 0。如果在加法或减法操作时尚未设置属性值,则无论指定的数量如何,属性值都将默认为 0。如果对值为 0 的属性执行加法,则添加的数字将成为生成的属性值。

community (+ | add) [ names ]

(仅限 BGP)将指定的社区添加到路由中的社区集。有关更多信息,请参阅 了解 BGP 社区、扩展社区和大型社区作为路由策略匹配条件。将 BGP 社区、扩展社区和大型社区理解为路由策略匹配条件

community (– | delete) [ names ]

(仅限 BGP)从路由中的社区集中删除指定的社区。有关更多信息,请参阅 了解 BGP 社区、扩展社区和大型社区作为路由策略匹配条件。将 BGP 社区、扩展社区和大型社区理解为路由策略匹配条件

community (= | set) [ names ]

(仅限 BGP)将路径中的任何社区替换为指定的社区。有关更多信息,请参阅 了解 BGP 社区、扩展社区和大型社区作为路由策略匹配条件。将 BGP 社区、扩展社区和大型社区理解为路由策略匹配条件

cos-next-hop-map map-name

在转发表中设置基于 CoS 的下一跳映射。

damping name

(仅限 BGP)将指定的路由阻尼参数应用于路由。这些参数将覆盖默认阻尼参数。此操作仅在导入策略中有用,因为阻尼参数会影响路由表中路由的状态。

要应用阻尼参数,必须按照路由 设备的 Junos OS 路由协议库中所述启用 BGP 抖动阻尼,并且必须按照 使用路由策略抑制 BGP 路由抖动中所述创建参数的命名列表。https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/config-guide-routing/index.html使用路由策略抑制 BGP 路由抖动

destination-class destination-class-name

根据数据包中的目标地址维护通过网络的路由的数据包计数。您可以执行以下操作:

external type metric

设置 OSPF 导出的路由的外部指标类型。必须指定关键字 。type

forwarding-class forwarding-class-name

根据数据包中的目标地址和源地址创建包含数据包的转发类。您可以执行以下操作:

  • 通过配置路由策略来配置组前缀。

  • 将该路由策略应用于具有相应转发类的转发表。

  • 使用此表中定义的或操作中所述的过程,在一个或多个接口上启用数据包计数。destination-classsource-class

install-nexthop <strict> lsp lsp-name

在转发表中安装一组相等的 LSP 下一跃点中的下一跃点。使用转发表的导出策略指定要用于所需路由的 LSP 下一跃点。指定启用严格模式的选项,该模式检查策略中指定的任何 LSP 下一跃点是否已启动。strict 如果指定的 LSP 下一跃点均未启动,则策略将安装丢弃下一跃点。

install-to-fib

仅适用于 PTX 系列路由器,请覆盖默认 BGP 路由策略。更多信息,请参见 示例:覆盖 PTX 系列数据包传输路由器上的默认 BGP 路由策略。

load-balance consistent-hash

(仅限 BGP)对于带有模块化端口集中器 (MPC) 的 MX 系列路由器以及仅适用于QFX10000交换机,请为一个或多个 IP 地址指定一致的负载平衡。当一个或多个下一跃点路径发生故障时,此功能可保留流与等价多路径 (ECMP) 组中路径的关联性。仅重定向非活动路径的流。映射到保持活动状态的服务器的流将得到维护。

load-balance destination-ip-only

仅根据目标 IP 地址计算负载平衡哈希。这允许服务提供商将流量定向到每个订阅者感知环境中的特定内容服务器。

load-balance per-packet

(仅用于导出到转发表)在转发表中安装所有下一跃点地址,并让转发表执行按数据包的负载平衡。此策略操作允许您优化跨多个路径的 VPLS 流量。有关更多信息,请参阅 配置按数据包负载均衡。Configuring Per-Packet Load Balancing

load-balance per-prefix

仅适用于 PTX 系列路由器,请覆盖 BGP 的默认每数据包负载平衡路由策略。更多信息,请参见 示例:覆盖 PTX 系列数据包传输路由器上的默认 BGP 路由策略。

load-balance source-ip-only

仅根据源 IP 地址计算负载平衡哈希。这允许服务提供商将流量定向到每个订阅者感知环境中的特定内容服务器。

local-preference value

(仅限 BGP)设置 BGP 本地首选项 (LOCAL_PREF) 属性。首选项值可以是介于 0 到 4,294,967,295 (232 – 1) 之间的数字。

local-preference (add | subtract) number

按指定量更改本地首选项值。如果加法运算产生的值大于 4,294,967,295 (232 – 1),则该值设置为 232 – 1。如果减法运算导致值小于 0,则该值设置为 0。如果在加法或减法操作时尚未设置属性值,则无论指定的数量如何,属性值都将默认为 0。如果对值为 0 的属性执行加法,则添加的数字将成为生成的属性值。

对于 BGP,如果属性值未知,则会在应用路由策略之前将其初始化为 100。

map-to-interface (interface-name | self)

设置 类似于现有指标或标记操作的值。map-to-interface 该 操作要求您指定以下项之一:map-to-interface

  • 逻辑接口(例如 ge-0/0/0.0)。逻辑接口可以是组播当前支持的任何接口,包括 VLAN 和聚合以太网接口。

    注:

    如果将物理接口指定为 ( 例如 ge-0/0/0),则会在物理接口后追加值 .0 以创建逻辑接口。map-to-interface

  • 关键字 .self 该 关键字指定组播数据包在与控制数据包相同的接口上发送,并且不会发生映射。self

如果没有匹配的术语,则不会发送组播数据包。

metric metric metric2 metric metric3 metric metric4 metric

设置指标。您最多可以指定四个衡量指标值,从 (对于第一个衡量指标值)开始,一直以 、 和 开头。metricmetric2metric3metric4

(仅限 BGP) 对应于 MED,并且 对应于 IGP 指标(如果 BGP 下一跃点通过另一个路由器循环)。metricmetric2

metric (add | subtract) number metric2 (add | subtract) number metric3 (add | subtract) number metric4 (add | subtract) number

按指定量更改指标值。如果加法运算产生的值大于 4,294,967,295 (232 – 1),则该值设置为 232 – 1。如果减法运算导致值小于 0,则该值设置为 0。如果在加法或减法操作时尚未设置属性值,则无论指定的数量如何,属性值都将默认为 0。如果对值为 0 的属性执行加法,则添加的数字将成为生成的属性值。

metric expression (metric multiplier x offset a | metric2 multiplier y offset b)

根据 和 的当前值计算指标。metricmetric2

此策略操作使用表达式的结果覆盖指标属性的当前值

((x * 公制) + a) + ((y * 公制2) + b)

其中 和 是当前输入值。metricmetric2 公制乘数的范围限制为 8 位有效数字。

metric (igp | minimum-igp) site-offset

(仅限 BGP)按指定的负偏移量或正偏移量更改指标 (MED) 值。此操作仅在外部 BGP (EBGP) 导出策略中有用。

next-hop (address | discard | next-table table-name | peer-address | reject | self)

设置下一跃点地址。当播发协议为 BGP 时,只有当任何第三方下一跳都可以播发时,才能设置下一跳;也就是说,当您使用 IBGP 或 EBGP 联合时。

如果指定 ,下一跃点地址将替换为本地路由设备的地址之一。self 广告协议确定要使用的地址。当播发协议为 BGP 时,此地址设置为用于 BGP 邻接的本地 IP 地址。路由设备无法安装将自身作为下一跃点的路由。

如果指定 ,下一跃点地址将替换为对等方的 IP 地址。peer-address 此选项仅在导入策略中有效。此选项主要由 BGP 用于强制对播发路由使用对等方的 IP 地址,仅当下一跃点是播发路由设备或其他直接连接的路由设备时,此选项才有意义。

如果指定 ,下一跃点地址将替换为丢弃的下一跃点。discard

如果指定 ,路由设备将在指定的表中执行转发查找。next-table

如果使用操作,则配置必须包含一个术语限定符,该限定符指定与操作中指定的表不同的表。next-tablenext-table 换句话说,语句中的术语限定符必须排除操作中的表。fromnext-table 在下面的示例中,第一个术语包含 作为匹配条件。rib vrf-customer2.inet.0 该操作指定不同路由表中的下一跃点 . vrf-customer1.inet.0 第二个项通过在匹配条件和在操作中使用来执行相反的操作。rib vrf-customer1.inet.0vrf-customer2.inet.0next-table

term 1 {
    from {
        protocol bgp;
        rib vrf-customer2.inet.0;
        community customer;
    }
    then {
        next-hop next-table vrf-customer1.inet.0;
    }
}
term 2 {
    from {
        protocol bgp;
        rib vrf-customer1.inet.0;
        community customer;
    }
    then {
        next-hop next-table vrf-customer2.inet.0;
    }
}

如果指定 ,下一跃点地址将替换为拒绝下一跃点。reject

origin value

(仅限 BGP)将 BGP 源属性设置为以下值之一:

  • igp— 路径信息源自本地 AS。

  • egp— 路径信息源自另一个 AS。

  • incomplete- 通过其他方式获知的路径信息。

p2mp-lsp-root

为基于多点 LDP (M-LDP) 的点对多点标签交换路径 (LSP) 设置入口根节点。更多信息,请参见 示例:为点对多点 LSP 配置多点 LDP 带内信令。

preference preference preference2 preference

设置首选项值。您可以指定主首选项值 () 和辅助首选项值 ()。preferencepreference2 首选项值可以是介于 0 到 4,294,967,295 (232 – 1) 之间的数字。数字越小表示首选路线越好。使用导入策略将 的值设置为 允许 的最高值 4,294,967,295 时,Junos OS 会将此值重置为 -1。preference2 如果设置为 大于 (231 – 1) 的数字,则会将其重置为负值。preference2

要指定更细粒度的首选项值,请参阅 此表中的和 操作。colorcolor2

如果为操作设置 首选项,则新首选项仍与路由关联。preference 新首选项是 Junos OS 内部的,不能传递。

preference (add | subtract) number preference2 (add | subtract) number

按指定量更改首选项值。如果加法运算产生的值大于 4,294,967,295 (232 – 1),则该值设置为 232 – 1。如果减法运算导致值小于 0,则该值设置为 0。如果在加法或减法操作时尚未设置属性值,则无论指定的数量如何,属性值都将默认为 0。如果对值为 0 的属性执行加法,则添加的数字将成为生成的属性值。

priority (low | medium | high)

(仅限 OSPF 导入)为 OSPF 导入策略中包含的前缀指定优先级。通过 OSPF 获知的前缀将根据分配给前缀的优先级安装在路由表中。优先级分配的前缀首先安装,优先级分配的前缀最后安装。highlow

注:

OSPF 导入策略只能用于设置优先级或过滤 OSPF 外部路由。如果应用的 OSPF 导入策略导致 对非外部路由执行终止操作,则会忽略该 操作,并且无论如何都会接受该路由。rejectreject

source-class source-class-name

根据源地址维护通过网络的路由的数据包计数。您可以执行以下操作:

  • 通过配置路由策略来配置组源前缀。

  • 将该路由策略应用于具有相应源类的转发表。

  • 通过在层次结构级别包含 语句 ,在一个或多个接口上启用数据包计数。source-class-usage interface-name[edit interfaces logical-unit-number unit family inet accounting] 此外,在带有或语句的语句之后,定义源类使用 (SCU) 监控的流量到达和离开的入站和出站接口(或为这两个接口定义一个接口)。source-class-usageinputoutput 完整的语法是 。[edit interfaces interface-name unit family inet accounting source-class-usage (input | output | input output) unit-number]

  • 使用以下命令之一查看输出:、 或(请参阅 CLI 资源管理器)。show interfaces interface-name source-class source-class-nameshow interfaces interface-name extensiveshow interfaces interface-name statisticshttps://www.juniper.net/documentation/content-applications/cli-explorer/junos/

  • 要根据目标地址配置数据包计数,请使用此表中描述的 语句。destination-class

  • 有关详细的源代码类用法示例配置,请参阅示例 :将源前缀和目标前缀分组为转发类。

注:

配置策略操作语句时,只能为每个匹配路由配置一个源类。换句话说,不能将多个源类应用于同一路由。

ssm-source [ addresses ];

为特定于源的组播 (SSM) 策略指定一个或多个 IPv4 或 IPv6 源地址

ssm-source [ addresses ];

为特定于源的组播 (SSM) 策略指定一个或多个 IPv4 或 IPv6 源地址。

tag tag tag2 tag

设置标签值。您可以指定两个标签字符串: (对于第一个字符串)和 (第二个字符串)。tagtag2 这些值是路由器的本地值。

  • 对于 OSPF 路由,该操作在 OSPF 外部链路状态通告 (LSA) 数据包中设置 32 位标记字段。tag

  • 对于 IS-IS 路由,该 操作在 IS-IS IP 前缀类型长度值 (TLV) 中设置 32 位标志。tag

  • 对于 RIPv2 路由,该 操作将设置路由标记社区。tag 不支持该 选项。tag2

tag (add | subtract) number tag2 (add | subtract) number

按指定量更改标签值。如果加法运算产生的值大于 4,294,967,295 (232 – 1),则该值设置为 232 – 1。如果减法运算导致值小于 0,则该值设置为 0。如果在加法或减法操作时尚未设置属性值,则无论指定的数量如何,属性值都将默认为 0。如果对值为 0 的属性执行加法,则添加的数字将成为生成的属性值。

validation-state

配置 BGP 源验证后,将路由前缀的验证状态设置为有效、无效或未知。

路由验证数据库包含路由源授权 (ROA) 记录,用于将路由前缀映射到预期的始发自治系统 (AS)。这可以防止意外播发无效路由。

请参阅 了解 BGP 的源验证。https://www.juniper.net/documentation/en_US/junos/topics/topic-map/bgp_origin_validation.html

在路由策略中配置默认操作

该 语句将覆盖协议固有的任何操作。default-action 此操作也是非终止的,因此可以在终止策略之前评估各种策略术语。您可以指定默认操作 或 ,如下所示:acceptreject

生成的操作由协议或匹配的最后一个策略术语设置。

示例:在路由策略中配置默认操作

配置基于三个策略术语匹配路由的路由策略。如果路由与第一个术语匹配,则会附加某个社区标签。如果路由与两个单独的术语匹配,则会附加两个社区标签。如果路由与任何条款都不匹配,则会被拒绝(协议的默认操作)。请注意,这两个术语 是 互斥的。hubspoke

在路由策略中配置最终操作

除了使用命名术语中的语句指定操作外,还可以使用未命名术语中的语句指定操作,如下所示:thenthen

日志记录与路由策略术语匹配

如果指定跟踪操作,则匹配项将记录到跟踪文件中。要设置跟踪文件,必须在全局 语句中指定以下元素:traceoptions

  • 跟踪文件名

  • 语句中的 选项policyflag

下面的示例使用跟踪 文件名 :policy-log

此操作不会影响路由策略评估期间的流控制。

如果指定跟踪操作的术语也指定了流控制操作,则该术语的名称将记录在跟踪文件中。如果术语仅指定跟踪操作,则会记录单词 &lt;>。default

为路由列表中的路由配置单独的操作

如果在语句中 指定路由列表,则对于列表中的每个路由,您可以指定要直接对该单个路由执行的操作,而无需包含 语句。fromthen 有关更多信息,请参阅了解路由 策略匹配条件中使用的路由过滤器。了解用于路由策略匹配条件的路由过滤器