理解公共 IP 与私有 IP 的区别
电脑和网站显示的 IP 为什么不同?用房间与楼的例子,讲清私网范围、NAT、公网可达性,以及地址类型与安全的区别。

电脑上显示的 IP 是 192.168.1.5,查询 IP 的网站却给出另一个地址,这是怎么回事?两者可能都没错:前一个是电脑在你家网络里的地址,后一个是这次连接到达网站时,网站看到的来源地址。
不同楼里,可以都有一个 205 房间
两家酒店都有 205 号房,并不奇怪。但如果快递单上只写“205”,快递员就不知道该去哪家酒店。私网 IPv4 地址也是如此:你家和邻居家都可以使用 192.168.1.5,只要各自在自己的网络里使用,就不会因此冲突。
IP 地址帮助数据在相应的网络中找到接口,并不是一个人或一台设备永久的“身份证”。同一部手机连 Wi-Fi 和用移动数据时,可以使用不同的地址;地址本身也可能改变。
哪些地址属于私网?
RFC 1918 为私有网络保留了三段 IPv4 地址:
10.0.0.0–10.255.255.255,写作10.0.0.0/8172.16.0.0–172.31.255.255,写作172.16.0.0/12192.168.0.0–192.168.255.255,写作192.168.0.0/16
在私有网络内使用这些地址,不需要申请全球唯一的地址分配;它们也不用于公网路由。注意,不是所有以 172 开头的地址都属于私网,172.32.0.1 就不在上述范围内。
重复使用地址也有代价。如果两间办公室用了同一个网段,后来又通过 VPN 连起来,就可能无法分清一个目的地址究竟指向哪间办公室。这时需要调整地址规划或做恰当的地址转换,单靠接通 VPN 解决不了。
用了私网地址,为什么还能上网?
常见的家庭 IPv4 网络会由路由器改写发往外部的数据,把来源私网地址换成公网地址,并记录端口对应关系,让回复能回到正确的设备。这通常是 NAPT,人们也习惯统称为 NAT。网站看到的是转换后的来源地址。NAT 这篇文章用一次请求解释了整个过程。
运营商还可能再做一层转换,也就是运营商级 NAT。这样,多个用户在网站看来会共用一个公网地址。100.64.0.0/10 是为这类用途保留的共享地址空间,与前面的三段私网地址不同。因此,路由器 WAN 口上显示的地址,也未必就是公网地址。
公网不等于门户大开,私网也不等于安全
公网地址可以参与全球路由,但一项服务是否真的能从外部访问,还取决于路由是否通达、服务是否开启,以及防火墙是否放行。公网地址通过运营商、注册机构等协调分配,并非全部由 ISP 直接分配。
私网地址本身不加密数据,也不负责验证身份。受感染的电脑、暴露的应用、权限过宽的 VPN,仍可能让攻击者进入内部网络。NAT 会影响外部能否主动建立某些连接,但谁应该获准访问,要靠防火墙策略和身份验证来决定。
也不能把“私网之外”一律当成公网。有些地址另有专门用途。例如 203.0.113.25 属于文档示例地址段,适合写进说明书,不能当作一个真实可达的公网服务器。
实际该关心什么?
只是日常浏览网页,私网地址配合转换通常就够用。要向外提供服务,或者连接两处网络,则要弄清三件事:地址在哪个范围内有效,哪里做了转换,哪些连接被允许。这比单问“是不是公网 IP”更能帮你解决问题。
这里讨论的是 IPv4,IPv6 有自己的地址范围规则。至于号码资源由谁控制、运营者应有多大自主权,可以继续读卢恒的 Note 29:他从运营者自主权与 IPv4 资产可流转性的角度提出了自己的主张。