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 系列路由器,您需要为 MIB 中仅包含 Trio 的匹配过滤器初始化过滤器计数器,例如,步行 MIB 个 SNMP 过滤器 show snmp mib walk name ascii 。这样Junos必须学习过滤器计数器,并确保显示过滤器统计信息(这是因为第一次过滤器统计信息轮询可能不会显示所有计数器)。本指导适用于所有增强型模式防火墙过滤器、具有灵活条件的过滤器和具有某些终止操作的过滤器。有关详细信息,请参阅相关文档下列出的主题。

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

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

匹配条件

Description

address address [ except ]

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

except 修改器在 EX2300 和 EX3400 上不受支持。

ah-spi spi-value

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

注:

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

ah-spi-except spi-value

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

注:

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

apply-groups

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

apply-groups-except

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

destination-address address [ except ]

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

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

destination-class class-names

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

destination-class-except class-names

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

destination-port number

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

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

如果配置此匹配条件,我们建议您也在同一术语中protocol udp配置protocol tcp或匹配语句,以指定要在端口上使用的协议。

注:

对于不断演进的 Junos OS,您必须protocol在同一术语中配置 match 语句。

为了代替数值,您可以指定以下文本同义词之一(端口号也列出):afsbgpbiffbootpcbootps (1483)、(179)、(512)、(68)、(67)、(514)、(2401)、(67)、(53)、(2105)、(2106)、(512)、(79)、(21)、(20)、(80), cmdcvspserverdhcpdomainekloginekshellexecfingerftpftp-datahttphttps (443)、(113)、(143)、(88)、(543)、(761)、(754)、(760)、(544)、(389)、(646)、(513)、(434)、(435)、(639) identimapkerberos-seckloginkpasswdkrb-propkrbupdatekshellldapldploginmobileip-agentmobilip-mnmsdp (639) netbios-dgm 138)、(137)、(139)、(2049)、(119)、(518)、(123)、(110)、(1723)、(515)、(1813)、(1812)、(520)、(2108)(2108) netbios-nsnetbios-ssnnfsdnntpntalkntppop3pptpprinterradacctradiusriprkinitsmtp 5)、(161)、(162)、(444)、(1080)、(22)、(111)、(514)、(49)、(65)、(517)、(23)、(69)、(525)、(513)或 snmpsnmptrapsnppsockssshsunrpcsyslogtacacstacacs-dstalktelnettftptimedwhoxdmcp (177)。

destination-port-except number

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

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,而不考虑首先创建的。

您可以从到063中指定一个数字值。要以十六进制形式指定值,请将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 match 条件。

esp-spi spi-value

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

注:

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

esp-spi-except spi-value

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

注:

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

first-fragment

如果数据包是分段数据包的第一个分段,则为匹配。如果数据包是数据包碎片的跟踪片段,则不匹配。分段数据包的第一个片段具有分段偏移量值0

此匹配条件是位字段匹配条件fragment-offset 0匹配条件的别名。

要与第一段和尾部分段匹配,您可以使用两个指定不同匹配条件的术语:first-fragmentis-fragment

flexible-match-mask value

bit-length

要匹配的数据长度(以位为单位),对于字符串输入,不需要它(0. 128)

bit-offset

(匹配-start + 字节)偏移量(0到7)之后的位偏移

byte-offset

匹配起始点之后的字节偏移量

flexible-mask-name

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

mask-in-hex

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

match-start

数据包中要匹配的起始点

prefix

要匹配的值数据/字符串

flexible-match-range value

bit-length

要以位(0. 32)匹配的数据长度

bit-offset

(匹配-start + 字节)偏移量(0到7)之后的位偏移

byte-offset

匹配起始点之后的字节偏移量

flexible-range-name

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

match-start

数据包中要匹配的起始点

range

要匹配的值范围

range-except

与此范围的值不匹配

forwarding-class class

匹配数据包的转发类。

指定assured-forwardingbest-effortexpedited-forwarding、或network-control

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

forwarding-class-except class

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

fragment-flags number

(仅入口)匹配 IP 标头中的三位 IP 分段标志字段。

