防火墙过滤器匹配条件和操作(PTX 系列路由器)
防火墙过滤器匹配条件和操作 (PTX 系列路由器)
防火墙过滤器中的每个术语都由 匹配条件 和一个 操作组成。匹配条件是数据包必须包含才能被视为匹配的字段和值。您可以在匹配语句中定义单个或多个 匹配条件。您还可以不包含 match 语句,在这种情况下,术语将匹配所有数据包。
当数据包与过滤器匹配时,路由器将执行术语中指定的操作。此外,您还可以指定操作修饰符来对数据包进行计数、镜像、速率限制和分类。如果未为术语指定匹配条件,则路由器默认接受数据包。
在PTX10003,您可以将多个防火墙过滤器作为单个输入列表或输出列表 () 应用于单个接口。filter input-list and output-list
这样,您只需在单个防火墙过滤器中管理过滤任务的配置。当您的设备配置了许多接口时,这为您提供了在大型环境中的灵活性。您可以在PTX10008上执行相同的操作,但路由器仅支持将多个防火墙过滤器应用于单个输入列表。
表 1 描述配置防火墙过滤器时可以指定的匹配条件。某些数字范围和位字段匹配条件允许您指定文本同义词。若要查看匹配条件的所有同义词的列表,请在语句中的适当位置键入 。
?
表 2 显示可以在术语中指定的操作和操作修饰符。
匹配条件 |
Description |
支持的接口 |
---|---|---|
|
匹配源地址或目标地址字段,除非包含该 选项。 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配目标地址字段,除非包含该 选项。 不能在同一术语中同时指定两者 和 匹配条件。 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配 UDP 或 TCP 目标端口字段。您还必须在同一术语中配置 or match 语句,以指定端口上使用的协议。 不能在同一术语中同时 指定 和 匹配条件。 要代替数值,可以指定以下文本同义词之一(还会列出端口号):(1483), (179), (512), (68), (67), (514), (2401), (67), (53), (2105), (2106), (512), (79), (21), (20), (80), (443), (113), (143), (88), (543), (761), (754), (760), (544), (389), (646), (513), (434), (435), (639), (138), (137), (139), (2049), (119), (518)、(123)、(110)、(1723)、(515)、(1813)、(1812)、(520)、(2108)、(25)、(161)、(162)、(444)、(1080)、(22)、(111)、(514)、(49)、(65)、(517)、(23)、(69)、(525)、 (513)或(177)。 |
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 分段标志字段。 要代替数值字段值,您可以指定以下关键字之一(还会列出字段值):(0x4)、 (0x2) 或 (0x8)。 |
IPv4 (inet) 接口。 |
|
匹配 IP 报头中的 13 位片段偏移量字段。该值是发往数据片段的整个数据报消息中的偏移量(以 8 字节为单位)。指定一个数值、一个值范围或一组值。偏移值 为 表示 分片数据包的第一个分片。 匹配条件是匹配条件的别名。 要匹配第一个片段和尾随片段,可以使用两个指定不同匹配条件的术语 ( 和 )。 |
IPv4 (inet) 接口。 |
|
不匹配 13 位片段偏移量字段。 |
IPv4 (inet) 接口。 |
|
匹配 ICMP 消息代码字段。 如果配置此匹配条件,我们建议您在同一术语中也配置 或 匹配条件。 如果配置此匹配条件,则还必须在同一术语中配置 匹配条件。 要代替数值,您可以指定以下文本同义词之一(还会列出字段值)。关键字按与其关联的 ICMP 类型分组:
|
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
不匹配 ICMP 消息代码字段。有关详细信息,请参阅 匹配条件。 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
匹配 ICMP 消息类型字段。您还必须在同一术语中将 或 配置为 匹配类型。 代替数值,您可以指定以下文本同义词之一(字段值也会列出):(0)、(8)、(16)、(15)、(17)、(18)、(12)、(5)、(9)、(10)、(4)、(11)、(13)、 (14)或(3)。 另 请参阅。 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
不匹配 ICMP 消息类型字段。有关详细信息,请参阅 匹配条件。 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
对于入口过滤器,请匹配接收数据包的接口。 对于出口过滤器,请匹配发送数据包的接口。 注:
PTX5000 系列路由器不支持将接口(路由和数据包转发引擎之间的内部链路)连接到 (环路接口),例如,通过在 lo0 上创建防火墙过滤器以匹配 em0.0 上的流量来过滤自发起流量,如 Telnet 和 SSH。以下代码片段提供了上下文: 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 位下一个标头字段。 代替数值,您可以指定以下文本同义词之一(字段值也会列出):(51)、(60)、(8)、(50)、(44)、(47)、(0)、(1)、(58)、(58)、(2)、(4)、(41)、(135)、(59)、(89)、(103)、(43)、 (46)、(132)、(6)、 (17)或(112)。 |
IPv6 (inet6) 接口。 |
|
与标识 IPv6 报头和有效负载之间的报头类型的 8 位“下一个报头”字段不匹配。有关详情,请参阅 匹配类型。 |
IPv6 (inet6) 接口 |
|
匹配收到的数据包的长度(以字节为单位)。长度仅指 IP 数据包,包括数据包标头,不包括任何第 2 层封装开销。您还可以指定要匹配的值范围。 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
与收到的数据包的长度不匹配(以字节为单位)。有关详情,请参阅 匹配类型。 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
匹配 UDP 或 TCP 源或目标端口字段。您还必须在同一术语中配置 or match 语句,以指定端口上使用的协议。 不能在同一期限内配置 匹配条件或 匹配条件。 要代替数值,可以指定 下 列出的文本同义词之一。 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
与源或目标 UDP 或 TCP 端口字段不匹配。有关详细信息,请参阅 匹配条件。 |
IPv4 (inet) 和 IPv6 (inet6) 接口。 |
|
匹配 IP 优先级字段。 要代替数值字段值,您可以指定以下文本同义词之一(还会列出字段值):(0xa0)、 (0x60)、 (0x80)、 (0x40)、 (0xc0)、 (0xe0)、 (0x20)或 (0x00)。 |
IPv4 (inet) 接口。 |
|
与 IP 优先级字段不匹配。 |
IPv4 (inet) 接口。 |
|
匹配 IPv4 协议类型字段。代替数值,可以指定以下文本同义词之一(还会列出数值): , , , , |
IPv4 (inet) 接口。 |
|
不匹配 IP 协议类型字段。代替数值,您可以指定以下文本同义词之一(字段值也会列出):(51)、(60)、(8)、(50)、(44)、(47)、(0)、(1)、(58)、(58)、 (2)、(4)、(41)、(89)、(103)、(46)、(132)、(6)、 (17)或(112)。 |
IPv4 (inet) 接口。 |
|
IP 源地址字段,即发送数据包的节点的地址。 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配发送数据包的源节点的 IP 地址,除非包含该 选项。 不能在同一术语中同时 指定 和 匹配条件。 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配 TCP 或 UDP 源端口。您还必须在同一术语中配置 or match 语句。 要代替数值,您可以指定与匹配条件一起 列出的文本同义词之一。 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
不匹配 UDP 或 TCP 源端口字段。有关详细信息,请参阅 匹配条件。 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
IP 源前缀列表。您可以在前缀列表别名下定义 IP 地址前缀列表以供频繁使用。在 层次结构级别定义此列表。 |
IPv4 (inet) 接口和 IPv6 (inet6) 接口。 |
|
匹配 TCP 报头的 8 位 TCP 标志字段中的一个或多个低阶 6 位。 若要指定单个位字段,可以指定以下文本同义词或十六进制值:
在 TCP 会话中,SYN 标志仅在发送的初始数据包中设置,而 ACK 标志在初始数据包之后发送的所有数据包中设置。 您可以使用位字段逻辑运算符将多个标志串在一起。 如果配置此匹配条件,我们建议您也在同一术语中配置 match 语句,以指定端口上使用 TCP 协议。 仅对于 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 指定数值或数值范围。在入口接口上应用过滤器。
|
IPv4 (inet) 接口。 |
使用语句定义数据包与语句中的所有条件匹配时应执行的操作。显示了可以在术语中指定的操作。 then
from
表 2 (如果未包含 语句,系统将接受与过滤器匹配的数据包。then
操作 |
Description |
---|---|
|
接受数据包。这是与术语匹配的数据包的默认操作。 |
|
以静默方式丢弃数据包,而不发送互联网控制消息协议 (ICMP) 消息。 |
|
计算与术语匹配的数据包数。 |
|
将数据包分类为以下默认转发类之一或用户定义的转发类:
注:
IPv4、IPv6 和 MPLS 接口支持此操作 。 |
|
在路由引擎中记录数据包的标头信息。要查看此信息,请输入 操作模式命令。 注:
操作修饰符仅在 IPv4 和 IPv6 入口接口上受支持。 |
|
设置丢包优先级 (PLP)。 |
|
将数据包发送到监管器(以便应用速率限制)。该PTX10003支持双色、单速率三色 (srTCM) 和双速率三色标记 (trTCM) 监管器。 注:
不支持将动作修饰符与动作结合使用。 |
|
(仅在运行 Junos Evolved OS 22.1R1 版的 PTX10004、PTX10008 和 PTX10016 设备上受支持。) 将数据包发送到 P4 控制器,如在 Junos 层次结构级别定义的 实例中指定的那样。[services inline-monitoring instance instance-name controllerp4] |
|
丢弃数据包并发送“目标无法访问”ICMPv4 或 ICMPv6 消息(类型 3)。要记录被拒绝的数据包,请配置 操作修改器。 您可以指定以下消息类型之一: 注:
不支持消息类型。 如果未指定消息类型,那么将发送 ICMP 通知“目标无法访问”,并附带默认消息“已管理性过滤的通信”。 |
|
记录此数据包的警报。 |
|
将匹配的数据包转发到虚拟路由实例。数据包可以转发到默认实例。 在和 上 受支持 |
IPv6 防火墙过滤器匹配条件和操作 (PTX10001-20C)
本主题介绍 PTX10001-20C 路由器的 IPv6 防火墙过滤器匹配条件、操作和操作修改符。
防火墙过滤器中的每个术语都由 匹配条件 和一个 操作组成。匹配条件是数据包必须包含才能被视为匹配的字段和值。您可以在匹配语句中定义单个或多个 匹配条件。您还可以包含 no match 语句,在这种情况下,术语匹配所有数据包。
当数据包与过滤器匹配时,路由器将执行术语中指定的操作。您还可以指定操作修饰符来对数据包进行计数、镜像和分类。如果未为术语指定匹配条件,则路由器默认接受数据包。
在 PTX10001-20C 路由器上,您只能在入口方向的 IPv6 接口上应用防火墙过滤器。
匹配条件 |
Description |
|
---|---|---|
|
匹配 IPv6 源或目标地址字段,除非包含该 选项。 |
|
|
指定要从中继承配置数据的组。可以指定多个组名。必须按继承优先级顺序列出它们。第一组中的配置数据优先于后续组中的数据。 |
|
|
指定不从中继承配置数据的组。可以指定多个组名。 |
|
|
匹配 IPv6 目标地址字段,除非包含该 选项。 不能在同一术语中同时 指定 和 匹配条件。 |
|
|
匹配 UDP 或 TCP 目标端口字段。 不能在同一术语中同时 指定 和 匹配条件。 如果配置此匹配条件,我们建议您也在同一术语中配置 或 匹配条件,以指定端口上使用的协议。 要代替数值,可以指定以下文本同义词之一(还会列出端口号):(1483), (179), (512), (68), (67), (514), (2401), (67), (53), (2105), (2106), (512), (79), (21), (20), (80), (443), (113), (143), (88), (543), (761), (754), (760), (544), (389), (646), (513), (434), (435), (639), (138), (137), (139), (2049), (119), (518)、(123)、(110)、(1723)、(515)、(1813)、(1812)、(520)、(2108)、(25)、(161)、(162)、(444)、(1080)、(22)、(111)、(514)、(49)、(65)、(517)、(23)、(69)、(525)、 (513)或(177)。 |
|
|
不匹配 UDP 或 TCP 目标端口字段。有关详细信息,请参阅 匹配条件。 |
|
|
将 IPv6 目标前缀与指定列表匹配,除非包含该 选项。 前缀列表在 ] 层次结构级别定义 。 |
|
|
匹配 ICMP 消息代码字段。 如果配置此匹配条件,我们建议您在同一术语中也配置 或 匹配条件。 ICMP 消息代码提供比 ICMP 消息类型更具体的信息,但 ICMP 消息代码的含义取决于关联的 ICMP 消息类型。 要代替数值,您可以指定以下文本同义词之一(还会列出字段值)。关键字按与其关联的 ICMP 类型分组:
|
|
|
不匹配 ICMP 消息代码字段。有关详细信息,请参阅 匹配条件。 |
|
|
匹配 ICMP 消息类型字段。 您还必须在同一期限内配置 或 匹配条件。 代替数值,您可以指定以下文本同义词之一(字段值也会列出):(149), (148), (1), (129), (128), (145), (144), (142), (141), (130), (131), (132), (147), (146), (136), (135), (140), (139), (2), (4), (100), (101), (200), (201), (137), (134), (138), (133) 或 (3)。 对于 (201),您还可以在方括号内指定值范围。 |
|
|
不匹配 ICMP 消息类型字段。有关详细信息,请参阅 匹配条件。 |
|
|
继续执行筛选器中的下一个术语。 |
|
|
匹配数据包中的第一个 8 位“下一个标头”字段。 代替数值,您可以指定以下文本同义词之一(字段值也会列出):(51)、(60)、(8)、(50)、(44)、(47)、(0)、(1)、(58)、(58)、(2)、(4)、(41)、(135)、(59)、(89)、(103)、(43)、 (46)、(132)、(6)、 (17)或(112)。 注:
和匹配条件执行相同的功能。 是首选选项。 隐藏在 Junos OS CLI 中。 |
|
|
与标识 IPv6 报头和有效负载之间的报头类型的 8 位“下一个报头”字段不匹配。有关详情,请参阅 匹配类型。 |
|
|
匹配 UDP 或 TCP 源或目标端口字段。 如果配置此匹配条件,则无法在同一期限内配置 匹配条件或 匹配条件。 如果配置此匹配条件,我们建议您也在同一术语中配置 或 匹配条件,以指定端口上使用的协议。 要代替数值,可以指定 下 列出的文本同义词之一。 |
|
|
不匹配 UDP 或 TCP 源或目标端口字段。有关详细信息,请参阅 匹配条件。 |
|
|
端口镜像数据包。 |
|
|
端口镜像实例的数据包。 |
|
|
将源地址或目标地址字段的前缀与指定列表中的前缀匹配,除非包含该 选项。 前缀列表在 层次结构级别定义。 |
|
|
对数据包进行采样。 |
|
|
匹配发送数据包的源节点的 IPv6 地址,除非包含该 选项。 不能在同一术语中同时 指定 和 匹配条件。 |
|
|
匹配 UDP 或 TCP 源端口字段。 不能在同一术语中指定 和 匹配条件。 如果配置此匹配条件,我们建议您也在同一术语中配置 或 匹配条件,以指定端口上使用的协议。 注:
对于 Junos OS 演化版,您必须在同一术语中配置 or match 语句。 要代替数值,您可以指定与匹配条件一起 列出的文本同义词之一。 |
|
|
不匹配 UDP 或 TCP 源端口字段。有关详细信息,请参阅 匹配条件。 |
|
|
匹配数据包源字段的 IPv6 地址前缀,除非包含该 选项。 指定在层次结构级别定义的 前缀列表名称。 |
如果在匹配条件(、 或匹配条件)中指定 IPv6 地址,请使用 RFC 4291 IP 版本 6 寻址体系结构中所述的文本表示语法。address
destination-address
source-address
有关 IPv6 地址的详细信息,请参阅 IPv6 概述和支持的 IPv6 标准。https://www.juniper.net/documentation/en_US/junos/topics/concept/routing-protocols-ipv6-overview.htmlhttps://www.juniper.net/documentation/en_US/junos/topics/reference/standards/ipv6.html
操作 |
Description |
---|---|
|
接受数据包。这是与术语匹配的数据包的默认操作。 |
|
以静默方式丢弃数据包,而不发送互联网控制消息协议 (ICMP) 消息。 |
|
(仅在运行 Junos Evolved OS 22.1R1 版的 PTX10004、PTX10008 和 PTX10016 设备上受支持。) 将数据包发送到 P4 控制器,如在 Junos 层次结构的控制器级别定义的实例中指定的那样。[services inline-monitoring instance instance-name https://www.juniper.net/documentation/us/en/software/junos/flow-monitoring/topics/ref/statement/services-inline-monitoring-instance-controller.htmlp4] |
动作修改器 |
Description |
---|---|
|
计算与术语匹配的数据包数。 |
|
将数据包分类为以下默认转发类之一或用户定义的转发类:
注:
要配置转发类,还必须配置丢失优先级。 |
|
设置丢包优先级 (PLP)。 |