公网与私有地址空间
公网 IP
192.0.2.10
全球唯一,可从任何地方路由
私有地址段
无法在公共互联网上路由
公网 IP 与私有 IP 地址:有什么区别?
查看您的网络设置,可能会看到 192.168.1.5。而访问一个显示您 IP 地址的网站,它给出的却是完全不同的地址。两者都没错,您确实同时拥有两个地址,只是它们作用的范围不同。
公网与私有地址空间
公网 IP
192.0.2.10
全球唯一,可从任何地方路由
私有地址段
无法在公共互联网上路由
两种范围
| 私有 IP | 公网 IP | |
|---|---|---|
| 范围 | 仅限您的本地网络 | 整个互联网 |
| 是否唯一? | 仅在您的网络内唯一 | 全球唯一 |
| 由谁分配 | 您的路由器(DHCP) | 您的运营商或托管服务商 |
| 能否在线路由? | 不能,路由器会丢弃 | 能 |
| 示例 | 192.168.1.5 | 93.184.216.34 |
| 谁能看到 | 您网络中的设备 | 您访问的每一个网站 |
核心要点
私有地址同时在数百万个互不相干的网络中被重复使用,并且永远不会在互联网上被路由。公网地址是全球唯一的,也是互联网实际用来找到您的地址。
保留的私有地址段
RFC 1918 划出了三个 IPv4 地址块供私有使用。任何人都可以在内部使用它们,而公共互联网上的任何路由器都不会转发它们。
| 地址段 | 地址数量 | 典型使用者 |
|---|---|---|
10.0.0.0/8 | 1670 万 | 大型企业网络、云 VPC |
172.16.0.0/12 | 100 万 | 中型网络、Docker 默认设置 |
192.168.0.0/16 | 65,536 | 家庭和小型办公室路由器 |
另外还有几个地址段被保留用于相关用途,同样永远不会作为合法的公网应答出现:
127.0.0.0/8:环回。127.0.0.1永远指向您自己的机器。169.254.0.0/16:链路本地,在 DHCP 失败时自行分配。看到这类地址,通常意味着您的设备无法连接到路由器。100.64.0.0/10:运营商级 NAT,供无法为每位用户提供公网地址的运营商使用。
NAT:私有地址如何仍能访问互联网
如果私有地址无法被路由,那么位于 192.168.1.5 的笔记本电脑是如何加载网站的呢?答案是由您的路由器执行的网络地址转换。
您的设备发送一个数据包
源地址为
192.168.1.5,目的地址是该网站的公网地址。路由器改写源地址
它把私有源地址替换为自己的公网地址,并把这次替换记录在转换表中,同时附上一个端口号。
网站向路由器回复
在服务器看来,它是在与您路由器的公网地址通信,对您的笔记本电脑一无所知。
路由器转换回来
它查阅转换表,找出该端口属于哪台内部设备,改写目的地址,并转发给
192.168.1.5。
这就是为什么您家中的每台设备在网站看来都是同一个地址,也是为什么 IP 地址标识的是一次连接,而不是一个人。
查找您的两个地址
您的私有地址
ipconfigip addr show
# or, on macOS:
ifconfig | grep "inet "您的公网地址
您无法从自己的网络内部发现它,必须向网络之外的某个对象询问,这正是“我的 IP 是什么”类服务所做的事。在终端中可以这样查询:
curl ifconfig.me为什么域名绝不应该解析到私有地址
一个公共域名解析到 10.0.0.5 或 127.0.0.1,要么是配置错误,要么是有意为之,无论哪种情况,对任何会解析用户所提交域名的服务来说,都是个问题。
这种攻击很简单:把您控制的某个域名指向 169.254.169.254,提交给一个在服务端获取 URL 的服务,该服务就会替您读取它自己的云元数据。DNS 重绑定的变种则让记录在验证检查和实际获取之间发生变化。
防御办法是验证解析出的地址,而不是提交的主机名,这正是本站所做的,也是为什么解析到内部地址的域名只会显示为无法解析,而不会泄露这一细节。工作原理页面介绍了完整的验证链。
需要查看某个域名的公网 DNS 地址?使用 Domain IP Lookup 工具。
本主题的免费工具
常见问题
相关阅读
两种寻址方案,并行运行
IPv4
192.0.2.10
32 位,约 43 亿个地址,已耗尽
IPv6
2606:4700::6810:84e5
128 位,约 3.4×10³⁸ 个地址
什么是 IP 地址?IPv4 与 IPv6 通俗讲解
互联网上每个网站、服务器和手机背后的数字标签:它意味着什么,如何解读,以及为什么存在两个互不兼容的版本。
您解析到的地址背后究竟是什么
共享 IP
多个网站共用一个地址,由 Host 头选出您的站点
独享 IP
只属于您,可自行控制其反向 DNS
CDN 边缘节点
不是源站,由边缘节点终结连接
共享 IP 与独立 IP 地址:您需要哪一种?
坦率的答案是:大多数网站并不需要独立 IP。本文说明什么时候它真正重要,以及哪些所谓的好处只是误解。
一次递归 DNS 查询,逐跳详解
浏览器
想访问 example.com
解析器
运营商 / 1.1.1.1
根 + TLD
谁负责 .com?
权威服务器
真正的答案
这条链路上的每一跳本身都是一次 DNS 查询,之后都会被缓存
如何查找网站的 IP 地址(5 种可靠方法)
在线工具、ping、nslookup、dig 或开发者工具:五种解析域名的方法,附 Windows、macOS 和 Linux 的具体命令。