公网 IP、私网 IP、回环地址和保留地址有什么区别?
简化版
公网 IP 可以在互联网中全局路由,私网 IP 只能在内网使用,不能直接在公网路由。常见私网地址段是 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。回环地址 127.0.0.0/8 用于本机通信,最常见是 127.0.0.1。链路本地地址 169.254.0.0/16 常见于 DHCP 获取失败后的自动配置。内网主机访问公网通常需要 NAT,把私网地址转换成公网地址。
详细版
公网 IP 是互联网范围内唯一且可路由的地址,路由器可以根据全球路由表把报文送到对应网络。私网 IP 是专门预留给局域网使用的地址,不会出现在公网路由表中,多个公司或家庭都可以重复使用同一段私网地址。
| 类型 | 常见地址段 | 作用 |
|---|---|---|
| 公网 IP | 运营商分配的可路由地址 | 互联网通信 |
| 私网 IP | 10/8、172.16/12、192.168/16 | 内网通信 |
| 回环地址 | 127/8 | 本机访问本机 |
| 链路本地地址 | 169.254/16 | 本地链路自动配置 |
| 默认路由 | 0.0.0.0/0 | 表示所有未知目的地 |
面试要强调:私网 IP 不能直接被公网访问,通常依靠 NAT/PAT 共享公网出口;回环地址不经过真实网卡;0.0.0.0 在不同上下文中含义不同,作为监听地址表示监听所有本机网卡,作为路由前缀 0.0.0.0/0 表示默认路由。
完整版教学
一、公网 IP:互联网里可全局路由的地址
公网 IP 的核心特点是全局唯一、可在互联网路由。如果一台服务器有公网 IP,互联网中的其他主机理论上可以通过路由把报文送到这个地址所在的网络。
公网 IP 通常由运营商、云厂商或地址分配机构层层分配。面试里可以这么答:
- 公网 IP 能出现在互联网路由表中;
- 公网 IP 通常需要避免地址冲突;
- 对外提供服务的服务器、负载均衡、网关通常需要公网 IP 或公网入口。
公网 IP 不等于一定安全可访问。安全组、防火墙、ACL、端口监听状态都会影响最终能不能连上。
二、私网 IP:内网可重复使用,但不能直接上公网
私网地址段是为局域网保留的,常见三段必须熟悉:
| 私网地址段 | 地址范围 | 常见场景 |
|---|---|---|
| 10.0.0.0/8 | 10.0.0.0 - 10.255.255.255 | 企业内网、云 VPC |
| 172.16.0.0/12 | 172.16.0.0 - 172.31.255.255 | 容器网络、企业内网 |
| 192.168.0.0/16 | 192.168.0.0 - 192.168.255.255 | 家庭路由器、小型局域网 |
私网地址不会在公网路由表中传播。你家里可以用 192.168.1.10,公司也可以用 192.168.1.10,因为它们处在不同私有网络里,不需要全球唯一。
私网 IP 的关键词是“内网有效、可重复使用、公网不可路由”。
三、为什么私网主机能访问互联网:NAT 做了转换
私网 IP 不能直接在公网路由,那为什么电脑使用 192.168.1.100 也能访问网站?因为出口路由器或网关做了 NAT/PAT。
内网主机 192.168.1.100:53000
|
| NAT 转换
v
公网出口 203.0.113.10:40001 -> 互联网服务器
返回包到达公网出口后,NAT 设备根据映射表把目的地址和端口改回内网主机。这个过程解决了 IPv4 地址不足的问题,也让大量内网设备共享少量公网 IP。
但 NAT 不等于防火墙。它会改变连接可达性,却不是完整安全策略。真正的访问控制还要看防火墙规则、安全组、端口开放和应用认证。
四、回环地址:127.0.0.1 为什么表示本机
127.0.0.0/8 是 IPv4 回环地址段,最常用的是 127.0.0.1,也就是 localhost。访问回环地址时,报文不会从真实网卡发出去,而是在本机协议栈内回到本机。
常见用途:
- 本地开发服务监听
127.0.0.1:3000,只有本机能访问; - 测试 TCP/IP 协议栈是否正常;
- 应用之间在同一台机器上通信。
如果服务只监听 127.0.0.1,局域网其他机器访问不了;如果监听 0.0.0.0,通常表示监听本机所有网卡地址。
五、169.254、0.0.0.0 和 255.255.255.255
除了公网和私网,面试还常追问几个特殊地址:
| 地址 | 含义 |
|---|---|
| 169.254.0.0/16 | 链路本地地址,常见于 DHCP 失败后的自动配置 |
| 0.0.0.0 | 可表示未知地址、监听所有地址或默认路由,取决于上下文 |
| 0.0.0.0/0 | 默认路由,匹配所有目的地址 |
| 255.255.255.255 | 受限广播地址,只在本地链路广播 |
例如 Linux 服务监听:
127.0.0.1:8080 -> 只允许本机访问
0.0.0.0:8080 -> 监听所有本机网卡
这类细节经常出现在“为什么本机能访问,别人访问不了”的排障题里。
六、对外暴露服务时要分清地址层级
部署服务时,常见链路是:
用户 -> 公网IP/域名 -> 负载均衡/网关 -> 私网IP服务器 -> 应用进程
如果外部访问失败,需要分层检查:
- DNS 是否解析到正确公网入口;
- 公网入口是否开放对应端口;
- 安全组或防火墙是否允许访问;
- 网关是否能转发到后端私网 IP;
- 应用是否监听正确地址和端口。
只看到服务器有 10.x.x.x 地址,并不代表外网能访问它;它很可能只是内网地址,需要公网入口或 NAT/负载均衡配合。
七、常见误区与追问
- 误区:私网 IP 在互联网中也是唯一的。 私网地址可以被不同内网重复使用,不能直接在公网路由。
- 误区:有公网 IP 就一定能访问服务。 还要看防火墙、安全组、路由、端口监听和应用状态。
- 误区:127.0.0.1 会经过真实网卡。 回环地址在本机协议栈内完成通信,不从真实网卡发出。
- 误区:0.0.0.0 总是表示一个真实主机。 它在监听、路由、地址配置等上下文中含义不同。
- 追问:为什么内网 IP 能访问公网? 出口设备通过 NAT/PAT 把私网地址和端口映射成公网地址和端口。
- 追问:服务监听 127.0.0.1 和 0.0.0.0 有什么区别? 前者只接受本机访问,后者通常监听本机所有网卡地址。
八、加强记忆
公网 IP 负责互联网可路由,私网 IP 负责内网可重复使用,NAT 负责把私网流量转换到公网出口。10/8、172.16/12、192.168/16 是三段常见私网地址;127/8 是回环地址;169.254/16 常见于自动链路本地地址;0.0.0.0/0 是默认路由。面试答题时把“能不能路由”“是否经过真实网卡”“是否需要 NAT”三个问题说清楚,就能覆盖大部分追问。