Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IPv4 流量的防火墙过滤器匹配条件

您可以配置具有互联网协议版本 4 (IPv4) 流量匹配条件的防火墙过滤器 (family inet)。

注:

对于 MPC 的 MX 系列路由器,您需要通过走相应的 SNMP MIB 来初始化 MIB 中仅有 Trio 匹配过滤器的过滤器计数器, show snmp mib walk name ascii例如。这迫使 Junos 学习过滤器计数器,并确保显示过滤器统计信息(这是因为第一次对过滤统计信息进行筛选可能不会显示所有计数器)。本指南适用于所有增强型模式防火墙过滤器、条件灵活的过滤器以及具有某些终止操作的过滤器。有关详细信息,请参阅相关文档下列出的这些主题。

表 1match-conditions介绍了您可以在层次结构级别上配置的[edit firewall family inet filter filter-name term term-name from]配置。

表 1: IPv4 流量的防火墙过滤器匹配条件

匹配条件

说明

address address [ except ]

匹配 IPv4 源或目标地址字段, except 除非包含选项。如果包含选项,则与 IPv4 源或目标地址字段不匹配。

except EX2300 和 EX3400 平台不支持修改器。

ah-spi spi-value

(M 系列路由器,M120 和 M320 除外)匹配 IPsec 认证标头 (AH) 安全参数索引 (SPI) 值。

注:

PTX 系列路由器不支持此匹配条件。

ah-spi-except spi-value

(M 系列路由器,M120 和 M320 除外)与 IPsec AH SPI 值不匹配。

注:

PTX 系列路由器不支持此匹配条件。

apply-groups

指定要从中继承配置数据的组。您可以指定多个组名称。您必须按继承优先级列出它们。第一组中的配置数据优先于后续组中的数据。

apply-groups-except

指定不从中继承配置数据的组。您可以指定多个组名称。

destination-address address [ except ]

匹配 IPv4 目标地址字段, except 除非包含选项。如果包含选项,则与 IPv4 目标地址字段不匹配。

不能在同一 address 术语中同时指定和 destination-address 匹配条件。

destination-class class-names

匹配一个或多个指定的目标类名称(目标前缀集分组在一起,并给出一个类名称)。有关详细信息,请 参阅基于地址类的防火墙过滤器匹配条件

destination-class-except class-names

请勿匹配一个或多个指定的目标类名称。有关详细信息,请参阅 destination-class 匹配条件。

destination-port number

匹配 UDP 或 TCP 目标端口字段。

不能在同一 port 术语中同时指定和 destination-port 匹配条件。

配置基于端口的匹配项时,您还必须在同一protocol udp过滤器术语中配置或protocol tcp匹配语句。仅在端口值上匹配可能会导致意外匹配。

代替数字值时,您可以指定以下文本同义词之一(端口号也列出):afs(1483)、 bgp (179)、 biff (512)、(68)、 bootpc (67)、 bootpscmd (514)、 cvspserver (2401)、 dhcp (67)、 domain (53)、 eklogin (21 205)、 ekshell (2106)、 exec (512)、 finger (79)、(21)、 ftp (20)、 httpftp-data (80)、 https (443)、 ident (113)、 imap (143)、 kerberos-sec (88)、 klogin (543)、 kpasswd (761)、(754)、 krb-prop (760)、 krbupdate (544)、 kshellldap (389)、 ldp (646)、 login (513)、 mobileip-agent (434)、 mobilip-mn (435)、 msdp (639)、 netbios-dgm (138)、 netbios-ns (137)、 netbios-ssn (139)、 nfsd (2049)、 nntp (119)、 ntalk (518)、(518)、ntp (123)、 pop3 (110)、 pptp (1723)、(515)、 radacctprinter (1813)、 radius (1812)、 rip (520)、 rkinit (2108)、 smtp (25)、 snmp (161)、 snmptrap (162)、 snpp (44 4)、 socks (1080)、 ssh (22)、(111)、 sunrpc (514)、 syslog (49)、 tacacs (65)、 talktacacs-ds (517)、 telnet (23)、 tftp (69)、 timed (525)、 who (513) 或 xdmcp (177)。

destination-port-except number

与 UDP 或 TCP 目标端口字段不匹配。有关详细信息,请参阅 destination-port 匹配条件。

