Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

基于地址字段的防火墙过滤器匹配条件

 

您可以配置防火墙过滤器匹配条件,用于评估数据包地址—字段 IPv4 来源和目标地址、IPv6 源和目标地址,或者媒体访问控制(地址)(MAC)源和目标—地址根据指定地址或前缀值。

基于地址字段的’防火墙 过滤器’匹配条件地址除外,0/0 上的隐含匹配

每个基于一组地址或地址前缀的防火墙过滤器匹配条件都与地址上的隐式匹配相关联 0.0.0.0/0 except(对于 IPv4 或 VPLS 流量)或 0:0:0:0:0:0:0:0/0 except(用于 IPv6 信息流)。因此,任何指定地址字段与任何指定地址或 地址前缀都不匹配的数据包将无法匹配整个术语。

将地址字段与子网掩码或前缀相匹配

您可以指定单个匹配条件,以匹配位于指定地址前缀内的源地址或目标地址。

IPv4 子网掩码表示法

对于 IPv4 地址,您可以指定子网掩码值,而不是前缀长度。例如:

前缀表示法

要指定地址前缀,请使用表示法 prefix/prefix-length. 在下面的示例中,如果目标地址与前缀匹配,将出现匹配 10.0.0.0/8可以:

IPv4 地址的默认前缀长度

如果不指定 /prefix-length对于 IPv4 地址,前缀长度默认为 /32. 以下示例说明了默认前缀值:

IPv6 地址的默认前缀长度

如果不指定 /prefix-length对于 IPv6 地址,前缀长度默认为 /128. 以下示例说明了默认前缀值:

MAC 地址的默认前缀长度

如果不指定 /prefix-length对于 VPLS、第2层 CCC 或第2层 桥接数据包的媒体访问控制(地址)(MAC)地址,前缀长度默认为 /48. 以下示例说明了默认前缀值:

将地址字段与已排除的值相匹配

对于地址字段匹配条件,您可以包含 except关键字,以指定与指定地址或前缀 不匹配的地址字段的匹配项。

在 IPv4 或 IPv6 流量中排除 IP 地址

对于以下 IPv4 和 IPv6 匹配条件,您可以包括 except关键字,以指定与指定 IP 地址或前缀 不匹配的 IP 地址字段的匹配项:

  • address address except—如果源 IP 地址或目标 IP 地址 不匹配指定地址或前缀,则会出现匹配。

  • source-address address except—如果源 IP 地址与指定地址或前缀 不匹配,则会发生匹配。

  • destination-address address except—如果目标 IP 地址与指定地址或前缀 不匹配,则会出现匹配。

在下面的示例中,处于以下位置的任何 IPv4 目标地址都将发生匹配: 192.168.10.0/8前缀,但低于 192.168.0.0/16. 所有其他地址均隐 式不符合此条件。

在下面的示例中,不在前缀内的任何 IPv4 目标地址都将出现匹配 10.1.1.0/24可以:

在 VPLS 或第2层桥接流量中排除 IP 地址

对于仅 MX 系列路由器上 的以下 VPLS 和第2层桥接匹配条件,您可以包括 except关键字,以指定与指定 IP 地址或前缀 不匹配的 IP 地址字段的匹配项:

  • ip-address address except—如果源 IP 地址或目标 IP 地址 不匹配指定地址或前缀,则会出现匹配。

  • source-ip-address address except—如果源 IP 地址与指定地址或前缀 不匹配,则会发生匹配。

  • destination-ip-address address except—如果目标 IP 地址与指定地址或前缀 不匹配,则会出现匹配。

在以下示例中,在 MX 系列路由器上过滤 VPLS 流量,如果源 IP 地址处于以下范围内,则会发生匹配: 55.0.1.0/255.0.255.0和目标 IP 地址匹配 5172.16.5.0/8可以:

VPLS 或第2层桥接信息流中排除 MAC 地址

对于以下 VPLS 或第 2 层桥接流量匹配条件,您可以包括 except关键字,用于指定与指定 MAC 地址或前缀 不匹配的 MAC 地址字段的匹配项:

  • source-mac-address address except—如果源 MAC 地址与指定地址或前缀 不匹配,则会发生匹配。

  • destination-mac-address address except—如果目标 MAC 地址与指定地址或前缀 不匹配,则会发生匹配。

排除所有地址需要对’0/0’地址进行显式匹配

如果指定的防火墙过滤器匹配条件包含一个或多个地址例外匹配条件(地址匹配条件使用 except关键字)但不含matchable地址匹配条件,则与 任何已配置的前缀都不匹配的数据包将无法完成整体匹配操作。要将防火墙过滤器的地址例外匹配条件配置为匹配不在前缀列表中的任何地址,请将显式匹配项包括 0/0,以便术语包含 matchable 地址。

对于下面的 IPv4 信息流防火墙过滤器示例, from-trusted-addresses术语无法丢弃匹配的信息流, INTRUDERS-COUNT计数器的输出中缺少 show firewall操作模式命令

[edit]
user@host# run show firewall

要导致地址例外匹配条件的过滤器术语与不在前缀列表中的任何地址匹配,请包括以下各项的明确匹配 0/0在匹配条件集中:

添加 0.0.0.0/0匹配条件的源前缀地址, from-trusted-addresses丢弃匹配信息流的术语,入侵者计数计数器将显示在 show firewall操作模式命令:

[edit]
user@host# run show firewall

