NAT如何让私有地址也能接入互联网
私有IP地址本身无法在公网上被路由——沿途的路由器根本无法判断,在数百万个都在使用192.168.1.10的网络中,你指的到底是哪一个。网络地址转换(NAT)通过将出站流量的源地址改写为路由器唯一的公网IP地址,并跟踪每个响应应归属于哪台内部设备,来解决这个问题。这也是为什么网络外部的设备通常无法主动向内部设备发起连接——通信必须从内部发起,或者通过路由器设置明确转发。
一眼识别私有地址
如果一个地址以192.168、10.开头,或者落在172.16到172.31之间,那它就是私有地址,只在特定的本地网络中有效——在排查故障、查看路由器设备列表或检查日志时,能够立刻识别出这一点会很有帮助。其他地址几乎肯定是可在互联网上路由的公网地址,不过还有少数几个保留范围(如环回地址和链路本地地址)是为特殊用途而非通用网络通信保留的。
通过地址排查故障
设备上不了网时,地址往往是第一条线索。出现169.254.x.x,说明设备没能从DHCP获得地址,应检查网线或Wi-Fi连接以及路由器的DHCP服务。在使用192.168.1.0/24的网络里出现192.168.0.20这样的地址,通常是之前在别的网络里设置的固定IP还留着。两台设备地址重复则会导致时断时续,可以在路由器的客户端列表里找出重复项。
云网络和容器同样使用这些地址段
云上的虚拟网络、容器平台和VPN都会用到这几个私有地址段,所以地址重叠是常见问题。如果家里或公司用10.0.0.0/8,云网络也用了同一段,两边互通就会出问题,除非子网相互独立。在第一次部署之前先做一份简单的地址规划表,能省下很多后续工作。
常见问题
私有IP地址能直接连接互联网吗?
不能。私有IP范围被有意排除在互联网路由之外,因此只拥有私有地址的设备无法单独访问互联网。路由器需要执行NAT,将私有地址转换为公网地址,连接才真正得以实现。
为什么不是只有一个私有范围,而是三个?
提供不同大小的范围,是为了让网络能根据自身规模灵活选择。管理海量设备的大型企业或运营商可能会用到广阔的10.0.0.0/8,而只有少数几台设备的家庭网络,用小得多的192.168.0.0/16就完全够用。
怎么查看自己电脑的私有IP地址?
在Windows上打开命令提示符运行ipconfig;在macOS或Linux上可以在网络设置中查看,或使用ifconfig、ip addr命令;手机则可以在已连接Wi-Fi的详情里看到。它和网站看到的公网IP不是同一个地址。
172.32.0.0是私有地址吗?
不是。私有地址段是172.16.0.0到172.31.255.255,172.32.0.0及以上属于公网地址。很多人误以为172开头的都是私有地址,这一点要特别注意。