⌘/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 的价值在“稳定”。生成后建议记录在网络文档里,并长期沿用,避免频繁更换造成地址与规则混乱。