将任一 IP 地址字段与单个值相匹配

对于 IPv4 和 IPv6 流量以及仅适用于 MX  系列路由器的 VPLS 和第2层桥接流量,您可以使用单个匹配条件将单个地址或前缀值与来源或目标 IP 地址字段匹配。

匹配 IPv4 或 IPv6 流量中的任意 IP 地址字段

对于 IPv4 或 IPv6 流量,您可以使用单个匹配条件来指定与来源或目标 IP 地址字段的匹配项相同的地址或前缀值。而不是创建为以下各项指定相同地址的单独过滤器术语: source-addressdestination-address匹配条件,则仅使用 address匹配条件。如果源 IP 地址目标 ip 地址与指定地址或前缀匹配,则会出现匹配。

如果您使用 except关键字与 address匹配条件,如果源 IP 地址和目标 IP地址在例外之前与指定值匹配,就会发生匹配。

在防火墙过滤器术语中,指定 source-addressdestination-address匹配条件,您也不能指定 address匹配条件。

匹配 VPLS 中的任一 IP 地址字段或第2层桥接流量

对于仅适用于 MX 系列路由器的 VPLS 或第2层桥接流量,您可以使用单个匹配条件来指定与来源或目标 IP 地址字段的匹配项相同的地址或前缀值。而不是创建为以下各项指定相同地址的单独过滤器术语: source-ip-addressdestination-ip-address匹配条件,则仅使用 ip-address匹配条件。如果源 IP 地址目标 ip 地址与指定地址或前缀匹配,则会出现匹配。

如果您使用 except关键字与 ip-address匹配条件,如果源 IP 地址和目标 IP地址在例外之前与指定值匹配,就会发生匹配。

在防火墙过滤器术语中,指定 source-ip-addressdestination-ip-address匹配条件,您也不能指定 ip-address匹配条件。

将地址字段与非连续前缀匹配

仅适用于 IPv4 流量,请指定一个匹配条件,以便将 IP 源或目标地址字段与指定的任何前缀匹配。这些前缀 无需连续。也就是说,前缀位于 source-address或者 destination-address匹配条件不必相互邻接或邻接。

在下面的示例中,如果目标地址与 10.0.0.0/8前缀或 192.168.0.0/32

您在匹配条件中指定前缀的顺序并不重要。数据包根据匹配条件中的所有前缀进行评估,以确定是否发生了匹配。如果前缀重叠,则使用最长匹配规则确定是否发生了匹配。非连续前缀的匹配条件包括隐式 0/0 except语句,这意味着与 match 条件中包含的任何前缀都不匹配的任何前缀都被明确认为不匹配。

因为前缀与顺序无关,并且使用最长的匹配规则,所以较长的前缀 subsume 较短的时间,只要它们属于相同的类型(无论您是否指定 except)。这是因为任何与较长的前缀匹配的内容也将与短一点相匹配。

请考虑以下示例:

source-address匹配条件,将忽略两个地址。T4000 路由器不支持 172.16.3.0/16值将被忽略,因为它位于地址下方 172.16.0.0/10,这是同一类型。T4000 路由器不支持 10.2.2.2 except值被忽略,因为它被隐式 subsumed 0.0.0.0/0 except匹配值。

假定此防火墙过滤器评估了以下来源 IP 地址:

  • 源 IP 地址 172.16.1.2—此地址与 172.16.0.0/10前缀,从而将操作 then语句。

  • 源 IP 地址 172.16.2.2—此地址与 172.16.2.0/24辍. 因为此前缀为否定(即包含 except关键字),则发生显式不匹配。将计算过滤器中的下一术语(如果有的话)。如果没有其他术语,数据包将被丢弃。

  • 源 IP 地址 10.1.2.3—此地址与 以下部分中包含的任何前缀均不匹配: source-address符合. 相反,它与隐式 0.0.0.0/0 except在以下位置中配置的前缀列表的末尾 source-address匹配条件,被视为不匹配。

    T4000 路由器不支持 172.16.3.0/24语句被忽略,因为它位于地址下面 172.16.0.0/10—两种类型相同。

    T4000 路由器不支持 10.2.2.2 except语句被忽略,因为它被隐式 subsumed 0.0.0.0/0 except语句,其位于以下配置的前缀列表的末尾 source-address匹配条件。

最佳做法

当防火墙过滤器术语包括 from address address匹配条件和后续术语包括 from source-address address相同地址的匹配条件,则在任何插入术语评估之前,前一术语可能会处理数据包。因此,应该被插入词汇拒绝的数据包可能被接受,或者应接受的数据包将被拒绝。

为防止这种情况发生,建议您执行以下操作。对于每个包含以下各项的防火墙过滤器术语: from address address匹配条件,请将该术语替换为两个单独的术语:一个包含 from source-address address匹配条件,另一个包含 from destination-address address匹配条件。

将地址字段与前缀列表匹配

您可以定义一个 IPv4 或 IPv6 地址前缀列表,以便在路由策略语句中或在评估数据包地址字段的无状态防火墙过滤器匹配条件中使用。

要定义 IPv4 或 IPv6 地址前缀列表,请包括 prefix-list prefix-list语句。

您可以将语句包含在以下层次结构级别:

  • [edit policy-options]

  • [edit logical-systems logical-system-name policy-options]

定义前缀列表之后,您可以在基于 IPv4 或 IPv6 地址前缀指定防火墙过滤器匹配条件时使用。