深色模式
IP 与子网划分 CIDR
摘要:本文带你把一个 CIDR 块手动换算成「网络地址 / 可用 IP 范围 / 广播地址」,并练习把一个网段切成多个子网,排错时不再被掩码搞晕。
适用环境
任意终端,计算部分只需纸笔或 ipcalc(可选)。
bash
# 任选其一做辅助验算(非必须,本文先手算)
which ipcalc && ipcalc 192.168.10.0/26 || echo "无 ipcalc,也可手算"1
2
2
操作步骤
1. 记住「/N 表示前 N 位为网络位」
IPv4 共 32 位。掩码 /24 表示前 24 位是网络位,后 8 位是主机位。
常见换算:
| CIDR | 掩码 | 主机位数 | 可用地址数 |
|---|---|---|---|
| /24 | 255.255.255.0 | 8 | 254 |
| /25 | 255.255.255.128 | 7 | 126 |
| /26 | 255.255.255.192 | 6 | 62 |
| /27 | 255.255.255.224 | 5 | 30 |
可用地址数 = 2^主机位 - 2(去掉网络地址和广播地址)。
2. 手算一个 /26
以 192.168.10.0/26 为例:
- 块大小 =
256 - 192 = 64,即每个子网 64 个地址。 - 网络地址:
192.168.10.0 - 可用范围:
192.168.10.1~192.168.10.62 - 广播地址:
192.168.10.63
3. 把 /24 切成 4 个 /26
text
192.168.10.0/26 可用 1–62 广播 63
192.168.10.64/26 可用 65–126 广播 127
192.168.10.128/26 可用 129–190 广播 191
192.168.10.192/26 可用 193–254 广播 2551
2
3
4
2
3
4
4. 在 Linux 上查看接口所属网段
bash
ip -br addr show
ip route show 192.168.10.0/241
2
2
验证
bash
# 用一个 IP 反推它属于哪个 /26 子网
ipcalc 192.168.10.130/26
# 关注输出中的 Network / HostMin / HostMax / Broadcast1
2
3
2
3
把 192.168.10.130 代入,应落在 192.168.10.128/26(范围 129–190),与手算一致即正确。
常见坑
WARNING
「可用地址减 2」只在普通子网成立。当使用 /31 做点对点链路(RFC 3021)时,两个地址都可用,不减 2。对小白先按「减 2」理解即可。
DANGER
给主机配 IP 时,不要把自己的网关 / 广播地址当作可用地址分配出去,否则会出现 IP 冲突或该网段无法通信。