简短回答
公网IP 在整个互联网上是唯一的,网站看到的就是它。内网IP(私有IP)只在本地网络里有效,比如你家的Wi-Fi,网站永远不会直接看到它。你的路由器有一个公网地址,并给后面的每台设备分配一个内网地址。
现在就到我的IP页面查看你的公网地址;内网地址的查看方法见怎么查自己的IP地址。
公网IP和内网IP对比
| 公网IP | 内网IP | |
|---|---|---|
| 唯一性 | 全球唯一 | 只在你的网络内唯一 |
| 分配者 | 运营商 | 你的路由器(DHCP) |
| 网站能否看到 | 能 | 不能 |
| 示例 | 203.0.113.42 | 192.168.1.23 |
| 能否查询 | 能,可查归属地和运营商 | 不能,出了你的网络就没有意义 |
私有IP地址段
下面这些地址段专门留给私有网络使用,永远不会在互联网上路由:
| 地址段 | 规模 | 常见用途 |
|---|---|---|
10.0.0.0 到 10.255.255.255 | 1670万个地址 | 大型企业、部分路由器、VPN |
172.16.0.0 到 172.31.255.255 | 100万个地址 | 办公室、Docker和云网络 |
192.168.0.0 到 192.168.255.255 | 65536个地址 | 大多数家用路由器 |
100.64.0.0 到 100.127.255.255 | 400万个地址 | 运营商和用户之间的运营商级NAT |
IPv6中,以 fd 或 fc 开头的是私有地址(唯一本地地址),以 fe80 开头的只在同一链路内有效。
在IP查询里查询这些地址,它会告诉你这是私有地址,而不会显示归属地。
NAT如何连接两者
当你 192.168.1.23 的笔记本打开一个网站时,路由器会把私有的源地址替换成自己的公网地址,并记住这条连接。网站的响应回来后,路由器再把它转发给你的笔记本。这就是 NAT(网络地址转换)。正是它让几十台设备可以共用一个公网IPv4地址;它还会拦截来自互联网的主动连接,所以在家搭服务器需要做端口转发。
运营商级NAT:你的"公网IP"其实不是你的
因为IPv4地址已经用完,很多移动网络和部分家庭宽带会再加一层NAT。这时你的路由器拿到的不是公网地址,而是 100.64.0.0/10(或其他私有地址段)里的地址,许多用户共用一个公网IP。
判断方法:把路由器状态页上的WAN口地址(外网地址)和我的IP页面上的地址对比。如果不一样,说明你处在运营商级NAT后面。这种情况下端口转发不起作用,你还可能和邻居一起被封禁、一起频繁遇到人机验证。可以找运营商申请公网IP,或者使用不需要NAT的IPv6,见IPv4和IPv6的区别。
常见问题
两台设备可以有相同的内网IP吗?
可以,只要它们在不同的网络里。数以百万计的家庭路由器都用 192.168.1.1。但同一个网络里的两台设备不能用同一个地址,否则会发生IP冲突。
内网IP地址有安全风险吗?
几乎没有,它只在你的网络里有效。不过浏览器可能通过WebRTC暴露它,网站可以借此给你做指纹识别,所以值得限制一下,见怎么禁用WebRTC。
为什么路由器显示的公网IP和网站看到的不一样?
你的运营商在使用运营商级NAT,或者你的路由器前面还有另一台路由器(比如光猫)。网站显示的是你的流量最终出去时用的地址。
VPN会改变我的内网IP吗?
它会额外增加一个。VPN会在它自己的私有网络里给你的设备分配一个地址,你的公网IP则变成VPN服务器的地址。你家里的内网地址保持不变。