IPv6 ULA 生成器
生成唯一的本地 IPv6 地址(fd00::/8),带随机 40 位全局 ID,并查看站点的 /48 前缀。
无需公网也能有私有 IPv6。 在 fd00::/8 范围内创建唯一本地地址。随机的 40 位全局 ID 保证各站点前缀不冲突,再用 64 位接口 ID 补足。本地使用密码学随机生成。
生成唯一的本地 IPv6 地址(fd00::/8),带随机 40 位全局 ID,并查看站点的 /48 前缀。
无需公网也能有私有 IPv6。 在 fd00::/8 范围内创建唯一本地地址。随机的 40 位全局 ID 保证各站点前缀不冲突,再用 64 位接口 ID 补足。本地使用密码学随机生成。
唯一本地地址(ULA)是 IPv6 版的 RFC 1918 私有地址:可以在自己网络内部路由,但没有任何运营商会把它转发到公网。RFC 4193 为此保留了 fc00::/7,并划分为两半。目前只有 fd00::/8 被定义为通用用途,其中 40 位全局 ID 由需要该前缀的人自行随机选取。另一半 fc00::/8 原本预留给某个集中分配机构,但该注册机构从未建立,因此实际见到的 ULA 都以 fd 开头。
结构是固定的:8 位 fd,接 40 位全局 ID,再接 16 位子网 ID,最后是 64 位接口标识符。前 48 位合起来就是你这个站点拥有的前缀,这也是 ULA 生成器给出的是一个 /48 而不是单个地址的原因。
那 40 个随机位是防止冲突的全部机制。如果你挑一个好记的前缀,比如 fd00:1:: 或 fd12:3456:789a::,那么别人同样会觉得它好记——一旦你需要合并网络、与合作方建立 VPN,或者并购一家公司,冲突风险就不再是理论问题。在 2^40 种可能中做一次真正随机的选择,两个站点撞车的概率可以忽略不计。
本生成器的 40 位来自浏览器的密码学随机源,因此结果不可预测且属于你自己。注意地址本身并不是秘密——随机性的目的是避免冲突,而不是隐藏什么。
16 位子网 ID 给你 65536 个 /64 网络。在 IPv6 中,/64 是单个局域网段的标准尺寸,不应再往下细分;SLAAC、隐私地址等多种机制都假定主机位是 64 位。这里不要试图省着用。IPv6 的地址空间足够充裕,把子网 ID 映射到有意义的维度上——每个 VLAN 一个、每个站点一个、每个环境一个——远比节省一辈子也用不完的地址空间更有价值。
最后,ULA 并不能取代全局地址。通行做法是让它与全局可路由地址并存,这样即使 ISP 分配的前缀发生变化,内部服务的编址依然稳定。