R / Richie全部文章 ↑

Linux · 3 分钟阅读

反子网掩码(Wildcard Mask)

反子网掩码(wildcard mask)用在 OSPF、ACL、前缀列表里。规则是"0 必须匹配,1 不关心"——和子网掩码正好相反。

怎么算

反掩码 = 255.255.255.255 - 子网掩码

子网掩码  255.255.255.0
反掩码    0.0.0.255

速查表

CIDR 子网掩码 反掩码
/30 255.255.255.252 0.0.0.3
/29 255.255.255.248 0.0.0.7
/28 255.255.255.240 0.0.0.15
/27 255.255.255.224 0.0.0.31
/26 255.255.255.192 0.0.0.63
/25 255.255.255.128 0.0.0.127
/24 255.255.255.0 0.0.0.255
/23 255.255.254.0 0.0.1.255
/22 255.255.252.0 0.0.3.255
/21 255.255.248.0 0.0.7.255
/20 255.255.240.0 0.0.15.255
/19 255.255.224.0 0.0.31.255
/18 255.255.192.0 0.0.63.255
/17 255.255.128.0 0.0.127.255
/16 255.255.0.0 0.0.255.255
/15 255.254.0.0 0.1.255.255
/14 255.252.0.0 0.3.255.255
/13 255.248.0.0 0.7.255.255
/12 255.240.0.0 0.15.255.255
/11 255.224.0.0 0.31.255.255
/10 255.192.0.0 0.63.255.255
/9 255.128.0.0 0.127.255.255
/8 255.0.0.0 0.255.255.255

应用场景

OSPF network

[Huawei-ospf-1] network 192.168.1.0 0.0.0.255 area 0

ACL

[Huawei-acl-basic-2000] rule permit source 192.168.1.0 0.0.0.255

前缀列表

[Huawei] ip ip-prefix test permit 192.168.0.0 16 less-equal 24

主机精确匹配

host 192.168.1.10  →  192.168.1.10 0.0.0.0

不连续的掩码

反掩码不要求连续——可以表达"奇数 IP"“偶数 IP”。

0.0.0.1  → 匹配所有 IP(最后一位不关心)
0.0.0.254 → 匹配奇数 IP(最后一位必须为 1)
0.0.0.0  → 精确匹配

一些经验

  • 写反掩码时把它和子网掩码对照看,避免"差一位"错配
  • OSPF network 用反掩码,宣告多个子网时是或的关系
  • ACL 中用反掩码匹配范围时,先具体后宽泛,命中即结束
  • 思科、华为、ARISTA 反掩码规则一致,可以无缝迁移

参考