跳转到内容

🔒 私有网络与 RFC 1918:内网空间的划分与隔离

🌱 创建: 2026/04/01 ⏱️ 更新: 2026/05/22

在互联网的浩瀚星图中,并非每一个节点都直接暴露在公共视野之下。为了延缓 IPv4 地址的枯竭,并为企业和家庭网络提供天然的安全隔离,IETF 在 RFC 1918 标准中划定了一片特殊的“自留地”——私有网络(Private Network)

使用私有 IP 地址的设备可以在局域网内部自由通信,但这些地址绝对不会被互联网上的核心骨干路由器所转发。本指南将全面解析私有网段的架构及其与外部世界通信的底层逻辑。


在早期的互联网设计中,每台连网设备都需要一个全球唯一的公网 IP。但随着设备的爆炸式增长,约 43 亿个 IPv4 地址很快捉襟见肘。

为了解决这个问题,网络工程师们提出了一种“内部复用”的思路: 如果一个网络环境(如企业大楼、数据中心、家庭)内部的设备绝大多数时间只是互相通信,或者只是单向请求外网资源,那么它们完全可以共享一套内部专用的“假地址”。只要保证在这个物理隔离的区域内地址不冲突即可。这就催生了私有 IP 地址空间。


IANA(互联网号码分配局)在全球 IPv4 地址空间中,预留了三个连续的地址块,专供私有网络免费使用。任何组织或个人都可以在自己的局域网内部署这些网段,无需向任何机构申请。

admin@tech-fortress:~# cat /etc/network/rfc1918_zones.conf
网络类别 (分类法遗留)CIDR 路由前缀IP 地址范围可容纳的 IP 总数典型工程部署场景
A 类块 (24 位块)10.0.0.0/810.0.0.0 - 10.255.255.255$16,777,216$大型跨国企业、云服务商的 VPC 底层网络、SD-WAN 全局组网。
B 类块 (20 位块)172.16.0.0/12172.16.0.0 - 172.31.255.255$1,048,576$中型园区网、Docker 容器的默认桥接网络(如 172.17.0.0/16)。
C 类块 (16 位块)192.168.0.0/16192.168.0.0 - 192.168.255.255$65,536$小型办公室、家用路由器默认分配池(常进一步划分为 /24 子网)。

工程准则:在规划复杂的网络拓扑时,强烈建议不要在所有子网中默认使用 192.168.1.0/24192.168.0.0/24。这会导致未来建立 VPN 隧道或跨网段路由时发生严重的 IP 冲突。推荐使用 10.x.y.0/24172.x.y.0/24 进行更具层次化的网段划分。


既然私有 IP 地址在互联网上是“不可路由”的(运营商的路由器看到目标地址是 192.168.x.x 会直接丢弃数据包),那么私有网络内的设备是如何访问网页或下载数据的呢?

这依赖于网关路由器上的核心技术:NAT(Network Address Translation,网络地址转换)

现代路由器普遍使用的是 NAT 的一种变体:NAPT(Network Address and Port Translation,网络地址端口转换),也常被称为 PAT(端口地址转换)。它允许多个私网设备共享同一个公网 IP。

运作流程推演

  1. 发出请求:局域网内的主机 192.168.10.5 使用随机源端口 50123,向公网服务器的 80 端口发送请求。
  2. 网关拦截与转换:数据包到达网关路由器。路由器将其公网接口的 IP(如 203.0.113.50)和一个新的随机端口(如 60444)替换掉原本的源 IP 和源端口。
  3. 建立映射表:路由器在内存的 NAT 会话表中记录下这条映射关系:[192.168.10.5:50123] <--> [203.0.113.50:60444]
  4. 接收回包:公网服务器将响应数据发回给路由器的 203.0.113.50:60444
  5. 反向转换:路由器查阅 NAT 会话表,将目标地址和端口重新修改回 192.168.10.5:50123,并将数据包投递给局域网内的主机。

这一过程对内网主机和外网服务器都是完全透明的。


4. 延伸:运营商的“大内网”(CGNAT)

Section titled “4. 延伸:运营商的“大内网”(CGNAT)”

由于公网 IPv4 地址彻底耗尽,如今许多宽带运营商连一个公网 IP 都不再分配给终端用户,而是采用 CGNAT(Carrier-Grade NAT,运营商级 NAT,定义于 RFC 6598)

为了避免运营商的 NAT 网段与用户自己路由器的 RFC 1918 私有网段发生冲突,IANA 专门分配了一个新的共享地址空间供 CGNAT 使用:

  • CGNAT 保留网段100.64.0.0/10
  • 地址范围100.64.0.0 - 100.127.255.255

如果您的路由器 WAN 口获取到的 IP 地址落在这个范围内,说明您处于运营商的“大内网”中,经历了双重甚至多重 NAT。在这种环境下,传统的端口映射(Port Forwarding)将直接失效,需要依赖 IPv6 或内网穿透技术来实现外网访问。


在 IPv6 环境中,由于地址空间极其庞大,每一台设备都可以分配到一个全球单播地址(GUA,相当于公网 IP),原则上不再需要 NAT 来解决地址短缺问题。

但这并不意味着私有网络概念的消亡。为了满足企业内部网络隔离、以及在更换宽带运营商(导致全球前缀变化)时维持内网 IP 的稳定性,IPv6 引入了 唯一本地地址(Unique Local Address, ULA,定义于 RFC 4193)

  • ULA 路由前缀fc00::/7(在实际生成算法中,通常以 fd 开头)。
  • 特性:它等同于 IPv4 的 RFC 1918 私有地址,仅在特定站点或局域网内可路由,公共互联网的路由器会拒绝转发目的地址为 ULA 的数据包。

通过为内网设备同时配置 GUA(用于访问外网)和 ULA(用于内网固定服务互访),可以构建出极其稳固且不依赖外部网络状态的基础架构。


  • RFC 1918: Address Allocation for Private Internets (私有互联网地址分配规范)
  • RFC 3022: Traditional IP Network Address Translator (传统 NAT 机制)
  • RFC 6598: IANA-Reserved IPv4 Prefix for Shared Address Space (CGNAT 网段规范)
  • RFC 4193: Unique Local IPv6 Unicast Addresses (IPv6 唯一本地地址规范)

最近更新: