将过滤器和服务应用于接口
通过配置服务集定义来定义和分组服务规则后,您可以将服务应用于路由器上的一个或多个接口。要将定义的服务集与接口关联,请在层次结构级别将[edit interfaces interface-name unit logical-unit-number family inet service]
语句与 or output
语句包含在service-set
input
内:
[edit interfaces interface-name unit logical-unit-number family inet service] input { service-set service-set-name <service-filter filter-name>; post-service-filter filter-name; } output { service-set service-set-name <service-filter filter-name>; }
在接口上启用服务时,不支持反向路径转发。您无法在管理接口 (fxp0
) 或环路接口 (lo0
) 上配置服务。
您可以在接口的输入端和输出端配置不同的服务集。但是,对于具有双向服务规则的服务集,必须在和output
语句中input
包括相同的服务集定义。语句中包含的service
任何服务集都必须在层次结构级别使用该[edit services service-set service-set-name]
语句进行interface-service
配置;有关更多信息,请参阅配置要应用于服务接口的服务集。
如果配置的接口具有包含拒绝操作的输入防火墙过滤器和包含状态防火墙规则的服务集,则路由器将在数据包上运行有状态防火墙规则之前执行输入防火墙过滤器。因此,当数据包转发引擎通过接口发送互联网控制消息协议 (ICMP) 错误消息时,有状态防火墙规则可能会丢弃数据包,因为在输入方向上看不到数据包。
可能的解决方法是包括一个转发表过滤器来执行拒绝操作,因为这种类型的过滤器是在输入方向的有状态防火墙之后执行的,或者包括一个输出服务过滤器,以防止本地生成的 ICMP 数据包进入有状态防火墙服务。
配置服务过滤器
您可以选择包括与每个服务集关联的过滤器,以优化目标并额外处理流量。如果包含 service-set
不带 service-filter
定义的语句,路由器软件将假定匹配条件为 true,并自动选择要处理的服务集。
要配置服务过滤器,请在层次结构级别包含 firewall
语句 [edit]
:
firewall { family inet { service-filter filter-name { term term-name { from { match-conditions; } then { action; action-modifiers; } } } } }
必须指定 inet
为地址族才能配置服务筛选器。
配置服务过滤器的方式与防火墙过滤器类似。服务过滤器与防火墙过滤器具有相同的匹配条件,但需要执行以下特定操作:
count
—将数据包添加到计数器总数。log
—记录数据包。port-mirror
— 数据包的端口镜像。sample
—对数据包进行采样。service
—转发数据包以进行服务处理。skip
— 从服务处理中省略数据包。
有关配置防火墙过滤器的更多信息,请参阅《 路由策略》、《防火墙过滤器》和《流量监管器用户指南》。
您还可以在接口的每一端包含多个服务集定义。如果包括多个服务集,路由器软件将按配置中指定的顺序对其进行评估。它执行在服务筛选器中找到匹配项的第一个服务集,并忽略后续定义。
附加语句允许您指定过滤器,以便在执行输入服务集后处理流量。要配置此类型的筛选器,请在层次结构级别包含 post-service-filter
语句 [edit interfaces interface-name unit logical-unit-number family inet service input]
:
post-service-filter filter-name;
软件仅在选择并执行了服务集后过滤。如果流量不符合任何已配置服务集的匹配标准,则忽略服务后过滤器。当服务接口位于 MS-MIC 或 MS-MPC 上时,不支持该 post-service-filter
语句。
有关将服务集应用于接口的示例,请参阅 示例:配置服务接口。
有关将过滤器应用于接口的详细信息,请参阅 路由设备的 Junos OS 网络接口库。有关过滤器的一般信息,请参阅 《路由策略》、《防火墙过滤器》和《流量监管器用户指南》。
对数据包应用 NAT 处理后,它们不受输出服务过滤器的约束。服务过滤器仅影响未转换的流量。