Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Firewall Filter Match Conditions for IPv6 Traffic

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

注意:

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

表 1 介绍了可以在层级配置的 [edit firewall family inet6 filter filter-name term term-name from] 匹配条件。

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

匹配条件

描述

address address [ except ]

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

destination-address address [ except ]

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

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

destination-port number

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

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

如果配置此匹配条件,我们建议您也配置 next-header udp 同一术语中的或 next-header tcp 匹配条件,以指定端口上使用哪个协议。

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

destination-port-except number

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

destination-prefix-list prefix-list-name [ except ]

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

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

extension-header header-type

通过识别“下一个报头”值,匹配数据包中包含的扩展报头类型。

注意:

此匹配条件仅在 MX 系列路由器中的 MPC 上受支持。

在数据包的第一个分片中,过滤器在任何扩展标头类型中搜索匹配项。找到带有分片标头的数据包(后续分片)时,过滤器只会搜索下一个分片标头类型的匹配项,因为其他分片标头的位置不可预测。

您可以指定以下文本同义词之一(同时列出了字段值): ah (51)、(60)、 destination (50)、 esp (50)、 fragment (44)、 hop-by-hop (0)、 mobility (135) 或 routing (43)。

要匹配扩展标头选项 的任何 值,请使用文本同义词 any

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

extension-headers-except header-type

不匹配数据包中包含的扩展标头类型。有关详细信息,请参阅 extension-headers 匹配条件。

注意:

此匹配条件仅在 MX 系列路由器中的 MPC 上受支持。

first-fragment

匹配数据包是否是第一个分片。

flexible-match-mask value

bit-length

整数输入的长度(1.32 位);

(可选)字符串输入长度(1.128 位)

bit-offset

(匹配开始 + 字节) 偏移量 (0..7) 后的位偏移量

byte-offset

匹配起点后的字节偏移量

flexible-mask-name

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

mask-in-hex

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

match-start

在数据包中匹配的起点

prefix

值数据/要匹配的字符串

flexible-match-range value

范围应使用以下格式: Integer-Integer

bit-length

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

bit-offset

(匹配开始 + 字节) 偏移量 (0..7) 后的位偏移量

byte-offset

匹配起点后的字节偏移量

flexible-range-name

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

match-start

在数据包中匹配的起点

range

要匹配的值范围

range-except

不匹配此值范围

forwarding-class class

匹配数据包的转发等级。

指定 assured-forwardingbest-effort、 、 expedited-forwardingnetwork-control

forwarding-class-except class

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

hop-limit hop-limit

将跃点限制与指定的跃点限制或跃点限制集匹配。对于 hop-limit,请指定从 0 到 255 的单个值或一个值范围。

仅在 MX 系列路由器中的 MIC 或 MPC 上托管的接口上受支持。

注意:

当在路由器上配置此匹配条件时 enhanced-mode ,PTX 系列路由器上受支持。

hop-limit-except hop-limit

不要将跃点限制与指定的跃点限制或跃点限制集匹配。有关详细信息,请参阅 hop-limit 匹配条件。

仅在 MX 系列路由器中的 MIC 或 MPC 上托管的接口上受支持。

注意:

当在路由器上配置此匹配条件时 enhanced-mode ,PTX 系列路由器上受支持。

icmp-code message-code

匹配 ICMP 消息代码字段。

如果配置此匹配条件,我们建议您也配置 next-header icmp 同一术语中的或 next-header icmp6 匹配条件。

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

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

  • 参数问题: ip6-header-bad (0)、 unrecognized-next-header (1)、 unrecognized-option (2)

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

  • 目标无法访问: administratively-prohibited (1)、  address-unreachable(3)、 no-route-to-destination (0)、 port-unreachable (4)

icmp-code-except message-code

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

icmp-type message-type

匹配 ICMP 消息类型字段。

如果配置此匹配条件,我们建议您也配置 next-header icmp 同一术语中的或 next-header icmp6 匹配条件。

取代数值 您可以指定以下文本同义词之一(字段值也会列出): certificate-path-advertisement (149)、(148)、 certificate-path-solicitation   destination-unreachable(1)、(129   echo-reply)、 echo-request (128)、 home-agent-address-discovery-reply (145)、 home-agent-address-discovery-request (144)、 inverse-neighbor-discovery-advertisement (142)、 inverse-neighbor-discovery-solicitation (141)、 membership-query (130)、   membership-report(131)、  membership-termination(132)、 mobile-prefix-advertisement-reply (147)、 mobile-prefix-solicitation (146)、 neighbor-advertisement (136)、 neighbor-solicit (135)、  node-information-reply(140)、 node-information-request (139)、 packet-too-big (2)、 parameter-problem (4)、 private-experimentation-100 (100)、 private-experimentation-101 (101)、 private-experimentation-200 (200)、 private-experimentation-201 (201)、 redirect (137)、 router-advertisement (134)、 router-renumbering (138)、  router-solicit(133) 或 time-exceeded (3)。

对于 private-experimentation-201 (201),您还可以在方括号中指定值范围。

icmp-type-except message-type

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

is-fragment

匹配数据包是否为分片。

 

last-fragment

匹配数据包是否为最后一个分片。

 

loss-priority level

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

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

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

loss-priority-except level

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

next-header header-type

匹配数据包中的前一个 8 位“下一个报头”字段。Junos OS 13.3R6 及更高版本提供对 next-header 防火墙匹配条件的支持。