在数字字段值的位置,您可以指定以下关键字之一(也列出了这些字段值):dont-fragmentmore-fragments(0x4)、(0x2) reserved 或 (0x8)。

fragment-offset value

匹配 IP 标头中的13位分段偏移量字段。该值是整个数据报消息中到数据片段的以8字节为单位的偏移量。指定数值、值的范围或一组值。偏移值0表示分段数据包的第一个分段。

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

要匹配第一段和尾部分段,您可以使用两个指定不同匹配条件的first-fragment术语is-fragment(and)。

fragment-offset-except number

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

gre-key 区间

匹配 gre 键字段。GRE 密钥字段是由 GRE encapsulator 插入的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-badrequired-option-missing(0),(1)

  • redirect-for-hostredirect-for-networkredirect-for-tos-and-host (1)、(0)、(3)、(2) redirect-for-tos-and-net

  • 已超过时间:ttl-eq-zero-during-reassemblyttl-eq-zero-during-transit(1)、(0)

  • 到达communication-prohibited-by-filteringdestination-host-prohibiteddestination-host-unknowndestination-network-prohibiteddestination-network-unknown (13)、(10)、(7)、(9)、(6)、(4)、(14)、(1)、(12)、(0)、(11)、(3)、(15)、(2)、(8)、5) fragmentation-neededhost-precedence-violationhost-unreachablehost-unreachable-for-TOSnetwork-unreachablenetwork-unreachable-for-TOSport-unreachableprecedence-cutoff-in-effectprotocol-unreachablesource-host-isolatedsource-route-failed

icmp-code-except message-code

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

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,您必须protocol在同一术语中配置 match 语句。

为了代替数值,您可以指定以下文本同义词之一(也列出了这些字段值):echo-replyecho-requestinfo-replyinfo-requestmask-request (0)、(8)、(16)、(15)、(17)、(18)、(12)、(5)、(9)、(10)、(4)、(11)、(13)、(14) mask-replyparameter-problemredirectrouter-advertisementrouter-solicitsource-quenchtime-exceededtimestamptimestamp-replyunreachable (3)。

icmp-type-except message-type

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

interface interface-name

与接收数据包的接口匹配。

注:

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

interface-group group-number

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

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

注:

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

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

interface-group-except group-number

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

注:

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

interface-set interface-set-name

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

要定义接口集,请包含 interface-set 层级的 [edit firewall] 语句。

注:

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

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

ip-options values

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

为了代替数值,您可以指定以下文本同义词之一(选项值也将列出):loose-source-routerecord-routerouter-alertsecurity (131)、(7)、(148)、(130)、(136)、(137) stream-idstrict-source-routetimestamp 或 (68)。

匹配 IP 选项的任何值,请使用 文本联合词 any 。要在多个 值上 匹配,请指定方括号 (' [ 和 ') 中的 ] 值列表。要匹配某个范围的值,请使用值规格value1-value2 ]

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

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

  • 对于指定一个或多个特定 IP 选项值匹配的防火墙过滤器术语,您无法指定 、或不终止操作,除非还在同一术语中指定终止 ip-optioncountlogsyslogdiscard 操作。此行为可防止将过滤器应用到路由器上的传输接口的数据包的双重计数。

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

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

注:

在 M 和 T 系列路由器上,防火墙过滤器无法ip-options按每个选项类型和接口来计算数据包。要解决的具体情况是使用show pfe statistics ip options命令按 PFE 查看ip-options统计信息。有关示例输出,请参阅显示 pfe 统计信息 ip

路由器和 PTX10003 路由器PTX10008匹配条件,从Junos ip-options any 演化版 OS 版本20.2R1。

ip-options-except values

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

is-fragment

如果在 IP 标头中启用了更多片段标志或片段偏移量不为零,则使用此条件会导致匹配。

注:

要匹配第一段和尾部分段,您可以使用两个指定不同匹配条件的first-fragment术语is-fragment(and)。

loss-priority level

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

指定一个级别或多个级别:lowmedium-lowmedium-highhigh

在路由器M120路由器M320;M7i CFEB (CFEB-E) M10i路由器的路由器连接;和 MX 系列路由器。

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

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

