外观
IP 地址与子网入门
约 1085 字
IP 地址与子网入门
配防火墙、开安全组、看服务器文档,处处是 IP 和「/24」 这种神秘数字。不懂这些,运维文档看天书。这篇讲最必要的: IPv4 结构、私有地址、子网划分,全案例教学。
一、IPv4:四个 0-255 的数字
192.168.1.100本质是 32 位二进制数(4 字节,每字节 0-255):
192.168.1.100 = 11000000.10101000.00000001.01100100IP 分两半(子网掩码决定切哪):网络号 + 主机号。
192.168.1.100
├─ 网络号:192.168.1 ← 哪张网
└─ 主机号:100 ← 网里哪台机同网络号的机器「局域网内直接找到彼此」; 不同网络号要走路由器(网关)转发。
二、私有地址:你家的局域网
有些 IP 段不用于公网,专供内网:
10.0.0.0 - 10.255.255.255 (大内网,云厂商最爱)
172.16.0.0 - 172.31.255.255 (中等内网)
192.168.0.0 - 192.168.255.255 (家用路由器默认段)你家的 192.168.1.x、公司的 10.x.x.x、云上实例的 内网 IP —— 都是私有地址。NAT(网络地址转换)让整个内网 共享一个公网 IP 上网(路由器干这事)。
你的电脑 192.168.1.5 ─┐
├─ 路由器(NAT)─ 公网 IP 203.0.113.7 ─ 互联网
你的手机 192.168.1.6 ─┘所以「ping 不通我家电脑」是正常的 —— 它在 NAT 后面, 公网找不到。要找到:端口映射(路由器上配)或内网穿透工具。
三、子网掩码与 CIDR:那个「/24」
子网掩码区分 IP 的「网络部分」和「主机部分」:
IP 192.168.1.100
掩码 255.255.255.0 → 前 24 位是网络号
网络号 192.168.1.0
广播 192.168.1.255 (网内广播用)
可用主机 192.168.1.1 ~ .254 (254 个)CIDR 记法:192.168.1.0/24 = 「前 24 位网络号」 = 子网掩码 255.255.255.0。斜杠后的数字就是「1 的个数」:
| CIDR | 掩码 | 主机数 | 典型用途 |
|---|---|---|---|
| /24 | 255.255.255.0 | 254 | 一个小办公室/家用段 |
| /16 | 255.255.0.0 | 65534 | 大内网(10.x 常见) |
| /32 | 255.255.255.255 | 1 | 单台服务器(安全组精确放行) |
| /8 | 255.0.0.0 | 1600 万+ | 超大组织 |
四、实战:安全组和防火墙的「/32」
云上开安全组,最常见两种写法:
放行单 IP: 203.0.113.7/32 ← 只有这台能进(你的办公网固定 IP)
放行整个段: 203.0.113.0/24 ← 这 254 个 IP 都能进为什么 SSH 端口(22)要配成 /32:
0.0.0.0/0 + 22 端口 = 全球开放
→ 扫描器 24 小时内找到你 → 暴力破解 → 恭喜被入侵正确做法:22 端口只放行你的固定 IP(/32), 或者干脆不开公网 22(用厂商的网页 SSH/跳板机)。 (服务器篇(在新窗口打开) 的安全清单强调过。)
五、特殊地址速认
127.0.0.1 本机自己(localhost)
0.0.0.0 监听时 = 「所有网卡」(别拿来当目标地址)
169.254.x.x DHCP 失败时系统自配(见到它 = 网络有问题)
255.255.255.255 全局广播
x.x.x.0 / .255 网络号/广播地址(不能分配给主机)0.0.0.0 监听 vs 127.0.0.1 监听:
服务监听 0.0.0.0:3000 → 外部能访问(记得配防火墙!)
服务监听 127.0.0.1:3000 → 只有本机能访问(数据库默认该这样)数据库默认只听 127.0.0.1 是安全设计 —— 改 0.0.0.0 前先想清楚谁需要连它。
六、IPv6:已经在路上了
2408:8207:2a28:3b60::1 (冒号分 8 组,每组 4 位十六进制)特点:128 位(地址多到能给每粒沙子编号)、 无需 NAT(端到端直连)、自动配置。国内家宽、手机网络 已逐步支持。作为开发者要知道的:
- 安全组/防火墙可能只配了 IPv4 规则(IPv6 的流量 bypass 了你的规则!);
- 服务器
listen要考虑双栈(::覆盖 IPv4+6); - 个人站的 IPv6 支持:让服务商开,用户无感。
不用会配,知道「还有一套并行的地址系统」就行。
七、五分钟自测
# 看自己的地址
ipconfig # Windows
ip addr # Linux
# 看出口公网 IP(NAT 之后看到的)
curl ifconfig.me
# 看路由到目标的路径
tracert 8.8.8.8 # Windows
traceroute 8.8.8.8 # Linux自己敲一遍,比看十篇文章直观。
小结
IP 三句话:IPv4 是 32 位数字分网络号+主机号、 私有地址(10/172.16/192.168)靠 NAT 上网、 CIDR /24 /32 是安全组的通用语言。配防火墙时 「该 /32 别 /0」—— 精确放行是运维的基本修养。 网络层以上的世界,从 OSI 分层 接着看。