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

接受和重写协议的任何内部操作。这是一个 nonterminating 的策略操作。

reject

拒绝路由且不传播。路由被拒绝后,路由策略中无其他条款,也不评估其他路由策略。

default-action reject

拒绝和覆盖协议内部的任何操作。这是一个 nonterminating 的策略操作。

next term

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

next term是在出现匹配且未指定流控制操作的情况下的默认控制操作。

注:

在 Junos OS 演变时next term ,不能显示为操作的最后一项。指定为操作但next term不支持任何未配置任何匹配条件的过滤器术语。

next policy

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

next policy是默认控制操作如果发生匹配,则不会指定流控制操作,也不会在当前路由策略中获得进一步的条款。

sr-iov-模板

分段路由流量工程(SR-IOV)模板,适用于 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 路径以联合体 sequence 或 set 开头,则作为编号粘贴的值将置于联合体序列内。否则,所附 AS 编号将放在 nonconfederation 序列中。有关详细信息,请参阅 "了解按数字预先计算作为路径 BGP

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

as-path-expand last-as count n

(BGP)提取现有 AS 路径中的最后一个 AS 编号,此编号AS编号AS路径时间开始,这是一个 1 到 nn 32 的编号。

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

注:

从 Junos OS 版本17.3 中开始,可以提交计数值的 null 配置,如果是,则 Junos 会将 null 转换为1计数而不是0计数,否则将禁用 commit。使as-path-expand计数相等的影响就是这样的as 路径更长,因此更不可取。建议您显式设置as-path-expand计数,或者删除未使用的设置以避免任何意外行为。

bgp-输出队列-优先级

(仅 BGP)设置用于此路由的输出优先级队列。有17个优先级别的输出队列:最高优先级、16个编号队列(其中1为最低优先级,16为最高)的加急队列。

class class-name

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

color preference color2 preference

将首选值设置为指定值。color And color2优先选项的值比preferencepreference2操作中指定的更细。颜色值可以是 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)将指定的路由阻尼参数应用于路由。这些参数重写默认的阻尼参数。此操作仅在导入策略中有用,因为阻尼参数会影响路由表中的路由状态。

要应用衰减参数,您必须启用 BGP flap 衰减,如 Junos OS 路由设备路由协议库 中所述,并且您必须创建名为 参数列表,如"使用路由策略抑制 BGP路由摆动 "中所述。

destination-class destination-class-name

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

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

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

  • 在层级包含 语句,在一个或多个接口上启用数据包计数(请参阅 Junos OS 路由设备的服务等级用户 destination-class-usage[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 extensive 或 ( show interfaces interface-name statistics 请参阅 CLI Explorer)。

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

external type metric

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

forwarding-class forwarding-class-name

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

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

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

  • 使用在此表中定义的或destination-classsource-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)且仅适用于 QFX10000 交换机的 MX 系列路由器,请为一个或多个 IP 地址指定一致的负载平衡。当一个或多个下一跳跃路径发生故障时,此功能可将流的关联保留到同等成本多路径(ECMP)组中的路径。仅重定向处于非活动状态的路径的信息流。将维护映射到保持活动的服务器的流。

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 (第一个指标值)开始,然后继续metric2metric3、和metric4

(仅 BGP)metric对应于 med-v,如果 BGP metric2下一跃点通过另一个路由器循环,则对应于 IGP 指标。

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)

当前输入值的位置metric。metric2 度量乘数的范围限制为八个有效位。

metric (igp | minimum-igp) site-offset

(仅 BGP)将指标(中)值更改为指定的负数或正偏移量。此操作仅在外部 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。第二个术语与在匹配条件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

为基于 multipoint LDP (M-LDP)的点对 multipoint 标签交换路径(LSP)设置入口根节点。有关详细信息,请参阅示例:为点对多点 Lsp配置 Multipoint LDP 带内信号。

preference preference preference2 preference

设置首选值。您可指定主首选项值(preference)和二级首选项值(preference2)。优先级值可以是 0 到 4,294,967,295(232 – 1)的一个数字。较低的数字表示更优先的路由。使用导入策略将值设置preference2为最高允许值4294967295时,Junos OS 会将此值重置为-1。如果设置为 preference2 大于 (231 – 1) 的编号,则它将重置为负值。

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

如果您将首选项设置为preference操作,则新首选项仍与路由相关联。New 首选项是 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终止操作 nonexternal 路由,则该reject操作将被忽略,并且仍然接受路由。

source-class source-class-name

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

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

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

  • 通过将source-class-usage interface-name语句包括在[edit interfaces logical-unit-number unit family inet accounting]层次结构级别,在一个或多个接口上启用数据包计数。此外,在source-class-usage语句后面跟上input or output语句,定义入站和出站接口,为源类使用(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 Explorer)。

  • 要根据目标地址配置数据包计数,请使用此表中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操作将32位标志设置为 IS-IS IP 前缀类型长度值(TLV)。

  • 对于 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 来源验证时,将路由前缀的验证状态设置为有效、无效或未知。

路由验证数据库包含将路由前缀映射到预期源自治系统(As)的路由原始授权(ROA)记录。这样可防止意外通告无效路由。

请参阅了解 BGP 的原始验证

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

default-action语句将覆盖协议内部的任何操作。此操作也 nonterminating,因此在策略终止之前,可以评估各种策略条件。您可以按以下方式指定一个默认accept操作reject

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

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

根据三个策略术语,配置一个匹配路由的路由策略。如果路由与第一项相匹配,则附加某个社区标记。如果路由与两个单独的术语相匹配,则同时附加两个社区标记。如果路由与任何术语不匹配,则它被拒绝(协议的默认操作)。请注意,这些hub条款spoke和互斥性。

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

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

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

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

  • 跟踪文件名

  • policy语句中的flag选项

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

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

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

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

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