Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

路由策略术语中的操作

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

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

  • [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]

如果术语没有 from and to 语句,则认为所有路由都匹配,并且操作适用于所有路由。有关 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-template

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

配置操纵路由特征的操作

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

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

操作

Description

add-path send-count path-count

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

as-path-prepend as-path

(仅限 BGP)在 AS 路径的开头附加一个或多个 AS 编号。如果指定多个 AS 编号,请用引号 (“ ”) 将这些数字括起来。AS 编号将在本地 AS 编号添加到路径之后添加。此操作仅将 AS 编号添加到 AS 序列,而不添加到 AS 集。如果现有 AS 路径以联合序列或联合序列集开头,则附加的 AS 编号将放置在联合序列中。否则,附加的 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 路径 n 时间的开头,其中 n 1 到 32 之间的数字。

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

注:

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

assisted-replication replicator-ip replicator-ip (strict | fallback-replicator-ip fallback-replicator-ip)

(仅限具有优化的子网间组播 [OISM] 的辅助复制 [AR])在运行 OISM 的 EVPN 网络中启用 AR 叶设备,以确定性地将组播流引导至特定的 AR 复制器设备。(可选)包括 strict 仅将匹配流严格转发到首选指定 AR 复制器的选项。或者,您可以包含一个回退 AR 复制器地址,以便在首选 AR 复制器出现故障时使用。有关详细信息,请参阅 assisted-replication (Deterministic AR Replicator Policy Actions)

bgp-output-queue-priority

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

class class-name

(仅限服务等级 [CoS])将指定的服务等级参数应用于安装在路由表中的路由。有关详细信息,请参阅 Junos OS 路由设备服务等级用户指南

color preference color2 preference

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

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

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 社区、扩展社区和大型社区作为路由策略匹配条件

community (– | delete) [ names ]

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

community (= | set) [ names ]

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

cos-next-hop-map map-name

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

damping name

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

要应用阻尼参数,必须按照路由 设备的 Junos OS 路由协议库中所述启用 BGP 抖动阻尼,并且必须按照 使用路由策略抑制 BGP 路由抖动中所述创建参数的命名列表。

destination-class destination-class-name

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

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

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

  • 通过在层次结构级别包含destination-class-usage语句,在一个或多个接口上启用数据包计数(请参阅适用于路由设备的 Junos OS 服务等级用户指南[edit interfaces interface-name unit logical-unit-number family inet accounting])。

  • 使用以下命令之一查看输出:show interfaces destination-class (all | destination-class-name logical-interface-name)、 show interfaces interface-name extensiveshow interfaces interface-name statistics(请参阅 CLI 资源管理器)。

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

external type metric

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

forwarding-class forwarding-class-name

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

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

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

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

install-nexthop <strict> lsp lsp-name

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

install-to-fib

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

load-balance consistent-hash

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

load-balance symmetric-consistent-hash

(MX 系列路由器 - 基于 AFT)启用对称一致性散列以支持静态路由的一致散列,并在正向和反向上通过相关的源 IP 和目标 IP 负载平衡哈希键实现对称负载均衡。

此操作用于对任播 IP 应用一致哈希的情况,这些 IP 用于对通过静态路由获知的流量进行负载平衡,流向上游和下游方向的 ECMP 服务器组。由于预期来自客户的所有流量都应到达同一 ECMP 服务器,因此只有源 IP 用于在一个方向上创建负载平衡哈希,而目标 IP 用于在相反方向上创建负载平衡哈希。

load-balance destination-ip-only

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

load-balance per-packet

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

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 和聚合以太网接口。

    注:

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

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

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

metric metric metric2 metric metric3 metric metric4 metric

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

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

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)

根据 和 metric2metric当前值计算指标。

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

((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 地址。路由设备无法安装将自身作为下一跃点的路由。

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

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

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

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

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

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

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

如果为操作设置 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 获知的前缀将根据分配给前缀的优先级安装在路由表中。优先级分配的 high 前缀首先安装,优先级分配的 low 前缀最后安装。

注:

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

source-class source-class-name

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

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

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

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

  • 使用以下命令之一查看输出:show interfaces interface-name source-class source-class-nameshow interfaces interface-name extensiveshow interfaces interface-name statistics(请参阅 CLI 资源管理器)。

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

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

注:

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

ssm-source [ addresses ];

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

ssm-source [ addresses ];

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

tag tag tag2 tag

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

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

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

  • 对于 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 的源验证

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

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

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

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

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

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

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

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

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

  • 跟踪文件名

  • policy 语句中的 flag 选项

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

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

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

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

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