公网IP与内网IP,以及NAT的完整解析

最后更新: 2026-05-31

IP地址分为两类:在整个互联网中全球唯一、可路由的 公网地址,以及可在任意组织内部自由重复使用的 **内网(私有)**地址。理解二者的区别,就能明白为什么你电脑上的IP几乎从不等于网站看到的IP。

为什么需要私有地址

IPv4地址只有约43亿个,且多年前就已耗尽。如果每部手机、笔记本、电视和灯泡都需要唯一的公网地址,互联网早就停滞了。于是 RFC 1918 保留了三个范围,只要不直接出现在公网上,任何人都可在内部使用。

RFC 1918 私有范围

范围 CIDR 地址数 典型用途
10.0.0.010.255.255.255 10.0.0.0/8 约1670万 大型企业、云
172.16.0.0172.31.255.255 172.16.0.0/12 约100万 中型网络
192.168.0.0192.168.255.255 192.168.0.0/16 65,536 家庭/小型办公

由于它们到处被重复使用,无法在公网上路由——路由器必须用 NAT 转换。

你会遇到的其他特殊范围

范围 名称 含义
127.0.0.0/8 回环 你自己的机器(localhost
169.254.0.0/16 链路本地(APIPA) DHCP失败时自动分配
100.64.0.0/10 CGNAT共享空间 路由器与ISP之间(CGNAT

更多内容见 特殊地址

NAT(网络地址转换)

家用路由器把内网多台设备(内网IP)映射到运营商分配的那一个 公网IP 上:

[电脑 192.168.0.10]─┐
[手机 192.168.0.11]─┼─[路由器 / NAT]──→ [公网IP 203.0.113.5] ──→ 互联网
[电视 192.168.0.12]─┘

让这一切对多台设备同时成立的关键是 端口转换(NAPT/PAT)。路由器改写每条出站连接的源IP和源端口,并在表中记住该映射,从而把回复送回正确的设备:

内部 → 在互联网上显示为
192.168.0.10:51000 203.0.113.5:40001
192.168.0.11:51000 203.0.113.5:40002

因此网站看到的是路由器的公网IP——也就是本站 首页 显示的地址——而非你电脑上的内网IP。

NAT会破坏什么(以及人们如何绕过)

由于连接必须从内部发起,NAT会悄悄阻断入站连接,这会影响:

IPv6基本终结了NAT

IPv6的地址空间极其庞大,每台设备都能拥有自己的全球唯一地址,从而免去了对NAT的需要(访问控制仍由防火墙负责)。在漫长的迁移期内,大多数网络同时运行IPv4与IPv6。见 IPv6 与 IPv4

检查你是否在NAT之后

比较你的两个地址。如果本地IP落在RFC 1918范围内,而 首页 显示的是另一个公网IP,那么你就在NAT之后(几乎人人如此)。

# Linux: 本地(内网)IP
ip -4 addr show
# Windows: 本地(内网)IP
Get-NetIPAddress -AddressFamily IPv4

备注: 如果路由器的WAN侧IP在 100.64.0.0/10,说明你的ISP正在使用CGNAT——你与其他用户共享一个公网IP,没有中继或付费静态IP就无法托管入站服务。

参考资料