掩码、反掩码、通配符的区别和计算 | ACL 匹配

注:本文为 “ 通配符网掩码” 相关文章合辑。 已重排,如有内容异常,请看原文。 英文引文,机翻未校。 ACL 通配符、子网掩码和反掩码的区别及计算方式 qq5ea97e5ed12c0 2020-05-16 16:14:04

注:本文为 “ 通配符 / 网掩码” 相关文章合辑

已重排,如有内容异常,请看原文。

英文引文,机翻未校。


ACL 通配符、子网掩码和反掩码的区别及计算方式

qq5ea97e5ed12c0 2020-05-16 16:14:04

概念解释

子网掩码

  • 用于确定 IP 地址的网络部分和主机部分。
  • 特点
    • 左边永远是 1,右边永远是 0。
    • 1 和 0 不会交叉出现。
    • 关注掩码中 1 所对应的位。

反掩码

  • 与子网掩码相反,用于某些特定应用。
  • 特点
    • 左边永远是 0,右边永远是 1。
    • 1 和 0 不会交叉出现。
    • 关注掩码中 0 所对应的位。

通配符

  • 用于 ACL 中匹配特定流量。
  • 特点
    • 关注通配符中 0 所对应的位。
  • 写法规则:
    • 相同的位直接写。
    • 不同的位变成 0。
  • 奇数和偶数处理:
    • 奇数 IP 的最后一位是 1。
    • 偶数 IP 的最后一位是 0。

ACL 编写规则

基本语法

rule {
   
   id} permit/deny source [x.x.x.x] 【通配符】

x.x.x.x 表示要抓取的通信流量的公共部分。

  • 公共部分写法原则

    • 相同的位直接写
    • 不同的位变成 0

示例:奇数和偶数 IP 处理

10.1.1.0 网段为例,奇数偶数如:

奇数

  • 10000 0001
  • 30000 0011
  • 50000 0101
  • 70000 0111
  • 90000 1001

偶数

  • 20000 0010
  • 40000 0100
  • 60000 0110
  • 80000 1000
  • 100000 1010

奇数 IP 的最后一位都是 1,而偶数 IP 的最后一位都是 0,这就是规律。

  • 奇数时,0001 这个不变,source ip 指的是起始 ip,若起始时 10.1.1.1 ,通配符最后是 1111 1110(看的是 0 是不变的)。

同理,

  • 偶数时,0010 这个不变,source ip 指的是起始 ip,若起始是 10.1.1.2 ,通配符最后是 1111 1110 ,十进制为 254

奇数 IP 的表示为:10.1.1.1 0.0.0.254 ;偶数 IP 的表示为:10.1.1.2 0.0.0.254

  • 奇数 IP:如 10.1.1.1,通配符最后四位为 1111 1110

    表示为:10.1.1.1 0.0.0.254

  • 偶数 IP:如 10.1.1.2,通配符最后四位为 1111 1110

    表示为:10.1.1.2 0.0.0.254

示例:ACL 通配符计算

允许以下主机 IP 访问路由器:

  • 192.168.1.5/24
  • 192.168.1.10/24
  • 192.168.1.13/24
  • 192.168.1.14/24

要求:只能用两条 ACL 代替。

解决方案

步骤 1:将 IP 转换为二进制
  • 192.168.1.500000101
  • 192.168.1.1000001010
  • 192.168.1.1300001101
  • 192.168.1.1400001110
步骤 2:分组匹配
  • 组 1513

    • 二进制:
      00000101
      00001101

    • 相同用 “0” 表示,不同用 “1” 表示。 二进制 00001000,通配符:0.0.0.8

    • ACL 规则:

      rule 10 permit source 192.168.1.5 0.0.0.8
      
  • 组 21014

    • 二进制:
      00001010
      00001110

    • 相同用 “0” 表示,不同用 “1” 表示。二进制 00000100,通配符:0.0.0.4

    • ACL 规则:

      rule 20 permit source 192.168.1.10 0.0.0.4
      
最终 ACL 配置
rule 10 permit source 192.168.1.5 0.0.0.8
rule 20 permit source 192.168.1.10 0.0.0.4

浅谈为何需要反掩码

码龄 3 年 已于 2023-05-07 10:14:52 修改

通配符掩码和反掩码的区别:

反掩码是IP地址掩码的反码,用于计算子网广播地址等;通配符掩码不连续,灵活匹配IP地址,用于路由选择、ACL等
通配符掩码,英文名 wildcard-mask,反掩码直译成 inverse-mask (感谢 蔚蓝湖网友的指正)

通配符掩码和反掩码的区别:
反掩码是IP地址掩码的反码,用于计算子网广播地址等;通配符掩码不连续,灵活匹配IP地址,用于路由选择、ACL等

反掩码,英文名wildcard - mask,也直译为inverse - mask。在介绍反掩码之前,先回顾掩码mask的相关知识点。

1. 掩码

掩码由10组成,其中 连续的 1 表示网络号, 连续的 0 表示主机范围。

举例:

255.255.255.0

转成二进制形式:

1111 1111.1111 1111.1111 1111.0000 0000

其中的124个,说明该掩码有24位网络号,也可用/24表示。/24是网络位,由24个比特(bit)位构成,且为 连续的 241。子网掩码长度共32个bit,由网络位和主机位两部分组成。在此例中,网络位有24bit,剩余的8个bit是主机位,用二进制形式表示,其范围是:

0000 0000 ~ 1111 1111

转成十进制形式:
0~255,主机编号从0255,共256个。

/24的网段里,0用于表示本网段,作为网段地址使用,255用于表示网段中的广播地址,所以可用于表示主机的主机地址有254个。这便是子网掩码的作用。

需注意,子网掩码中的1是连续的,不能出现一堆1里面夹着0的情况;子网掩码中的0也同理,不能出现一堆0里面夹着1的情况。

例如,1111 1111.1111 0000.1111 1111.0000 1100,这样的子网掩码是不合法的。

需明确,下面的斜线模式指的是 连续的1连续的01是连续的,0也是连续的,不能出现断开的情况。比如,/16指的是连续的161再接着16个连续的0,即:

11111111.11111111.00000000.00000000

而不能出现类似:

11111111.00000000.11111111.00000000

这种虽然也是161160,但1不连续,0也不连续,所以是错误的子网掩码。

子网掩码只能是如下列表中的一个:

/1 128.0.0.0 10000000.0.0.0
/2 192.0.0.0 11000000.0.0.0
/3 224.0.0.0 11100000.0.0.0
/4 240.0.0.0 11110000.0.0.0
/5 248.0.0.0 11111000.0.0.0
/6 252.0.0.0 11111100.0.0.0
/7 254.0.0.0 11111110.0.0.0
/8 255.0.0.0 11111111.0.0.0
/9 255.128.0.0 11111111.10000000.0.0
/10 255.192.0.0 11111111.11000000.0.0
/11 255.224.0.0 11111111.11100000.0.0
/12 255.240.0.0 11111111.11110000.0.0
/13 255.248.0.0 11111111.11111000.0.0
/14 255.252.0.0 11111111.11111100.0.0
/15 255.254.0.0 11111111.11111110.0.0
/16 255.255.0.0 11111111.11111111.0.0
/17 255.255.128.0 11111111.11111111.10000000.0
/18 255.255.192.0 11111111.11111111.11000000.0
/19 255.255.224.0 11111111.11111111.11100000.0
/20 255.255.240.0 11111111.11111111.11110000.0
/21 255.255.248.0 11111111.11111111.11111000.0
/22 255.255.252.0 11111111

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754976552a5223589.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信