对于 IPv6,建议在配置具有匹配条件的next-header防火墙过滤器时使用payload-protocol术语,而不是术语。虽然可以使用,但提供了更可靠的匹配条件,payload-protocol因为它使用实际有效负载协议来查找匹配项,而next-header只需获取 IPv6 报头后第一个标头中出现的任何内容,而 IPv6 标头之后,它可能是实际协议,也可能不是实际协议。此外,如果next-header与 IPv6 一起使用,则绕过加速过滤器块查找进程,而是使用标准过滤器。

匹配数据包中的前一个 8 位“下一个报头”字段。

取代数值 您可以指定以下文本同义词之一(字段值也会列出):ah(51)、(60)、dstops (8)、 egp(50)、  fragmentesp(44)、 gre(47)、hop-by-hop (0)、icmp (1)、(1)、(1)、 icmp6 () 58)、icmpv6 (58)、 igmp(2)、 ipip(4)、(41 ipv6 )、 mobility (135)、 no-next-header(59)、 ospf(89)、pim (103)、 routing(43)、 rsvp(46)、   sctp (132)、tcp (6)、udp  (17) 或 vrrp (112)。

注意:

next-header icmp6next-header icmpv6 匹配条件执行相同的功能。 next-header icmp6 是首选选项。 next-header icmpv6 隐藏在 Junos OS CLI 中。

next-header-except header-type

与标识 IPv6 报头与有效负载之间的标头类型的 8 位“下一个报头”字段不匹配。有关详细信息,请参阅 next-header 匹配类型。

packet-length bytes

匹配接收数据包的长度(以字节为单位)。长度仅指 IP 数据包,包括数据包标头,不包括任何第 2 层 封装开销。

packet-length-except bytes

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

payload-protocol protocol-type

匹配有效负载协议类型。

可以代替protocol-type数值,指定以下文本同义词之一(同时列出了字段值):指定一个或多个以下一组: ah(51)、(60)、dstoptsegp  (8)、(50)、 esp(44)、 fragment(47)、 hop-by-hopgre (0)、icmp (1)、icmp6 (58、 igmp2)、ipip (4)、ipv6 (41)、no-next-headerospf (89)、 pim (103)、routingrsvp (46)、sctp (132)、tcp (6)、(17) udp 或 vrrp (112) (dstopts (60)、分片 (44)、逐跳 0) 和路由在 Junos OS 16.1 及更高版本中不可用。

您还可以使用 payload-protocol 条件匹配瞻博网络固件无法解释的扩展标头类型。您可以在方括号内指定一系列扩展标头值。当固件找到它在数据包中无法解释的第一个扩展报头类型时, payload-protocol 值将设置为该扩展报头类型。防火墙过滤器仅检查固件无法在数据包中解释的第一个扩展标头类型。

注意:

此匹配条件仅在 MX 系列路由器上的 MPC 上受支持。通过走相应的 SNMP MIB,初始化包含此条件的新防火墙过滤器。

payload-protocol-except protocol-type

与有效负载协议类型不匹配。有关详细信息,请参阅 payload-protocol 匹配类型。

注意:

此匹配条件仅在 MX 系列路由器上的 MPC 上受支持

port number

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

如果配置此匹配条件,则无法配置destination-port同一术语中的匹配条件。source-port

如果配置此匹配条件,我们建议您也配置 next-header udp 同一术语中的或 next-header tcp 匹配条件,以指定端口上使用哪个协议。

您可以指定下 destination-port列出的文本同义词之一,以取代数值。

port-except number

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

prefix-list prefix-list-name [ except ]

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

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

service-filter-hit

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

source-address address [ except ]

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

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

source-port number

匹配 UDP 或 TCP 源端口字段。

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

如果配置此匹配条件,我们建议您也配置 next-header udp 同一术语中的或 next-header tcp 匹配条件,以指定端口上使用哪个协议。

您可以指定与匹配条件列出的 destination-port number 文本同义词之一,以取代数值。

source-port-except number

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

source-prefix-list name [ except ]

匹配数据包源字段的 IPv6 地址前缀, except 除非包含选项。如果包含选项,则与 数据包源字段的 IPv6 地址前缀不匹配。

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

tcp-established

匹配连接的第一个数据包以外的 TCP 数据包。这是 (0x14) 的文本同义词tcp-flags "(ack | rst)"

注意:

此条件不会隐式检查协议是否为 TCP。要检查这一点,请指定 protocol tcp 匹配条件。

如果配置此匹配条件,我们建议您也配置 next-header tcp 同一术语中的匹配条件。

tcp-flags flags

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

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

  • fin (0x01)

  • syn (0x02)

  • rst (0x04)

  • push (0x08)

  • ack (0x10)

  • urgent (0x20)

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

您可以使用位字段逻辑运算符将多个标志串在一起。

有关组合位字段匹配条件,请参阅 tcp-establishedtcp-initial 匹配条件。

如果配置此匹配条件,我们建议您也配置 next-header tcp 同一术语中的匹配条件,以指定端口上使用 TCP 协议。

tcp-initial

匹配 TCP 连接的初始数据包。这是文本同 tcp-flags "(!ack & syn)"义词。

此条件不会隐式检查协议是否为 TCP。如果配置此匹配条件,我们建议您也配置 next-header tcp 同一术语中的匹配条件。

traffic-class number

匹配指定数据包服务等级 (CoS) 优先级的 8 位字段。

此字段以前用作 IPv4 中的服务类型 (ToS) 字段。

您可以指定一个从到 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)

traffic-class-except number

请勿与指定数据包 CoS 优先级的 8 位字段匹配。有关详细信息,请参阅 traffic-class 匹配说明。

注意:

如果指定匹配条件(、 address或匹配条件)中的 IPv6 地址,请使用语法用于 RFC 4291,IP 版本 6 寻址架构中描述的文本表示。source-address destination-address