快用工具
⌘/Ctrl K

IPv6 ULA 是什么?如何生成 fdxx:xxxx:xxxx::/48(家庭/内网自建 IPv6)

2026-01-08

返回列表

在家庭网络、实验室或公司内网自建 IPv6 时,你经常会遇到一个问题:

  • 我想给内网设备分配 稳定 的 IPv6 地址
  • 但又不想依赖运营商下发的公网前缀(可能会变)
  • 也不希望跟其它网络冲突

这时就轮到 IPv6 ULA(Unique Local Address) 登场了。

1. ULA 是什么?

ULA 可以理解为 IPv6 里的“私有地址段”,用于站点内部/内网通信,不要求在公网可路由。

  • ULA 前缀通常以 fd 开头(例如 fd12:3456:789a::/48
  • 常见做法是生成一个 /48 的站点前缀,再从中切出多个 /64 子网给不同 VLAN/网段使用

提醒:ULA 不是公网前缀。你的内网如果需要访问互联网,通常仍需要有公网 IPv6 前缀或使用 NAT64/代理等方案。

2. 为什么常用 /48?/48 与 /64 的关系

IPv6 里,一个标准子网通常是 /64(用于 SLAAC、邻居发现等)。

如果你有一个 /48

  • 前 48 位是站点前缀
  • 你还剩下 16 位可以做子网号
  • 也就是可以切出 $2^16=65536$ 个 /64 子网

举例:

站点前缀: fd12:3456:789a::/48
子网 1:   fd12:3456:789a:0001::/64
子网 2:   fd12:3456:789a:0002::/64
...

3. 用本站工具生成 ULA(最省事)

打开工具页:/tools/ipv6-ula-generator

工具会让你输入一个 MAC 地址(例如 20:37:06:12:34:56),然后输出:

  • 一个 /48 的 ULA 前缀(形如 fdxx:xxxx:xxxx::/48
  • 以及示例的第一个 /64 与最后一个 /64

这样你可以直接把 /48 配到路由器/网关,并从中规划你的各个内网子网。

4. 示例:把生成的前缀用于家庭路由

假设工具输出:

fdab:cdef:1234::/48

你可以规划:

  • fdab:cdef:1234:10::/64 给主网
  • fdab:cdef:1234:20::/64 给访客网
  • fdab:cdef:1234:30::/64 给 IoT 设备

具体配置方式取决于你的路由器系统(OpenWrt、RouterOS、pfSense 等),但“/48 站点前缀 + 多个 /64 子网”的思路通用。

5. 常见坑与建议

5.1 不要把 ULA 当公网地址

ULA 不用于公网可路由。外部访问你的内网服务,依然需要公网 IPv6 前缀(或通过反向代理/隧道)。

5.2 内网解析(DNS)要统一

建议你的内网 DNS 同时提供:

  • ULA 地址(稳定)
  • 公网 IPv6(如有)

客户端会根据可达性选择最合适的路径。

5.3 生成一次后就固定用

ULA 的价值在“稳定”。生成后建议记录在网络文档里,并长期沿用,避免频繁更换造成地址与规则混乱。