策略框架概述
Junos® 操作系统 (Junos OS) 提供了一个 策略框架,该框架是 Junos OS 策略的一个集合,允许您控制路由信息和数据包的流。
Junos OS 策略架构简单明了。但是,每个策略的实际实施增加了策略的复杂性,并增加了路由器的功能功能和灵活性。配置策略会对路由器内部和通过路由器的路由信息或数据包流产生重大影响。例如,您可以配置不允许将与特定客户关联的路由放置在路由表中的路由策略。由于此路由策略,客户路由不会用于将数据包转发到各种目标,并且路由协议不会通过路由协议向邻接方播发这些路由。
配置策略之前,请确定要利用策略实现的目标,并全面了解如何使用各种匹配条件和操作实现目标。此外,确保您了解要配置的策略的默认策略和操作。
路由策略和防火墙过滤器
策略框架由以下策略组成:
路由策略 — 允许您控制路由协议与路由表之间以及路由表与转发表之间的路由信息。所有路由协议都使用 Junos OS 路由表来存储所学习的路由,并确定应在协议数据包中播发哪些路由。路由策略允许您控制哪些路由协议会存储和从路由表中检索。
防火墙过滤器 策略 — 允许您控制将路由器传输至网络目标的数据包,以及发送到路由器并由路由器发送的数据包。
注:此处使用 “防火墙过滤器策略” 一词来强调防火墙过滤器是一种策略,并与路由策略有一些基本相似之处。但是,在本手册其余部分中提到防火墙过滤器策略时,会使用 “防火墙过滤器 ”一词。
创建路由策略的原因
在以下典型情况下,您可能希望通过创建自己的路由策略来抢占路由策略框架中的默认路由策略:
您不希望协议将所有路由导入路由表中。如果路由表未了解某些路由,则它们永远不会用于转发数据包,也永远也不能重新分配到其他路由协议中。
您不希望路由协议导出它学习的所有活动路由。
您希望路由协议能够通告从其他路由协议中学习到的活动路由,这有时称为 路由重新分配。
您希望操作路由特征,例如首选项值、AS 路径或社区。您可以操控路由特征,以控制将哪个路由选为活动路由才能到达目标。通常,活动路由也会播发给路由器的邻接方。
您希望更改默认 BGP 路由抖动抑制参数。
您希望按数据包执行负载均衡。
您希望启用 服务等级 (CoS)。
受策略影响的路由器流
Junos OS 策略会影响以下路由器流:
路由协议与路由表之间以及路由表与转发表之间的路由信息流。路由引擎处理此流。路由信息 是路由协议从路由器邻接方获悉的路由信息。此信息存储在路由表中,随后由路由协议向路由器的邻接方播发。路由策略允许您控制此信息的流。
数据包进出路由器物理接口的流。数据包转发引擎处理此流。数据包 是在路由器被从源转发到目标时传输路由器的数据块。当路由器在接口上收到数据包时,它会通过在转发表中查找到目标的最佳路由来确定数据包转发的位置。然后,路由器通过相应接口将数据包转发到其目标位置。防火墙过滤器允许您控制这些数据包的流。
本地数据包流从路由器的物理接口和路由引擎。路由引擎处理此流。本地数据包 是发送到路由器或由路由器发送的数据块。本地数据包通常包含路由协议数据、Telnet 或 SSH 等 IP 服务的数据以及管理协议(如 Internet 控制消息协议 (ICMP) 的数据。当路由引擎收到本地数据包时,它会将数据包转发到相应的进程或内核(这两个内核都是路由引擎的一部分),或转发到数据包转发引擎。防火墙过滤器允许您控制这些本地数据包的流。
注:在本章的其余部分,“ 数据包 ”一词指数据和本地数据包,除非另有明确说明。
图 1 展示了通过路由器的流量。虽然两个流之间差别很大,但它们也是相互依赖的。路由策略确定将哪些路由放置在转发表中。反过来,转发表在确定通过该接口转发数据包的合适物理接口方面发挥着不可或缺的作用。

您可以配置路由策略,以控制路由协议在路由表中的位置,以及控制从路由表播发的路由协议(请参阅 图 2)。路由协议仅从路由表中播发活动路由。( 活动路由 是从路由表中所有路由中选择的要到达目标的路由。)
您还可以使用路由策略来请执行以下操作:
更改特定路由特征,以便控制将哪个路由选为活动路由才能到达目标。通常,活动路由也会播发给路由器的邻接方。
更改为默认 BGP 路由抖动衰减值。
按数据包执行负载平衡。
启用服务等级 (CoS)。

您可以配置防火墙过滤器来控制数据包流的以下几个方面(请参阅 图 3):
物理接口上接受哪些数据包并从中传输。要控制数据包流,请对物理接口应用防火墙过滤器。
哪些本地数据包从物理接口和路由引擎传输。要控制本地数据包,您可以在环路接口(路由引擎的接口)上应用防火墙过滤器。
防火墙过滤器提供了一种保护路由器的方式,防止将路由器传输到网络目标或向路由引擎发送的流量过多。控制本地数据包的防火墙过滤器还可以保护您的路由器免受外部事件(如拒绝服务攻击)的侵害。

控制点
所有策略都提供两个点,您可以在其中控制通过路由器的路由信息或数据包(请参阅 图 4)。您可以通过这些控制点控制以下内容:
将路由信息置于路由表中之前和之后。
转发表查找之前和之后的数据包。
路由引擎在接收本地数据包之前和之后。(图 4 似乎仅描述一个控制点,但由于本地数据包的双向流,实际存在两个控制点。)

由于有两个控制点,因此您可以配置策略来控制路由信息或数据包与相应表交互之前和之后的路由信息或数据包,以及控制本地数据包与路由引擎交互之前和之后的策略。导入路由策略 控制放置在路由表中的路由信息,而 导出路由策略 则控制从路由表播发的路由信息。输入防火墙过滤器 控制在路由器接口上接收的数据包,而 输出防火墙过滤器 则控制从路由器接口传输的数据包。
策略组件
所有策略均由您配置的以下组件组成:
匹配条件 — 路由或数据包的比较标准。您可以配置一个或多个标准。如果所有标准都匹配,将应用一个或多个操作。
操作 — 如果所有标准都匹配,会发生什么。您可以配置一个或多个操作。
术语 - 定义匹配条件和操作的命名结构。您可以定义一个或多个术语。
策略框架软件根据一个术语中的匹配条件评估每个传入和传出路由或数据包。如果满足匹配条件中的标准,将采取定义的操作。
通常,策略框架软件会将路由或数据包与策略中的第一个术语中的匹配条件进行比较,然后继续下一个术语,以此比较。因此,您在策略中安排条款的顺序是相关的。
术语内的匹配条件顺序不相关,因为路由或数据包必须匹配某个术语中的所有匹配条件,才能采取措施。