防火墙过滤器匹配条件和操作(PTX 系列路由器)
防火墙过滤器匹配条件和操作(PTX 系列路由器)
防火墙过滤器中的每个术语都由 匹配条件 和一个 操作组成。匹配条件是数据包必须包含才能被视为匹配的字段和值。您可以在 匹配语句中定义单个或多个匹配条件。您还可以不包含 match 语句,在这种情况下,术语将匹配所有数据包。
当数据包与过滤器匹配时,路由器将执行术语中指定的操作。此外,您还可以指定操作修饰符来对数据包进行计数、镜像、速率限制和分类。如果未为术语指定匹配条件,则路由器默认接受数据包。
在PTX10003,您可以将多个防火墙过滤器作为单个输入列表或输出列表 (filter input-list and output-list
) 应用于单个接口。这样,您只需在单个防火墙过滤器中管理过滤任务的配置。当您的设备配置了许多接口时,这为您提供了在大型环境中的灵活性。您可以在PTX10008上执行相同的操作,但路由器仅支持将多个防火墙过滤器应用于单个输入列表。
表 1 描述配置防火墙过滤器时可以指定的匹配条件。某些数字范围和位字段匹配条件允许您指定文本同义词。若要查看匹配条件的所有同义词的列表,请在语句中的适当位置键入
?
。表 2 显示可以在术语中指定的操作和操作修饰符。
匹配条件 |
Description |
支持的接口 |
---|---|---|
|
匹配源地址或目标地址字段,除非包含该 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配目标地址字段,除非包含该 不能在同一术语中同时指定两者 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配 UDP 或 TCP 目标端口字段。您还必须在同一术语中配置 不能在同一术语中同时 要代替数值,可以指定以下文本同义词之一(还会列出端口号): |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
不匹配 UDP 或 TCP 目标端口字段。有关详细信息,请参阅 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配列表中的目标前缀,除非包含该 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配差异服务代码点 (DSCP)。DiffServ 协议在 IP 报头中使用服务类型 (ToS) 字节。此字节中最重要的 6 位构成 DSCP。 可以十六进制、二进制或十进制形式指定 DSCP。 代替数值,您可以指定以下文本同义词之一(字段值也会列出): |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
DSCP 编号不匹配。有关详细信息,请参阅 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
如果数据包是分段数据包的第一个分段,则匹配。如果数据包是分段数据包的尾随片段,则不匹配。分片数据包的第一个分片的分片偏移值为 此匹配条件是位字段匹配条件 要匹配第一个片段和尾随片段,您可以使用两个指定不同匹配条件的术语: |
IPv4 (inet) 接口。 |
|
将数据包分类为以下默认转发类之一或用户定义的转发类:
|
IPv4 (inet)、IPv6 (inet6) 和 MPLS 接口。 |
|
与数据包的转发类不匹配。有关详细信息,请参阅 |
IPv4 (inet)、IPv6 (inet6) 和 MPLS 接口。 |
|
匹配 IP 报头中的三位 IP 分段标志字段。 要代替数值字段值,您可以指定以下关键字之一(还会列出字段值): |
IPv4 (inet) 接口。 |
|
匹配 IP 报头中的 13 位片段偏移量字段。该值是发往数据片段的整个数据报消息中的偏移量(以 8 字节为单位)。指定一个数值、一个值范围或一组值。偏移值 为 表示
要匹配第一个片段和尾随片段,可以使用两个指定不同匹配条件的术语 ( |
IPv4 (inet) 接口。 |
|
不匹配 13 位片段偏移量字段。 |
IPv4 (inet) 接口。 |
|
匹配 ICMP 消息代码字段。 如果配置此匹配条件,我们建议您在同一术语中也配置 如果配置此匹配条件,则还必须在同一术语中配置 要代替数值,您可以指定以下文本同义词之一(还会列出字段值)。关键字按与其关联的 ICMP 类型分组:
|
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
不匹配 ICMP 消息代码字段。有关详细信息,请参阅 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
匹配 ICMP 消息类型字段。您还必须在同一术语中将 或 配置为 代替数值,您可以指定以下文本同义词之一(字段值也会列出): 另 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
不匹配 ICMP 消息类型字段。有关详细信息,请参阅 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
对于入口过滤器,请匹配接收数据包的接口。 对于出口过滤器,请匹配发送数据包的接口。 注:
PTX5000 系列路由器不支持将接口(路由和数据包转发引擎之间的内部链路)连接到 firewall filter core-protect { term Telnet { from { protocol tcp; destination-port telnet; interface em0.0; } then accept; } } } |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
与接收数据包的逻辑接口不匹配。有关详细信息,请参阅 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
如果数据包是分段数据包的尾随分段,则匹配。不匹配分段数据包的第一个分段。 注:
要匹配第一个片段和尾随片段,可以使用两个指定不同匹配条件的术语 ( 对于运行 Junos OS 演化版的PTX10003路由器,所有分段数据包(包括分段数据包的第一个分段)都将在包含“is-fragment”匹配的任何防火墙过滤器术语上进行匹配。 |
IPv4 (inet) 接口。 |
|
匹配丢包优先级 (PLP)。 指定单个级别或多个级别: 注:
|
IPv4 (inet)、IPv6 (inet6) 和 MPLS 接口。 |
|
与 PLP 级别不匹配。有关详细信息,请参阅 |
IPv4 (inet)、IPv6 (inet6) 和 MPLS 接口。 |
|
匹配数据包中的第一个 8 位下一个标头字段。 代替数值,您可以指定以下文本同义词之一(字段值也会列出): |
IPv6 (inet6) 接口。 |
|
与标识 IPv6 报头和有效负载之间的报头类型的 8 位“下一个报头”字段不匹配。有关详情,请参阅 |
IPv6 (inet6) 接口 |
|
匹配收到的数据包的长度(以字节为单位)。长度仅指 IP 数据包,包括数据包标头,不包括任何第 2 层封装开销。您还可以指定要匹配的值范围。 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
与收到的数据包的长度不匹配(以字节为单位)。有关详情,请参阅 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
匹配 UDP 或 TCP 源或目标端口字段。您还必须在同一术语中配置 不能在同一期限内配置 要代替数值,可以指定 下 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
与源或目标 UDP 或 TCP 端口字段不匹配。有关详细信息,请参阅 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
匹配 IP 优先级字段。 要代替数值字段值,您可以指定以下文本同义词之一(还会列出字段值): |
IPv4 (inet) 接口。 |
|
与 IP 优先级字段不匹配。 |
IPv4 (inet) 接口。 |
|
匹配 IPv4 协议类型字段。代替数值,可以指定以下文本同义词之一(还会列出数值):
|
IPv4 (inet) 接口。 |
|
不匹配 IP 协议类型字段。代替数值,您可以指定以下文本同义词之一(字段值也会列出): |
IPv4 (inet) 接口。 |
|
IP 源地址字段,即发送数据包的节点的地址。 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配发送数据包的源节点的 IP 地址,除非包含该 不能在同一术语中同时 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配 TCP 或 UDP 源端口。您还必须在同一术语中配置 要代替数值,您可以指定与匹配条件一起 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
不匹配 UDP 或 TCP 源端口字段。有关详细信息,请参阅 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
IP 源前缀列表。您可以在前缀列表别名下定义 IP 地址前缀列表以供频繁使用。在 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配 TCP 报头的 8 位 TCP 标志字段中的一个或多个低阶 6 位。 若要指定单个位字段,可以指定以下文本同义词或十六进制值:
在 TCP 会话中,SYN 标志仅在发送的初始数据包中设置,而 ACK 标志在初始数据包之后发送的所有数据包中设置。 您可以使用位字段逻辑运算符将多个标志串在一起。 如果配置此匹配条件,我们建议您也在同一术语中配置 仅对于 IPv4 流量,此匹配条件不会隐式检查数据报是否包含分段数据包的第一个分段。要仅为 IPv4 流量检查此条件,请使用 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
8 位字段,用于指定数据包的服务等级 (CoS) 优先级。信息流类字段用于指定 DiffServ 代码点 (DSCP) 值。此字段以前用作 IPv4 中的服务类型 (ToS) 字段,并且此字段的语义(例如 DSCP)与 IPv4 的语义相同。 您可以指定以下文本同义词之一(还会列出字段值):
|
IPv6 (inet6) 接口。 |
|
不匹配指定数据包 CoS 优先级的 8 位字段。有关详细信息,请参阅 |
IPv6 (inet6) 接口。 |
|
匹配 IPv4 或 IPv6 生存时间编号。指定 TTL 值或 TTL 值范围。对于 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
在 IPv4 或 IPv6 TTL 号码上不匹配。有关详细信息,请参阅 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
为 VNI 指定数值或数值范围。在入口接口上应用过滤器。
注:
从 Junos OS 演化版 23.4R2 开始,您可以根据 |
IPv4 (inet) 接口。 |
使用 then
语句定义数据包与语句中的所有 from
条件匹配时应执行的操作。 表 2 显示了可以在术语中指定的操作。(如果未包含 then
语句,系统将接受与过滤器匹配的数据包。
操作 |
Description |
---|---|
|
接受数据包。这是与术语匹配的数据包的默认操作。 |
|
以静默方式丢弃数据包,而不发送互联网控制消息协议 (ICMP) 消息。 |
|
计算与术语匹配的数据包数。 |
|
将数据包分类为以下默认转发类之一或用户定义的转发类:
注:
IPv4、IPv6 和 MPLS 接口支持此操作 |
|
在路由引擎中记录数据包的标头信息。要查看此信息,请输入 注:
|
|
设置丢包优先级 (PLP)。 |
|
将数据包发送到监管器(以便应用速率限制)。该PTX10003支持双色、单速率三色 (srTCM) 和双速率三色标记 (trTCM) 监管器。 注:
|
|
(仅在运行 Junos Evolved OS 22.1R1 版的 PTX10004、PTX10008 和 PTX10016 设备上受支持。) 将数据包发送到 P4 控制器,如在 Junos 层次结构级别定义的 [services inline-monitoring instance instance-name controller p4] 实例中指定的那样。 |
|
丢弃数据包并发送“目标无法访问”ICMPv4 或 ICMPv6 消息(类型 3)。要记录被拒绝的数据包,请配置 您可以指定以下消息类型之一: 注:
如果未指定消息类型,那么将发送 ICMP 通知“目标无法访问”,并附带默认消息“已管理性过滤的通信”。 |
|
记录此数据包的警报。 |
|
将匹配的数据包转发到虚拟路由实例。数据包可以转发到默认实例。 在和 上 |
IPv6 防火墙过滤器匹配条件和操作 (PTX10001-20C)
本主题介绍 PTX10001-20C 路由器的 IPv6 防火墙过滤器匹配条件、操作和操作修改符。
防火墙过滤器中的每个术语都由 匹配条件 和一个 操作组成。匹配条件是数据包必须包含才能被视为匹配的字段和值。您可以在 匹配语句中定义单个或多个匹配条件。您还可以包含 no match 语句,在这种情况下,术语匹配所有数据包。
当数据包与过滤器匹配时,路由器将执行术语中指定的操作。您还可以指定操作修饰符来对数据包进行计数、镜像和分类。如果未为术语指定匹配条件,则路由器默认接受数据包。
在 PTX10001-20C 路由器上,您只能在入口方向的 IPv6 接口上应用防火墙过滤器。
表 3 介绍了支持的匹配条件。
表 4 显示可以在术语中指定的操作。如果未包含
then
语句,系统将接受与过滤器匹配的数据包。表 5 显示可用于对数据包进行计数、镜像、速率限制和分类的操作修饰符。
匹配条件 |
Description |
|
---|---|---|
|
匹配 IPv6 源或目标地址字段,除非包含该 |
|
|
指定要从中继承配置数据的组。可以指定多个组名。必须按继承优先级顺序列出它们。第一组中的配置数据优先于后续组中的数据。 |
|
|
指定不从中继承配置数据的组。可以指定多个组名。 |
|
|
匹配 IPv6 目标地址字段,除非包含该 不能在同一术语中同时 |
|
|
匹配 UDP 或 TCP 目标端口字段。 不能在同一术语中同时 如果配置此匹配条件,我们建议您也在同一术语中配置 要代替数值,可以指定以下文本同义词之一(还会列出端口号): |
|
|
不匹配 UDP 或 TCP 目标端口字段。有关详细信息,请参阅 |
|
|
将 IPv6 目标前缀与指定列表匹配,除非包含该 前缀列表在 ] 层次结构级别定义 |
|
|
匹配 ICMP 消息代码字段。 如果配置此匹配条件,我们建议您在同一术语中也配置 ICMP 消息代码提供比 ICMP 消息类型更具体的信息,但 ICMP 消息代码的含义取决于关联的 ICMP 消息类型。 要代替数值,您可以指定以下文本同义词之一(还会列出字段值)。关键字按与其关联的 ICMP 类型分组:
|
|
|
不匹配 ICMP 消息代码字段。有关详细信息,请参阅 |
|
|
匹配 ICMP 消息类型字段。 您还必须在同一期限内配置 代替数值,您可以指定以下文本同义词之一(字段值也会列出): 对于 |
|
|
不匹配 ICMP 消息类型字段。有关详细信息,请参阅 |
|
|
继续执行筛选器中的下一个术语。 |
|
|
匹配数据包中的第一个 8 位“下一个标头”字段。 代替数值,您可以指定以下文本同义词之一(字段值也会列出): 注:
|
|
|
与标识 IPv6 报头和有效负载之间的报头类型的 8 位“下一个报头”字段不匹配。有关详情,请参阅 |
|
|
匹配 UDP 或 TCP 源或目标端口字段。 如果配置此匹配条件,则无法在同一期限内配置 如果配置此匹配条件,我们建议您也在同一术语中配置 要代替数值,可以指定 下 |
|
|
不匹配 UDP 或 TCP 源或目标端口字段。有关详细信息,请参阅 |
|
|
端口镜像数据包。 |
|
|
端口镜像实例的数据包。 |
|
|
将源地址或目标地址字段的前缀与指定列表中的前缀匹配,除非包含该 前缀列表在 |
|
|
对数据包进行采样。 |
|
|
匹配发送数据包的源节点的 IPv6 地址,除非包含该 不能在同一术语中同时 |
|
|
匹配 UDP 或 TCP 源端口字段。 不能在同一术语中指定 如果配置此匹配条件,我们建议您也在同一术语中配置 注:
对于 Junos OS 演化版,您必须在同一术语中配置 要代替数值,您可以指定与匹配条件一起 |
|
|
不匹配 UDP 或 TCP 源端口字段。有关详细信息,请参阅 |
|
|
匹配数据包源字段的 IPv6 地址前缀,除非包含该 指定在层次结构级别定义的 |
操作 |
Description |
---|---|
|
接受数据包。这是与术语匹配的数据包的默认操作。 |
|
以静默方式丢弃数据包,而不发送互联网控制消息协议 (ICMP) 消息。 |
|
(仅在运行 Junos Evolved OS 22.1R1 版的 PTX10004、PTX10008 和 PTX10016 设备上受支持。) 将数据包发送到 P4 控制器,如在 Junos 层次结构的 [services inline-monitoring instance instance-name 控制器 p4] 级别定义的实例中指定的那样。 |
动作修改器 |
Description |
---|---|
|
计算与术语匹配的数据包数。 |
|
将数据包分类为以下默认转发类之一或用户定义的转发类:
注:
要配置转发类,还必须配置丢失优先级。 |
|
设置丢包优先级 (PLP)。 |