loss-priority-except level

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

packet-length bytes

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

packet-length-except bytes

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

port number

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

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

如果配置此匹配条件,我们建议您也在同一术语中protocol udp配置protocol tcp或匹配语句,以指定要在端口上使用的协议。

注:

对于不断演进的 Junos OS,您必须protocol在同一术语中配置 match 语句。

为替代数值,您可以指定下面destination-port列出的其中一个文本同义词。

port-except number

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

precedence ip-precedence-value

匹配 IP 优先级字段。

在数字字段值的位置,您可以指定以下文本同义词之一(也列出了这些字段值):critical-ecpflashflash-overrideimmediate (0xa0)、(0x60)、(0x80)、(0x40)、(0xc0)、(0xe0)、(0x20) internet-controlnet-controlpriorityroutine (0x00)。您可以在十六进制、二进制或小数形式中指定优先级。

precedence-except ip-precedence-value

不匹配 IP 优先级字段。

在数字字段值的位置,您可以指定以下文本同义词之一(也列出了这些字段值):critical-ecpflashflash-overrideimmediate (0xa0)、(0x60)、(0x80)、(0x40)、(0xc0)、(0xe0)、(0x20) internet-controlnet-controlpriorityroutine (0x00)。您可以在十六进制、二进制或小数形式中指定优先级。

prefix-list name [ except ]

将来源或目标地址字段的前缀与指定列表中的前缀匹配,除非包含该except选项。如果包括 选项,则不要将源地址或目标地址字段的前缀与指定列表中的前缀匹配。

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

注:

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

protocol number

匹配 IP 协议类型字段。为了代替数值,您可以指定以下文本同义词之一(也列出了这些字段值):ahdstoptsegpespfragment (51)、(60)、(8)、(50)、(44)、(47)、(0)、(1)、(58)、(58)、(2)、(4)、(41)、(89)、(103)、(46)、(132)、(6)、(17) grehop-by-hopicmpicmp6icmpv6igmpipipipv6ospfpimrsvpsctptcpudpvrrp (112)。

protocol-except number

不匹配 IP 协议类型字段。为了代替数值,您可以指定以下文本同义词之一(也列出了这些字段值):ahdstoptsegpespfragment (51)、(60)、(8)、(50)、(44)、(47)、(0)、(1)、(58)、(58)、(2)、(4)、(41)、(89)、(103)、(46)、(132)、(6)、(17) grehop-by-hopicmpicmp6icmpv6igmpipipipv6ospfpimrsvpsctptcpudp vrrp (112)。

rat-type tech-type-value

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

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

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

    • 数字值 1 与 IEEE 802.3 匹配。

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

    • 数字值 3 与 802.16e IEEE匹配

    • 数字值 4 与 802.16 米IEEE匹配。

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

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

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

rat-type-except tech-type-value

不符合 RAT 类型。

service-filter-hit

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

注:

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

source-address address [ except ]

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

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

source-class class-names

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

source-class-except class-names

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

source-port number

匹配 UDP 或 TCP 源端口字段。

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

如果为 IPv4 流量配置此匹配条件,则建议您同时在同一术语中protocol udp配置protocol tcp或匹配语句,以指定要在端口上使用的协议。

注:

对于不断演进的 Junos OS,您必须protocol在同一术语中配置 match 语句。

为了代替数值,您可以指定与destination-port number match 条件一起列出的其中一个文本同义词。

source-port-except number

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

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-established位字段匹配条件,请参阅和tcp-initial匹配条件。

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

仅针对 IPv4 流量,此匹配条件不会隐式检查数据报是否包含数据包碎片的第一个分片。要仅针对 IPv4 流量检查此条件,请使用first-fragment match 条件。

tcp-initial

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

此情况不会隐式检查协议是否为 TCP。如果配置此匹配条件,我们建议您同时在同一术语中protocol tcp配置匹配条件。

ttl number

匹配 IPv4 生存时间数字。指定 TTL 值或 TTL 值范围。对于 number ,您可以指定 一个或多个值(从 0255 )。只有在 M120、M320、MX 系列和 T Series 路由器上才支持此匹配条件。

ttl-except number

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

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