极简工具箱

免费在线工具 · 本地计算 · 无需上传

CIDR 怎么算:/24 是多少个 IP、两个地址同不同网段

`192.168.1.0/24` 里的 24 是什么意思?为什么可用地址是 254 个而不是 256 个?搞懂这两点,配安全组和排查网络就不容易出错。

广告位(百度联盟)

一、/24 就是「前 24 位是网络号」

IPv4 是 32 位。/24 表示前 24 位标识网络,剩下 8 位标识主机:

192.168.1.0/24
11000000.10101000.00000001 . 00000000
└──────── 网络号 24 位 ────┘ └─ 主机 8 位 ─┘

主机位有 8 位,共 2⁸ = 256 个地址。其中:

所以可用主机数 = 2⁸ − 2 = 254。

掩码主机位总地址可用
/30242
/29386
/2841614
/248256254
/16166553665534
/8241677721616777214

二、子网掩码写法

/24 等价于 255.255.255.0。换算方式是把前 24 位置 1:

/24 → 11111111.11111111.11111111.00000000 → 255.255.255.0
/26 → 11111111.11111111.11111111.11000000 → 255.255.255.192
/20 → 255.255.240.0

非 8 的倍数时容易算错,比如 /26 每个子网 64 个地址,可用 62 个。

三、私有地址段

这三段不会在公网路由,内网随便用:

段范围常见用途
10.0.0.0/810.0.0.0 – 10.255.255.255大型内网、云 VPC
172.16.0.0/12172.16.0.0 – 172.31.255.255中型网络
192.168.0.0/16192.168.0.0 – 192.168.255.255家庭/办公局域网

另外 127.0.0.0/8 是本机回环,169.254.0.0/16 是 DHCP 失败时的自动地址(看到 169.254.x.x 说明没拿到 IP)。

四、判断两个 IP 是否同网段

把 IP 和掩码都转成二进制,做「与」运算,比较网络号:

192.168.1.10  & 255.255.255.0 = 192.168.1.0
192.168.1.200 & 255.255.255.0 = 192.168.1.0   ← 同网段

192.168.1.10  & 255.255.255.0 = 192.168.1.0
192.168.2.10  & 255.255.255.0 = 192.168.2.0   ← 不同网段

同网段的主机可以直接通信(不经过网关);跨网段必须配网关。

命令行速查:

ipcalc 192.168.1.10/24        # Linux(需安装)
python3 -c "import ipaddress;print(ipaddress.ip_network('192.168.1.0/24').hosts())"

五、安全组里的 0.0.0.0/0

这是最常见的配置项:

把数据库端口(3306、6379)配成 0.0.0.0/0 是典型的高危操作,扫描器几分钟内就会找上来。正确做法是只放行办公网 IP 或跳板机。

六、几个实际场景

VPC 子网划分:10.0.0.0/16 可以切成多个 /24(10.0.0.0/24、10.0.1.0/24…),分别给不同环境或可用区。

K8s Pod 网段:10.244.0.0/16,每个节点分一个 /24。

CDN 回源白名单:厂商会给一串 CIDR,需要在源站放行。

限流/封禁:按 /24 封一个机房比逐个 IP 高效。

七、IPv6 的差异

IPv6 是 128 位,/64 是标准子网(一个子网内的地址数量是 2⁶⁴,大到不用考虑「够不够」)。IPv6 没有广播地址,所以可用地址是「总数 − 1(网络地址)」,不像 IPv4 要减 2。

八、快速计算

不确定某个网段的范围与可用数量,用 CIDR 计算工具 输入 192.168.1.10/24 即可得到网络地址、广播地址、可用范围与主机数,避免手算出错。

小结

/24 = 前 24 位网络号、8 位主机、可用 254 个;网络地址与广播地址不能分配;私有段是 10/8、172.16/12、192.168/16;0.0.0.0/0 等于对全网开放,数据库端口千万别这么配。

本文相关工具(本地计算,无需上传)

更多使用教程