配置 AACL 规则
要配置 AACL 规则,请在层次结构级别包含[edit services aacl]以下rule rule-name语句:
rule rule-name { match-direction (input | output | input-output); term term-name { from { application-group-any; application-groups [ application-group-names ]; applications [ application-names ]; destination-address address <any-unicast>; destination-address-range low minimum-value high maximum-value; destination-prefix-list list-name; nested-applications [ nested-application-names ]; nested-application-unknown source-address address <any-unicast>; source-address-range low minimum-value high maximum-value; source-prefix-list list-name; } then { (accept | discard); count (application | application-group | application-group-any | nested-application | none); forwarding-class class-name; policer policer-name; } } }
每个 AACL 规则由一组术语组成,类似于在层次结构级别配置 [edit firewall] 的过滤器。术语由以下内容组成:
-
from语句 — 指定包含和排除的匹配条件和应用。 -
then语句 — 指定要由路由器软件执行的操作和操作修饰符。
以下部分介绍如何配置AACL规则的组件:
配置 AACL 规则的匹配方向
每个规则都必须包含一个match-direction语句,用于指定应用规则匹配的方向。要配置匹配的应用位置,请在层次结构级别包含[edit services aacl rule rule-name]该match-direction语句:
match-direction (input | output | input-output);
如果配置 match-direction input-output,则允许创建双向规则。
匹配方向用于通过服务 PIC 或 DPC 的流量。将数据包发送至 PIC 或 DPC 时,方向信息也会随之携带。
对于接口服务集,数据包的方向取决于数据包是进入还是离开应用了服务集的接口。
有了下一跃点服务集,数据包的方向由用于将数据包路由到服务 PIC 或 DPC 的接口决定。如果使用内部接口路由数据包,则输入数据包方向。如果使用外部接口将数据包定向到 PIC 或 DPC,则输出数据包方向。有关内部和外部接口的更多信息,请参阅 配置要应用于服务接口的服务集。
在 PIC 或 DPC 上,将执行流查找。如果未找到流,则执行规则处理。服务集中的所有规则都会被考虑在内。在规则处理过程中,系统会将数据包方向与规则方向进行比较。仅考虑方向信息与数据包方向匹配的规则。
在 AACL 规则中配置匹配条件
要配置 AACL 匹配条件,请在层次结构级别包含[edit services aacl rule rule-name term term-name]该from语句:
from {
application-group-any;
application-groups [ application-group-names ];
applications [ application-names ];
destination-address address <any-unicast>;
destination-address-range low minimum-value high maximum-value;
destination-prefix-list list-name;
nested-applications [ nested-application-names ];
nested-application-unknown
source-address address <any-unicast>;
source-address-range low minimum-value high maximum-value;
source-prefix-list list-name;
}
支持 IPv4 和 IPv6 源地址和目标地址。您可以使用源地址或目标地址作为匹配条件,其配置方式与配置防火墙过滤器的方式相同;有关更多信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南。
或者,您可以通过在层次结构级别配置[edit policy-options]语句,然后在 AACL 规则中包含 或 source-prefix-list destination-prefix-list 语句来prefix-list指定源或目标前缀的列表。有关示例,请参阅 示例:配置 AACL 规则。
如果省略该 from 术语,AACL 规则将接受所有流量,并且默认协议处理程序将生效:
-
用户数据报协议 (UDP)、传输控制协议 (TCP) 和互联网控制消息协议 (ICMP) 可创建具有预测逆向流量的双向流。
-
IP 创建单向流。
您还可以包括在层次结构级别配置 [edit services application-identification] 的应用程序和应用程序组定义;有关更多信息,请参阅 AACL 概述中的主题。
-
要应用一个或多个特定的应用协议定义,请在层次结构级别包含
[edit services aacl rule rule-name term term-name from]该applications语句。 -
要应用已定义的一组或多组应用程序组定义,请在层次结构级别包括
[edit services aacl rule rule-name term term-name from]该application-groups语句。注意:如果包含指定应用协议的语句之一,则路由器将从层次结构级别的
[edit services application-identification]相应配置派生端口和协议信息;您不能将这些属性指定为匹配条件。 -
要将数据库中定义的任何应用程序组视为匹配项,请在层次结构级别包括
[edit services aacl rule rule-name term term-name from]该application-group-any语句。 -
若要将数据库中定义的任何嵌套应用程序视为匹配项,请在层次结构级别包含
nested-applications[edit services aacl rule rule-name term term-name from]该语句。嵌套应用程序是在父应用程序上运行的协议。例如,如果 Facebook 应用程序在父应用程序 junos:http 上运行,则嵌套应用程序为 junos:http:facebook。
在 AACL 规则中配置操作
要配置 AACL 操作,请在层次结构级别包含[edit services aacl rule rule-name term term-name]该then语句:
[OBSOLETE] then (Application Aware Access List) { (accept | discard); (count (application | application-group | application-group-any | nested-application | none) | forwarding-class class-name); }
您必须包含以下操作之一:
-
accept— 接受数据包并将其发送到其目标。 -
discard— 数据包不被接受,也不会进一步处理。
选择作为操作时 accept ,可以选择配置以下一个或两个操作修饰符。操作不允许使用 discard 操作修饰符。
-
count (application | application-group | application-group-any | nested-application | none)— 对于符合规则的所有已接受数据包,请使用 AACL 统计信息实践记录数据包计数。您可以指定以下选项之一;没有默认设置:-
application—计算子句中from匹配的应用程序。 -
application-group- 计算子句中from匹配的应用程序组。 -
application-group-any—计算组名称下any匹配from application-group-any的所有应用程序组。 -
nested-application- 计算子句中from匹配的所有嵌套应用程序。 -
none- 与未指定count为操作相同。
-
-
forwarding-class class-name— 指定数据包的转发类名称。
您可以选择性地包含在层次结构级别上[edit firewall]指定的 apolicer。AACL 规则集中仅应用为监管器指定的比特率和突发大小属性。配置监管器时,唯一的操作应用程序是 discard。有关监管器定义的更多信息,请参阅路由策略、防火墙过滤器和流量监管器用户指南。
基于应用记录 AACL 流
您现在可以基于应用程序记录 AACL 流。您可以选择特定的应用程序或请求有关未知应用程序的信息。
您现在可以配置 AACL 规则来匹配未知应用程序。所有可应用于已识别应用程序的现有操作也可以适用于未知应用程序。您可以在层次结构级别使用以下语句 [edit services aacl rule rule-name term term-name from] :
-
应用程序组-任何
-
应用组
-
应用未知
-
应用
-
嵌套应用未知
-
嵌套应用程序
添加匹配 application-unknown 可以对与无法识别的应用关联的输入流进行特定日志记录。由于日志记录是由输入事件触发的,因此必须指定 match-direction 为 input-output 或 input。
要配置 AACL 的流日志记录,请在[edit services aacl rule rule-name]层次结构级别包含 match-direction input or match-direction input-output 语句,在层次结构级别包含 applications or application-unknown 语句[edit services aacl rule rule-name term term-name from],并在层次结构级别仅[edit services aacl rule rule-name term term-name then]包含一个log语句。log 语句可以包含以下任一选项:
-
session-start -
session-end -
session-start-end-no-stats -
session-start-interim-end -
session-interim-end -
session-end