跳到正文
OpsKit

CIDR / 子网计算器

算清一个 CIDR 块里到底有什么:网络地址与广播地址、可用主机范围,以及在 VPC 里实际能用的更小数量——云厂商每个子网都会拿走 5 个地址。

常用网段

私有网段
网络地址
10.0.0.0/16
广播地址
10.0.255.255
首个主机
10.0.0.1
末个主机
10.0.255.254
子网掩码
255.255.0.0
反掩码
0.0.255.255
地址总数
65,536
可用主机
65,534
VPC 内可用
65,531

AWS、Azure 和 GCP 每个子网都保留 5 个地址。

前缀
/16

切分子网

全部在浏览器内完成. 这个页面是静态文件。你输入的内容只留在标签页里,不会发送到服务器,关闭即消失。所以粘贴真实的令牌或配置是安全的。

什么时候用得上

  • 把 VPC 按可用区切成公有和私有子网,且范围不能重叠时。
  • 在新增节点池或负载均衡器之前,确认 /24 里还有没有空位。
  • 编写安全组或防火墙规则,需要范围的准确首尾地址时。

实际示例

典型的 VPC 子网

输入
10.0.1.0/24
结果
254 个可用主机,VPC 内 251 个

网络地址和广播地址永远不可分配,云厂商还会再拿走 3 个。

为三个可用区切分 /22

输入
把 10.0.0.0/22 切成 /24
结果
10.0.0.0/24、10.0.1.0/24、10.0.2.0/24、10.0.3.0/24

会得到 4 个,留一个备用。子网创建后无法调整大小,所以这通常是对的做法。

点对点链路

输入
192.168.1.4/31
结果
两个地址都可用

RFC 3021 取消了 /31 的网络与广播地址对,这正是路由器互联使用它的原因。

容易出错的地方

忘记那 5 个保留地址

/28 看起来有 14 个可用主机,在 AWS 上只有 11 个。网络地址、路由器、DNS、预留位和广播地址都被占走了。

多个 VPC 的 CIDR 重叠

两个都用 10.0.0.0/16 的 VPC 无法对等连接。请一开始就规划互不重叠的网段,事后修改意味着重建里面所有子网。

按当前规模来定子网大小

子网前缀创建后不能更改。现在刚好够用的 /24,在自动扩缩把节点数翻倍的那一刻就会用尽。

常见问题

为什么 AWS 比算出来的少 5 个地址?

每个子网里 AWS 都会保留网络地址、VPC 路由器(.1)、DNS 解析器(.2)、一个预留地址(.3)以及广播地址。所以 /24 能分配的是 251 个而不是 254 个。

能创建的最小子网是多少?

AWS、Azure 和 GCP 都接受 /16 到 /28,最小时有 11 个可用地址。在云之外,/31 可用于点对点链路,/32 表示单个主机。

该用哪些私有网段?

RFC 1918 定义了 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16。可能扩张的从 10/8 里选,192.168/16 留给家庭和实验环境,避开 172.17/16,因为 Docker 默认用它。

相关工具