私有IP地址范围详解:10.x、172.16与192.168
了解私有IP地址范围(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)、环回地址、链路本地地址和CGNAT地址空间,以及它们为什么永远不会作为你的公网IP出现。
为本地网络保留的地址
RFC 1918为私有网络保留了三个IPv4地址块。任何人都可以在家庭、办公室或数据中心内部使用它们,因此同一个私有地址会同时存在于数以百万计的网络中。
由于不具备唯一性,私有地址不会在公共互联网上路由。流量离开网络之前,路由器会把它们转换为自己的公网地址。这就是IPNixa永远不会把192.168开头的地址列为你的公网IP的原因。
| 范围 | CIDR地址块 | 地址数量 | 常见场景 |
|---|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 16,777,216 | 大型企业网络、云虚拟网络、部分家用路由器 |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 1,048,576 | 企业网络;Docker的默认网桥网络使用172.17.0.0/16 |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 65,536 | 大多数家庭和小型办公室路由器 |
其他特殊IPv4地址范围
还有一些地址块被保留用于特定用途。认识它们之后,网络设置和错误信息会容易读懂得多。
| 地址块 | 用途 | 它说明了什么 |
|---|---|---|
| 127.0.0.0/8 | 环回 | 127.0.0.1始终指“本机” |
| 169.254.0.0/16 | 链路本地(自动私有寻址) | 本地链路通信;常见于无法获取DHCP配置时,但也可能是有意为之 |
| 100.64.0.0/10 | 共享地址空间(RFC 6598) | 共享寻址的线索;下结论前请确认是运营商CGNAT还是覆盖网络 |
| 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 | 文档范例(RFC 5737) | 用于手册和指南中的范例,IPNixa在本地运行时的样例数据也采用这些地址 |
| 224.0.0.0/4 | 组播 | 一对多的流量,例如部分流媒体和设备发现协议 |
IPv6中的对应地址
IPv6在fc00::/7中为内部网络提供唯一本地地址,实际使用中以fd开头。每个IPv6接口还有一个以fe80开头、只在本地链路上使用的链路本地地址,而::1是IPv6的环回地址。
与大多数使用IPv4的家庭网络不同,IPv6设备通常还会直接获得可全球路由的地址。隐私扩展会定期更换这些地址中与设备相关的部分,而允许哪些入站连接仍由路由器的防火墙决定。
- fd00::/8(属于fc00::/7):供内部使用的唯一本地地址。
- fe80::/10:链路本地地址,每个IPv6接口上都有。
- ::1:环回地址,相当于IPv6版的127.0.0.1。
- 2001:db8::/32:保留用于文档范例。
如何判断一个地址是否为私有地址
大多数IPv4地址只看前一两个数字就能分类。
- 以10开头的是私有地址。
- 对于172.x.x.x,只有第二个数字为16–31时才属于RFC 1918私有地址空间。不在私有地址块内,本身并不能证明该地址已被分配或可在全球访问。
- 以192.168开头的是私有地址。
- 以100开头且第二个数字在64到127之间的,属于运营商级NAT地址范围。
- 169.254.x.x是IPv4链路本地地址。如果本应能正常上网,请检查DHCP和当前使用的网卡;仅凭这个范围并不能证明路由器有故障。
- 对于IPv6,fd…和fe80…开头的是本地地址;以2或3开头的通常是全球地址。
这在实际中为什么重要
如果某篇教程要求你提供“你的IP”,以便从外面连接家里的设备,那么私有地址在网络外部是无法使用的;你需要端口转发、VPN或远程访问服务。而在网络内部,私有地址才是正确的地址。
对比实例:172.20.4.5属于RFC 1918私有地址空间;172.32.4.5不在该地址块内;100.70.1.2属于共享地址空间,并非RFC 1918地址。先判断地址所属的完整范围,再决定排查方向。私有地址空间以外的地址仍可能是保留地址、被过滤或无法访问:请查阅IANA注册表并结合你实际的路由环境判断。
为自己的网络选择地址范围
当通过VPN互联的两个网络使用相同的私有网段时,就会发生地址冲突。为家庭实验室选择一个不太常见的地址块,例如随机的10.x.y.0/24,可以降低这种风险。
- 如果你经常通过VPN连接其他网络,请避免使用192.168.0.0/24和192.168.1.0/24——它们是最常见的默认网段。
- 即使在实验环境中,也不要使用不属于你的公网地址空间;否则你将无法访问该地址真正所有者的服务。
- 把100.64.0.0/10留给运营商以及专为使用该网段而设计的覆盖网络型VPN。
常见问题
192.168.1.1是我的IP地址吗?
这通常是你家路由器在内网中的本地地址,而不是你的公网IP。你的设备使用与它相邻的地址,例如192.168.1.10,而互联网看到的是路由器的公网地址。
网站能看到我的私有IP地址吗?
普通HTTP请求的源IP不会暴露本地私有地址。WebRTC的行为取决于浏览器的策略和设置:它可能暴露候选地址,也可能用mDNS名称代替本地地址。因此,HTTP与WebRTC的观测结果需要分开解读。
为什么我的设备是169.254开头的地址?
这是IPv4链路本地地址。操作系统在无法通过DHCP获取配置时常会自动选用这类地址,但链路本地通信也可能是有意为之。如果无法上网,请先检查当前使用的网卡、物理连接和DHCP配置,再考虑重启设备。
以172开头的地址都是私有地址吗?
不是。只有172.16.0.0到172.31.255.255属于私有地址。172.217.x.x或172.67.x.x之类的地址属于公网地址空间。