将过滤器和服务应用于接口
通过配置服务集定义对服务规则进行定义和分组后,可以将服务应用于路由器上的一个或多个接口。要将定义的服务集与接口相关联,请在[edit interfaces interface-name unit logical-unit-number family inet service]
层次结构级别将语句与 input
或 output
语句一起包含service-set
:
[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-filter
定义的service-set
语句,路由器软件将假定匹配条件为 true,并自动选择服务集进行处理。
要配置服务过滤器,请在[edit]
层次结构级别包含firewall
语句:
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
—从服务处理中省略数据包。
有关配置防火墙过滤器的详细信息,请参阅 《路由策略、防火墙过滤器和流量监管器用户指南》。
还可以在接口的每一端包含多个服务集定义。如果包含多个服务集,路由器软件将按配置中指定的顺序对这些服务集进行评估。它执行在服务过滤器中找到匹配项的第一个服务集,并忽略后续定义。
附加语句允许您指定用于在执行输入服务集后处理流量的过滤器。要配置此类型的筛选器,请在[edit interfaces interface-name unit logical-unit-number family inet service input]
层次结构级别包含post-service-filter
语句:
post-service-filter filter-name;
只有当软件选择并执行了服务集时,才会执行服务后过滤。如果流量不满足任何已配置服务集的匹配条件,则会忽略 postservice 过滤器。当服务接口位于 MS-MIC 或 MS-MPC 上时,不支持该 post-service-filter
语句。
有关将服务集应用于接口的示例,请参阅 示例:配置服务接口。
有关将过滤器应用于接口的详细信息,请参阅 路由设备的 Junos OS 网络接口库。有关过滤器的一般信息,请参阅 《路由策略、防火墙过滤器和流量监管器用户指南》。
将 NAT 处理应用于数据包后,它们不受输出服务过滤器的约束。服务过滤器仅影响未转换的流量。