正在加载,请稍候…

IPv6 ULA 生成器:为私有网络创建唯一本地地址

生成 IPv6 唯一本地地址 (ULA) 用于私有网络。了解 fd00::/8 地址空间及其在组织内部网络中的应用。

IPv6 ULA 生成器:为私有网络创建唯一本地地址

理解 IPv6 唯一本地地址

IPv6 唯一本地地址 (ULA) 是 IPv4 私有地址(10.x.x.x、172.16.x.x、192.168.x.x)的 IPv6 等价物。它们设计用于私有网络和组织内部,不会在公共互联网上路由。

IPv6 ULA 生成器:为私有网络创建唯一本地地址 插图

ULA 地址结构

ULA 地址位于 fc00::/7 前缀范围内,具体为:

  • fd00::/8 — 本地分配(最常见)
  • fc00::/8 — 保留用于未来集中分配

完整的 ULA 地址结构如下: fd | 全局 ID (40 位) | 子网 ID (16 位) | 接口 ID (64 位)

全局 ID 按组织随机生成,无需中央协调即可提供统计上的唯一性。

为什么需要 ULA

IPv6 拥有 340 万亿亿个可能的地址,为什么还需要私有地址范围?ULA 服务于特定目的:

稳定性

ULA 地址不受 ISP 或网络变化影响,保持稳定。与链路本地地址不同,ULA 在重启和网络重新配置后仍然存在。

私有通信

不应公开访问的服务(数据库服务器、内部 API、管理接口)应绑定到无法从互联网访问的地址。

IPv6 ULA 生成器:为私有网络创建唯一本地地址 插图

多网络场景

拥有多个站点的组织可以使用 ULA 进行站点间 VPN 连接。每个组织使用唯一的全局 ID 可防止网络合并时发生地址冲突。

ULA 与其他 IPv6 地址类型对比

属性 链路本地 ULA 全局单播
范围 仅单个链路 组织范围 全球互联网
持久性
ISP 分配
子网间可路由 是(组织内)
互联网可路由

生成 ULA 地址

RFC 4193 生成 ULA 全局 ID 的算法:

  1. 获取当前时间作为 64 位 NTP 时间戳
  2. 与生成系统的 EUI-64 标识符拼接
  3. 计算 SHA-1 哈希
  4. 使用最低 40 位作为全局 ID

这种方法确保统计上的唯一性,无需中央注册。两个随机生成的 40 位 ID 冲突的概率极低——对于任何实际部署都是可接受的。

实际 IPv6 网络设置

IPv6 ULA 生成器:为私有网络创建唯一本地地址 插图

家庭/小型办公室网络

一个 /48 ULA 前缀提供 65,536 个可能的 /64 子网:

  • 主网络:第一个 /64 子网
  • IoT 设备:第二个 /64 子网
  • 访客网络:第三个 /64 子网

企业多站点

不同的子网块可以分配给同一 /48 内的不同站点,实现清晰的寻址层次,同时保持组织凝聚力。

在常见平台上配置 ULA

ULA 地址可以通过 networkd 或 ifconfig 在 Linux 上静态配置,通过 Router Advertisement daemon (radvd) 通告,用于 Docker IPv6 网络,以及通过 PowerShell 在 Windows 上设置。大多数现代操作系统和网络设备完全支持 ULA 寻址。

ULA 与 IPv6 理念

与 IPv4 NAT(将私有地址隐藏在公共 IP 后面)不同,IPv6 理念倾向于端到端连接,配合适当的防火墙策略。大多数支持 IPv6 的设备是双栈的(同时拥有 ULA 和全局单播地址),根据目标使用合适的地址。

ULA 地址在互联网边界被过滤——具有 ULA 源或目标地址的数据包会被正确配置的路由器丢弃,提供类似于 IPv4 中 RFC 1918 的安全边界。

使用 ULA 生成器

我们的 ULA 生成器工具:

  1. 生成加密随机的全局 ID,遵循 RFC 4193
  2. 创建完整的 /48 前缀,准备进行子网分配
  3. 显示单个 /64 子网,根据您选择的子网数量
  4. 生成完整的接口地址,带有随机主机部分
  5. 以标准表示法复制,可直接用于配置

在您的网络、家庭实验室和容器化环境中使用 ULA 进行稳定、私有的 IPv6 寻址。