destination-prefix-list name [ except ]

除非包含选项,否则except指定列表中的匹配目标前缀。如果包含选项,则与指定列表中的目标前缀不匹配。

指定在 ] 层次结构级别中定义的前缀列表的 [edit policy-options prefix-list prefix-list-name名称。

dscp number

匹配差异服务代码点 (DSCP)。DiffServ 协议在 IP 标头中使用服务类型 (ToS) 字节。此字节最重要的 6 位组成 DSCP。有关更多信息,请参阅 了解行为聚合分类器如何确定可信流量的优先级

添加了支持过滤差异服务代码点 (DSCP) 和路由引擎源数据包的转发类,包括封装在通用路由封装 (GRE) 中的 IS-IS 数据包。随后,从具有服务等级 (CoS) 和防火墙过滤器的前一个版本的 Junos OS 升级,同时包含 DSCP 或转发类过滤器操作时,防火墙过滤器中的标准自动优先于 CoS 设置。创建新配置时也是如此;也就是说,如果存在相同的设置,防火墙过滤器优先于 CoS,而不管是先创建的。

您可以从 0 一直 63指定数字值。要以十六进制形式指定值,请作为前缀进行包括 0x 。要以二进制格式指定值,请将前缀作为前缀包括 b 在内。

代替数字值时,您可以指定以下文本同义词之一(字段值也列出):

  • RFC 3246 是 加速转发 PHB(单跃点行为),定义了一个代码点:ef(46).

  • RFC 2597( 保证转发 PHB 组)定义了 4 个类,每个类的优先级为 3 个,总共 12 个代码点:

    • af11 (10), af12 (12), af13 (14)

    • af21 (18), af22 (20), af23 (22)

    • af31 (26), af32 (28), af33 (30)

    • af41 (34), af42 (36), af43 (38)

dscp-except number

与 DSCP 编号不匹配。有关详细信息,请参阅 dscp 匹配条件。

esp-spi spi-value

匹配封装安全有效负载 (ESP) SPI 值的 IPsec。匹配此特定 SPI 值。您可以以十六进制、二进制或十进制形式指定 ESP SPI 值。

注:

PTX 系列路由器不支持此匹配条件。

esp-spi-except spi-value

匹配 IPsec ESP SPI 值。与此特定 SPI 值不匹配。

注:

PTX 系列路由器不支持此匹配条件。

first-fragment

如果数据包是分片数据包的第一个分片,则匹配。如果数据包是分片数据包的尾随分片,则不匹配。分片数据包的第一个分片的分片偏移值为 0

此匹配条件是比特现场匹配条件 fragment-offset 0 匹配条件的别名。

要匹配首个分片和后部分片,您可以使用两个术语来指定不同的匹配条件:first-fragment和 .is-fragment

flexible-match-mask 价值

bit-length

要以位匹配的数据长度,字符串输入无需 (0.128)

bit-offset

(匹配启动 + 字节)偏移后比特偏移 (0.7)

byte-offset

比赛起点之后的字节偏移

flexible-mask-name

从预定义模板字段中选择灵活匹配项

mask-in-hex

掩蔽要匹配的数据包数据中的位

match-start

在数据包中匹配的起点

prefix

要匹配的价值数据/字符串

flexible-match-range 价值

bit-length

要以位匹配的数据长度 (0.32)

bit-offset

(匹配启动 + 字节)偏移后比特偏移 (0.7)

byte-offset

比赛起点之后的字节偏移

flexible-range-name

从预定义模板字段中选择灵活匹配项

match-start

在数据包中匹配的起点

range

要匹配的值范围

range-except

与此值范围不符

forwarding-class class

匹配数据包的转发类。

指定 assured-forwardingbest-effortexpedited-forwardingnetwork-control

有关转发类和路由器内部输出队列的信息,请参阅 了解转发类如何将类分配给输出队列

forwarding-class-except class

与数据包的转发类不匹配。有关详细信息,请参阅 forwarding-class 匹配条件。

fragment-flags number

(仅限入口)匹配 IP 报头中的三位 IP 分片标记字段。

代替数字字段值,您可以指定以下一个关键字(也列出了字段值):dont-fragment(0x4)、 more-fragments (0x2)或 reserved (0x8)。

fragment-offset value

匹配 IP 报头中的 13 位分片偏移字段。该值是数据报给数据分片的整体数据报消息中的 8 字节单元中的偏移。指定数字值、一系列值或一组值。的 0 偏移值表示分片数据包的第一个分片。

匹配 first-fragment 条件是匹配条件的 fragment-offset 0 别名。

要匹配第一个和尾随分片,您可以使用两个术语来指定不同的匹配条件 (first-fragmentis-fragment)。

fragment-offset-except number

与 13 位分片偏移字段不匹配。

gre-key 范围

匹配 gre-key 字段。GRE 密钥字段是 GRE 封装器插入的 4 个八位位组编号。这是用于 GRE 封装的可选字段。该 范围 可以是单个 GRE 密钥编号或一系列密钥编号。

对于带 MPC 的 MX 系列路由器,通过走相应的 SNMP MIB 来初始化包括此情况的新防火墙过滤器。

icmp-code number

匹配 ICMP 消息代码字段。

注:

使用此匹配条件时,您还应使用同一 protocol icmp 术语中的匹配条件(如下文所示),以确保 icmp 评估数据包。

term Allow _ICMP {
                from protocol icmp {
                    icmp-code ip-header-bad;
                    icmp-type echo-reply;
                }
                then {
                    policer ICMP_Policier;
                    count Allow_ICMP;

您还必须在同一 icmp-type message-type 术语中配置匹配条件。ICMP 消息代码提供的信息比 ICMP 消息类型更具体,但 ICMP 消息代码的含义取决于关联的 ICMP 消息类型。

代替数字值时,您可以指定以下文本同义词之一(也列出了字段值)。关键字按与之关联的 ICMP 类型分组:

  • 参数问题:ip-header-bad(0)、 required-option-missing (1)

  • 重 定向:redirect-for-host(1)、 redirect-for-network (0)、 redirect-for-tos-and-host (3)、 redirect-for-tos-and-net (2)

  • 超额时间:ttl-eq-zero-during-reassembly(1)、 ttl-eq-zero-during-transit (0)

  • 遥 不可 及:communication-prohibited-by-filtering(13)、 destination-host-prohibited (10)、 destination-host-unknown (7)、(9)、 destination-network-prohibited (6)、 destination-network-unknown (4)、 fragmentation-needed (14)、 host-precedence-violation (1)、 host-unreachable (12)、 host-unreachable-for-TOSnetwork-unreachable (0)、 network-unreachable-for-TOS (11)、 port-unreachable (3)、 precedence-cutoff-in-effect (15)、 protocol-unreachable (2)、(8)、 source-host-isolatedsource-route-failed (5)

icmp-code-except message-code

与 ICMP 消息代码字段不匹配。有关详细信息,请参阅 icmp-code 匹配条件。

icmp-type number

匹配 ICMP 消息类型字段。

注:

使用此匹配条件时,您还应使用同一 protocol icmp 术语中的匹配条件(如下文所示),以确保 icmp 评估数据包。

term Allow _ICMP {
                from protocol icmp {
                    icmp-code ip-header-bad;
                    icmp-type echo-reply;
                }
                then {
                    policer ICMP_Policier;
                    count Allow_ICMP;

您还必须在同一 icmp-type message-type 术语中配置匹配条件。ICMP 消息代码提供的信息比 ICMP 消息类型更具体,但 ICMP 消息代码的含义取决于关联的 ICMP 消息类型。

注:

对于 Junos OS Evolved,您必须在同一 protocol 术语中配置匹配语句。

代替数字值时,您可以指定以下文本同义词之一(字段值也列出):echo-reply(0)、 echo-request (8)、 info-reply (16)、(15)、 info-request (17)、 mask-request (18)、 mask-reply (12)、 parameter-problem (5)、 redirectrouter-advertisement (9)、 router-solicit (10)、 source-quench (4)、 time-exceeded (11)、 timestamp (13)、 timestamp-reply (14) 或 unreachable (3)。

icmp-type-except message-type

与 ICMP 消息类型字段不匹配。有关详细信息,请参阅 icmp-type 匹配条件。

interface interface-name

匹配接收数据包的接口。

注:

如果使用不存在的接口配置此匹配条件,则该术语与任何数据包不匹配。

interface-group group-number

匹配将数据包接收到指定接口组或接口组集的逻辑接口。对于 group-number,指定单个值或范围值(从 0 到 255)。

要将逻辑接口分配给接口组group-number,请在层次结构级别中[interfaces interface-name unit number family family filter group]指定group-number

注:

PTX 系列路由器不支持此匹配条件。

有关详细信息,请参阅 在 一组接口组上收到的过滤数据包概述

interface-group-except group-number

与接收到指定接口组或接口组集的数据包的逻辑接口不匹配。有关详细信息,请参阅 interface-group 匹配条件。

注:

PTX 系列路由器不支持此匹配条件。

interface-set interface-set-name

匹配接收到数据包的接口集。

要定义接口集,请在层次结构级别中[edit firewall]包含interface-set语句。

注:

PTX 系列路由器不支持此匹配条件。

有关详细信息,请参阅 接口集上收到的过滤数据包概述

ip-options values

将 8 位 IP 选项字段(如果有)与指定值或值列表匹配。

代替数字值时,您可以指定以下文本同义词之一(也列出了选项值):loose-source-route(131)、 record-route (7)、 router-alert (148)、 security (130)、 stream-id (136)、strict-source-route(137) 或 timestamp (68)。

要匹配 IP 选项 的任何 值,请使用文本同义词 any。要在 多个 值上匹配,请指定方形托架内的值列表 (''[ 和']')。要匹配一 系列 值,请使用值规格 value1-value2 ]

例如,匹配条件 ip-options [ 0-147 ] 在 IP 选项字段上匹配,IP 选项字段包含 loose-source-routerecord-routesecurity 值或任何其他值(从 0 到 147)。但是,此匹配条件在仅包含值 (148) 的 router-alert IP 选项字段上不匹配。

对于大多数接口,一个过滤器术语,用于指定一个 ip-option 或多个 特定 IP 选项值上的匹配项(此值除 any外)会导致数据包发送至路由引擎,以便内核可以解析数据包标头中的 IP 选项字段。

  • 对于在一个或多个特定 IP 选项值上指定匹配项的防火墙过滤器术语,除非您在同一ip-option术语中也指定终止操作,否则不能指定discardcountlogsyslog或非终止操作。此行为可防止对应用于路由器中转接口的过滤器的数据包进行双重计数。

  • 如果出现系统瓶颈,可能会丢弃在内核上处理的数据包。为确保将匹配的数据包发送至数据包转发引擎(在硬件中实施数据包处理),请使用 ip-options any 匹配条件。

MX 系列路由器上的 10 千兆位以太网模块化端口集中器 (MPC)、100 千兆位以太网 MPC、60 千兆位以太网 MPC、60 千兆位排队以太网 MPC 和 60 千兆位以太网增强型排队 MPC 能够解析 IPv4 数据包标头的 IP 选项字段。对于在这些 MPC 上配置的接口,使用ip-options匹配条件匹配的所有数据包将发送至数据包转发引擎进行处理。

ip-options any从 Junos Evolved OS 版本 20.2R1 开始,PTX10003 和 PTX10008 系列路由器支持匹配条件。

注:
  • 在 MX 系列路由器上,不能使用使用 ip-options 过滤器的过滤器与出口(输出)过滤器配合使用。
  • 在 M 和 T 系列路由器上,防火墙过滤器不能按每个选项类型和每个接口计算 ip-options 数据包。周围有限的工作是使用 show pfe statistics ip options 命令查看 ip-options 每个 PFE 上的统计数据。请参阅显示示例输出的 pfe 统计信息 ip

ip-options-except values

请勿将 IP 选项字段与指定值或值列表匹配。有关指定的 values详细信息,请参阅 ip-options 匹配条件。

is-fragment

如果 IP 报头中启用了更多分片标志,或者分片偏移不是零,使用此情况将引起匹配。

注:

要匹配第一个和尾随分片,您可以使用两个术语来指定不同的匹配条件 (first-fragmentis-fragment)。

loss-priority level

匹配数据包丢失优先级 (PLP) 级别。

指定单个级别或多个级别:lowmedium-lowmedium-highhigh.

在 M120 和 M320 路由器上受支持;带有增强型 CFEB (CFEB-E) 的 M7i 和 M10i 路由器;和 MX 系列路由器

对于带有增强型 II 灵活 PIC 集中器 (FPC) 的 M320、MX 系列和 T 系列路由器上的 IP 流量,必须在层次结构级别中[edit class-of-service]包含 tri-color 语句,以便提交具有指定四个级别中任意一个的 PLP 配置。tri-color如果语句未启用,则只能配置highlow级别。这适用于所有协议家族。

有关该 tri-color 语句的信息,请参阅 配置和应用三色标记监管器。有关使用行为聚合 (BA) 分类器设置传入数据包的 PLP 级别的信息,请参阅 了解行为聚合分类器如何确定可信流量的优先级

loss-priority-except level

与 PLP 级别不匹配。有关详细信息,请参阅 loss-priority 匹配条件。

packet-length bytes

匹配接收的数据包长度(以字节为字节)。长度仅指 IP 数据包(包括数据包标头)且不包含任何第 2 层封装开销。您还可以指定要匹配的值范围。

packet-length-except bytes

与接收的数据包长度(以字节为字节)不匹配。有关详细信息,请参阅 packet-length 匹配类型。

port number

匹配 UDP 或 TCP 源或目标端口字段。

如果配置此匹配条件,则不能在同一 destination-port 术语中配置匹配条件或 source-port 匹配条件。

配置基于端口的匹配项时,您还必须在同一 protocol udp 过滤器术语中配置或 protocol tcp 匹配语句。仅在端口值上匹配可能会导致意外匹配。

代替数字值时,您可以指定下 destination-port列的一个文本同义词。

port-except number

与源或目标 UDP 或 TCP 端口字段不匹配。有关详细信息,请参阅 port 匹配条件。

precedence ip-precedence-value

匹配 IP 优先级字段。

代替数字字段值,您可以指定以下文本同义词之一(也列出了字段值):critical-ecp(0xa0)、 flash (0x60)、 flash-override (0x80)、 immediate (0x40)、 internet-control (0xc0)、 net-control (0xe0)、 priority (0x20) 或 routine (0x00)。您可以指定六进制、二进制或十进制形式的优先级。

precedence-except ip-precedence-value

与 IP 优先级字段不匹配。

代替数字字段值,您可以指定以下文本同义词之一(也列出了字段值):critical-ecp(0xa0)、 flash (0x60)、 flash-override (0x80)、 immediate (0x40)、 internet-control (0xc0)、 net-control (0xe0)、 priority (0x20) 或 routine (0x00)。您可以指定六进制、二进制或十进制形式的优先级。

prefix-list name [ except ]

将源或目标地址字段的前缀与指定列表 中的前缀匹配,除非 except 包含选项。如果包含选项,请勿将源或目标地址字段的前缀与指定列表中的前缀匹配。

前缀列表在层次结构级别中 [edit policy-options prefix-list prefix-list-name] 定义。

注:

PTX1000 路由器不支持此匹配条件。

protocol number

匹配 IP 协议类型字段。代替数字值时,您可以指定以下文本同义词之一(字段值也列出):ah(51)、 dstopts (60)、 egp (8)、(50)、 fragmentesp (44)、(47)、 gre (0)、 hop-by-hop (1)、 icmpicmp6 (58)、 icmpv6 (58)、 igmp (2)、 ipip (4)、 ipv6 (41)、 ospf (89)、 pim (103)、(46)、 rsvp (132)、 tcpsctp (6)、 udp (17) 或 vrrp (112)。

protocol-except number

与 IP 协议类型字段不匹配。代替数字值时,您可以指定以下文本同义词之一(字段值也列出):ah(51)、 dstopts (60)、 egp (8)、(50)、 fragmentesp (44)、(47)、 gre (0)、 hop-by-hop (1)、 icmpicmp6 (58)、 icmpv6 (58)、 igmp (2)、 ipip (4)、 ipv6 (41)、 ospf (89)、 pim (103)、(46)、 rsvp (132)、 tcpsctp (6)、 udp  (17) 或 vrrp (112)。

rat-type tech-type-value

匹配代理移动 IPv4 (PMIPv4) 接入技术类型扩展的 8 位技术类型字段中指定的无线电接入技术 (RAT) 类型。该技术类型指定了移动设备连接到接入网络的接入技术。

指定单个值、一系列值或一组值。您可将技术类型指定为从 0 到 255 的数字值,或指定为系统关键字。

  • 以下数字值是知名技术类型的示例:

    • 数字值 1 匹配 IEEE 802.3。

    • 数字值 2 匹配 IEEE 802.11a/b/g。

    • 数字值 3 匹配 IEEE 802.16e

    • 数字值 4 匹配 IEEE 802.16 米。

  • 文本字符串 eutran 匹配 4G。

  • 文本字符串 geran 与 2G 匹配。

  • 文本字符串 utran 与 3G 匹配。

rat-type-except tech-type-value

与 RAT 类型不匹配。

service-filter-hit

匹配从应用操作的过滤器 service-filter-hit 收到的数据包。

注:

PTX 系列路由器不支持此匹配条件。

source-address address [ except ]

匹配发送数据包的源节点的 IPv4 地址, except 除非包含选项。如果包含选项,则与发送数据包的源节点的 IPv4 地址不匹配。

不能在同一 address 术语中同时指定和 source-address 匹配条件。

source-class class-names

匹配一个或多个指定的源类名称(将源前缀集分组在一起,并给出一个类名称)。有关详细信息,请 参阅基于地址类的防火墙过滤器匹配条件

source-class-except class-names

请勿匹配一个或多个指定的源类名称。有关详细信息,请参阅 source-class 匹配条件。

source-port number

匹配 UDP 或 TCP 源端口字段。

不能在同一 port 术语中指定和 source-port 匹配条件。

配置基于端口的匹配项时,您还必须在同一 protocol udp 过滤器术语中配置或 protocol tcp 匹配语句。仅在端口值上匹配可能会导致意外匹配。

代替数字值时,您可以指定具有 destination-port number 匹配条件的其中一个文本同义词。

source-port-except number

与 UDP 或 TCP 源端口字段不匹配。有关详细信息,请参阅 source-port 匹配条件。

source-prefix-list name [ except ]

除非包含选项,否则except指定列表中的匹配源前缀。如果包含选项,则与指定列表中的源前缀不匹配。

指定在 ] 层次结构级别中定义的前缀列表的 [edit policy-options prefix-list prefix-list-name名称。

tcp-established

匹配已建立 TCP 会话的 TCP 数据包(连接第一个数据包以外的数据包)。这是一个别 tcp-flags "(ack | rst)"名。

此匹配条件不会暗示检查协议是否为 TCP。要检查此,请指定 protocol tcp 匹配条件。

tcp-flags value

在 TCP 标头的 8 位 TCP 标志字段中匹配一个或多个低阶 6 位。

要指定单个比特字段,您可以指定以下文本同义词或十六进制值:

  • fin(0x01)

  • syn(0x02)

  • rst(0x04)

  • push(0x08)

  • ack(0x10)

  • urgent(0x20)

在 TCP 会话中,SYN 标志仅在已发送的初始数据包中设置,而 ACK 标记设置在初始数据包之后发送的所有数据包中。

您可以使用比特字段逻辑操作员将多个标志串在一起。

有关组合比特现场匹配条件,请参阅 tcp-establishedtcp-initial 匹配条件。

如果配置了此匹配条件,我们建议您在同一 protocol tcp 术语中配置匹配语句,指定端口上正在使用 TCP 协议。

仅适用于 IPv4 流量,此匹配条件不会隐含地检查数据报是否包含分片数据包的第一个分片。要仅针对 IPv4 信息流检查此情况,请使用 first-fragment 匹配条件。

tcp-initial

匹配 TCP 连接的初始数据包。这是一个别 tcp-flags "(!ack & syn)"名。

此条件不会暗示检查协议是否为 TCP。如果配置了此匹配条件,我们建议您在同一 protocol tcp 术语中也配置匹配条件。

ttl number

匹配 IPv4 实时编号。指定 TTL 值或 TTL 值范围。对于number,您可以从一个或多个值中指定2550一个或多个值。此匹配条件仅在 M120、M320、MX 系列和 T 系列路由器上受支持。

ttl-except number

与 IPv4 TTL 编号不匹配。有关详细信息,请参阅 ttl 匹配条件。

发布历史记录表
版本
说明
13.3R7
添加了支持过滤差异服务代码点 (DSCP) 和路由引擎源数据包的转发类,包括封装在通用路由封装 (GRE) 中的 IS-IS 数据包。