私有IP地址范围(RFC 1918)完全指南

路由器上那个以192.168开头的地址,为什么总是这个范围?一探究竟。

为什么会有私有IP地址

公网IPv4地址是有限资源——理论上只有约43亿个可用组合,远远不够分配给地球上的每一台设备。RFC 1918划出了若干地址段,这些地址永远不会在公网上被路由,而是可以在数百万个彼此独立的私有网络内部重复使用。家用路由器通过NAT(网络地址转换)技术,把家里所有设备都隐藏在一个公网IP地址背后。

10.0.0.0/8 范围

从10.0.0.0到10.255.255.255,是最大的私有地址块,拥有约1670万个地址。主要用于大型企业、数据中心和电信运营商的大规模内部网络,家用路由器很少将其作为默认值,但在企业VPN中很常见。

172.16.0.0/12 范围

涵盖172.16.0.0到172.31.255.255,可提供约105万个地址,是中型企业网络的常见选择。开发者对它也不陌生:Docker默认的桥接网络通常会使用这一范围的一部分,例如172.17.0.0/16。

192.168.0.0/16 范围

涵盖192.168.0.0到192.168.255.255,是家用路由器几乎总是默认使用的范围。如果你曾经通过192.168.0.1或192.168.1.1这样的地址打开过路由器管理页面,那正是这个范围——大小恰好适合家庭和小型办公室。

值得了解的其他特殊范围

127.0.0.0/8是环回地址范围,供设备与自身通信使用(127.0.0.1,即localhost),永远不会离开本机。169.254.0.0/16是链路本地地址范围,当操作系统无法联系到DHCP服务器时会自动分配(APIPA)——如果看到这个范围的地址,通常意味着网络连接出了问题。另外,100.64.0.0/10是一个独立于RFC 1918的共享地址空间,常被电信运营商用于运营商级NAT(CGNAT),将许多用户集中在一个公网IP背后。

一个值得了解的实际场景

由于私有IP地址只在各自的网络内部有意义,两个完全独立的网络可以使用同一个范围(比如都用192.168.0.0/24)而互不影响——直到你把它们连接起来。通过VPN将家庭网络与公司网络桥接进行远程办公时,可能会出现地址范围冲突,系统无法判断192.168.0.10指的是哪一端,导致连接中断。把其中一端的内部地址范围改成另一个私有地址块(例如172.16.0.0/12),通常就能解决问题。

NAT如何让私有地址也能接入互联网

私有IP地址本身无法在公网上被路由——沿途的路由器根本无法判断,在数百万个都在使用192.168.1.10的网络中,你指的到底是哪一个。网络地址转换(NAT)通过将出站流量的源地址改写为路由器唯一的公网IP地址,并跟踪每个响应应归属于哪台内部设备,来解决这个问题。这也是为什么网络外部的设备通常无法主动向内部设备发起连接——通信必须从内部发起,或者通过路由器设置明确转发。

一眼识别私有地址

如果一个地址以192.168、10.开头,或者落在172.16到172.31之间,那它就是私有地址,只在特定的本地网络中有效——在排查故障、查看路由器设备列表或检查日志时,能够立刻识别出这一点会很有帮助。其他地址几乎肯定是可在互联网上路由的公网地址,不过还有少数几个保留范围(如环回地址和链路本地地址)是为特殊用途而非通用网络通信保留的。

常见问题

私有IP地址能直接连接互联网吗?

不能。私有IP范围被有意排除在互联网路由之外,因此只拥有私有地址的设备无法单独访问互联网。路由器需要执行NAT,将私有地址转换为公网地址,连接才真正得以实现。

为什么不是只有一个私有范围,而是三个?

提供不同大小的范围,是为了让网络能根据自身规模灵活选择。管理海量设备的大型企业或运营商可能会用到广阔的10.0.0.0/8,而只有少数几台设备的家庭网络,用小得多的192.168.0.0/16就完全够用。