配一台新服务器、划分 VPC 网段、写 Nginx 的 allow 规则——只要涉及网络配置,都绕不开子网计算。问题是,子网掩码的二进制运算既枯燥又容易出错:/24 还好说,/22 究竟包含哪些 IP?10.0.3.255 和 10.0.4.0 是同一个子网吗?稍微复杂一点就得掏计算器。
在线子网计算器 把这些计算全部自动化:输入一个 IP 和前缀长度,立刻得到网络地址、广播地址、可用 IP 范围、主机数量,还能一键把一个大子网拆分成若干小子网。本文在介绍工具用法的同时,把子网的技术原理也讲清楚——用多了自然就记住了。
快速上手
打开 子网计算器,在输入框填入 IP 地址和前缀长度,两种格式都支持:
- CIDR 格式:
192.168.1.0/24 - IP + 子网掩码:
192.168.1.0+255.255.255.0
点击计算,立刻得到:
| 字段 | 示例值(输入 192.168.1.0/24) |
|---|---|
| 网络地址 | 192.168.1.0 |
| 广播地址 | 192.168.1.255 |
| 子网掩码 | 255.255.255.0 |
| 通配符掩码 | 0.0.0.255 |
| 可用 IP 范围 | 192.168.1.1 - 192.168.1.254 |
| 可用主机数 | 254 |
| IP 类型 | 私有地址 |
右侧还有二进制展示,能直观看到网络位和主机位的分界。
子网掩码和 CIDR 的本质
理解工具输出的前提,是搞清楚子网掩码在做什么。
一个 IPv4 地址是 32 位二进制。比如 192.168.1.100,写成二进制是:
11000000.10101000.00000001.01100100
子网掩码也是 32 位,前 N 位全是 1,后面全是 0。/24 的子网掩码是:
11111111.11111111.11111111.00000000
写成十进制:255.255.255.0
网络地址 = IP 地址 AND 子网掩码(按位与):
11000000.10101000.00000001.01100100 (192.168.1.100)
AND
11111111.11111111.11111111.00000000 (255.255.255.0)
=
11000000.10101000.00000001.00000000 (192.168.1.0)
这就是为什么同一个 /24 网段里的所有 IP,前三组数字必须相同——它们共享相同的网络位。
广播地址 = 网络地址的主机位全部置 1:
11000000.10101000.00000001.11111111 (192.168.1.255)
主机位有 8 位(32-24=8),所以有 2^8 = 256 个地址,减去网络地址和广播地址,剩 254 个可用主机 IP。
CIDR 前缀长度速查
不同前缀长度对应不同规模的网络,这是常用的对照关系:
| CIDR | 子网掩码 | 可用主机数 | 典型用途 |
|---|---|---|---|
| /8 | 255.0.0.0 | 16,777,214 | 大型私有网络(10.x.x.x) |
| /16 | 255.255.0.0 | 65,534 | 中型企业网络(172.16.x.x) |
| /24 | 255.255.255.0 | 254 | 最常见,办公室局域网 |
| /25 | 255.255.255.128 | 126 | 半个 C 段,分隔子网 |
| /26 | 255.255.255.192 | 62 | 小型部门 |
| /27 | 255.255.255.224 | 30 | 服务器集群 |
| /28 | 255.255.255.240 | 14 | 极小网段,点对点链路 |
| /30 | 255.255.255.252 | 2 | 路由器互联(仅 2 个主机 IP) |
| /32 | 255.255.255.255 | 0 | 单主机路由 |
记不住没关系,直接在计算器里输入前缀长度,结果一目了然。
子网划分:把大网段拆小
这是子网计算器最实用的功能之一。假设你有一个 10.0.0.0/22 的网段,需要给四个部门各分一个独立子网,每个部门不超过 60 台机器。
步骤一:确认 /22 的大小
输入 10.0.0.0/22,计算器显示:
- 可用主机:1022 个(2^10 - 2)
- IP 范围:10.0.0.1 - 10.0.3.254
步骤二:选择划分粒度
60 台机器需要至少 62 个地址(加网络地址和广播地址),对应 /26(2^6 = 64,可用 62)。
在计算器的"子网划分"面板,选择"按前缀长度划分",输入 /26,计算器自动列出所有 16 个子网:
10.0.0.0/26 可用:10.0.0.1 - 10.0.0.62
10.0.0.64/26 可用:10.0.0.65 - 10.0.0.126
10.0.0.128/26 可用:10.0.0.129- 10.0.0.190
10.0.0.192/26 可用:10.0.0.193- 10.0.0.254
10.0.1.0/26 可用:10.0.1.1 - 10.0.1.62
... (共 16 个)
给四个部门各取一个,剩下的留作扩展。
三个私有 IP 段
计算器会自动标注 IP 是否属于私有地址范围。私有地址不能在公网路由,只能在内网使用,三个保留段分别是:
| 范围 | CIDR | 可用地址数 |
|---|---|---|
| 10.0.0.0 - 10.255.255.255 | 10.0.0.0/8 | 约 1677 万 |
| 172.16.0.0 - 172.31.255.255 | 172.16.0.0/12 | 约 104 万 |
| 192.168.0.0 - 192.168.255.255 | 192.168.0.0/16 | 约 6.5 万 |
家用路由器默认用 192.168.1.0/24,AWS VPC 默认用 10.0.0.0/16,都在这三个范围内。
此外还有几个特殊段:
127.0.0.0/8:回环地址(localhost = 127.0.0.1)169.254.0.0/16:链路本地地址(APIPA,DHCP 失败时自动分配)0.0.0.0/8:表示"本机",通常用于默认路由
实际场景:配置 AWS VPC
AWS 配置 VPC 时必须指定 CIDR 块,常见方案是 10.0.0.0/16,然后按可用区和功能划分子网。用计算器规划:
公共子网(放 Load Balancer、NAT Gateway):
10.0.0.0/24 可用区 A(254 个地址)
10.0.1.0/24 可用区 B
10.0.2.0/24 可用区 C
私有子网(放应用服务器):
10.0.10.0/24 可用区 A
10.0.11.0/24 可用区 B
10.0.12.0/24 可用区 C
数据库子网(最高隔离):
10.0.20.0/24 可用区 A
10.0.21.0/24 可用区 B
用计算器逐一验证每个段的范围和大小,再填入 AWS 控制台,不容易填错。
实际场景:Nginx 访问控制
Nginx 的 allow / deny 指令支持 CIDR 格式:
# 只允许公司内网和 VPN 访问管理后台
location /admin {
allow 192.168.1.0/24; # 公司局域网
allow 10.8.0.0/24; # VPN 网段
deny all;
}
如果你知道 IP 范围但不确定 CIDR 写法,在计算器里试一下:输入 192.168.1.0/24,确认它的范围是 192.168.1.0 - 192.168.1.255,没问题再写进配置。
反过来,如果给你一个范围 10.0.4.0 - 10.0.7.255,计算器可以帮你确认对应的 CIDR 是 10.0.4.0/22。
超网(Supernetting)
子网划分是把大网段拆小,超网是把多个小网段合并成一个。比如你有四个相邻的 /26:
10.0.0.0/26
10.0.0.64/26
10.0.0.128/26
10.0.0.192/26
合并后是一个 /24:10.0.0.0/24。
判断能否合并的关键:起始 IP 必须是合并后网段的网络地址,即起始 IP 的主机位(按合并后的掩码计算)全为 0。计算器会自动检查这个条件,不满足的话会给出提示。
IPv6 简介
工具同样支持 IPv6 子网计算。IPv6 地址是 128 位,写成 8 组十六进制,比如:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
前缀长度的含义和 IPv4 相同,常见的是 /48(分配给企业)、/56(分配给家庭)、/64(单个子网标准长度)。一个 /64 有 2^64 ≈ 1.8×10^19 个地址,远超 IPv4 整个地址空间,所以 IPv6 不需要像 IPv4 那样精打细算地划分子网。
子网计算不是很难,但手算容易出错,尤其是 /22、/23 这类跨 C 段的情况。把计算交给工具,把精力放在架构决策上——选哪个网段、怎么划分层次、预留多少空间——这才是值得花时间的部分。
本系列其他文章
- 工具指南1-在线图片压缩
- 工具指南2-在线JSON格式化工具
- 工具指南3-在线正则表达式测试
- 工具指南4-二维码生成工具
- 工具指南5-Base64编解码工具
- 工具指南6-JWT在线解码工具
- 工具指南7-Unix时间戳转换工具
- 工具指南8-在线密码生成器
- 工具指南9-URL编解码工具
- 工具指南10-在线哈希生成器
- 工具指南11-JSON转TypeScript类型生成器
- 工具指南12-Cron表达式在线解析工具
- 工具指南13-在线颜色转换工具
- 工具指南14-在线SQL格式化工具
- 工具指南15-在线Markdown实时预览工具
- 工具指南16-在线JSON对比工具
- 工具指南17-AI Token计数器
- 工具指南18-在线OCR文字识别工具
- 工具指南19-在线CSS渐变生成器
- 工具指南20-在线UUID生成器
- 工具指南21-HTML转JSX在线转换工具
- 工具指南22-WebSocket在线测试工具
- 工具指南23-CSV转JSON在线工具
- 工具指南24-在线CSS Box Shadow生成器
- 工具指南25-在线Favicon生成器
原文发布于 陈广亮的技术博客,欢迎关注获取更多前端与 AI 开发内容。