家宽获得「静态」IPv6 地址
内容提要
本文介绍在OpenWRT下通过DHCPv6 Prefix-Length Hint固化公网IPv6网段的方法:记录wan_6接口分配的IPv6-PD网段,编辑wan6接口,将请求地址设为try、请求前缀填入该网段,并勾选重启时不释放。核心是reqprefix配置,会转为odhcp6c的-P参数。重启后若运营商支持,PD网段保持不变,可降低DDNS失效概率,但长期停电后仍可能被回收。
延伸解读
为什么运营商给的 IPv6 网段会变
文章指出,设备拨号后通过 DHCPv6 获取地址,ISP 除了分配 /64 地址,还会用 Prefix Delegation 分配独立网段。不同运营商、不同地区配置不同:上海电信给 /56,山东联通给 /60,中国移动常见 /60,也有 /64 的情况。这种动态分配导致设备重启后网段可能变化,进而影响依赖固定地址的服务。
Prefix-Length Hint 如何实现“静态”效果
核心是在 OpenWRT 的 wan6 接口中设置 reqprefix 参数,填入之前记录的 IPv6-PD 网段,并勾选重启时不释放。该配置会转为 odhcp6c 的 -P 参数,向运营商发送 DHCPv6 Prefix-Length Hint。若运营商支持,重启后会优先分配指定网段,从而降低地址变动概率。
“静态”并非永久,长期停电仍可能丢失
文章强调,这种“静态”是打引号的。运营商首次分配后,设备重启并携带 Hint 会优先获得原网段,前提是该网段未被分配给其他设备。但若所在地区长时间停电,PD 网段可能被回收并分配给他人,届时无法要回。因此它只能减少变动,不能保证永久固定。
实际价值与部署建议
该方法能降低因地址更新导致 DDNS 失效的概率,适合需要稳定公网 IPv6 网段的场景。文章建议条件允许时开启,并认为如果开启的人多了,会形成事实部署,运营商也就不会轻易取消该功能。但需注意,其效果取决于运营商是否支持 Prefix-Length Hint。
Q&A
如何在OpenWRT上固定公网IPv6网段?
在OpenWRT上,先记录wan_6接口的IPv6-PD网段,然后编辑wan6接口,将Request IPv6-address设为try,Request IPv6-prefix填入记录的网段,并勾选Do not send a Release when restarting。保存后重启网络服务即可。
DHCPv6 Prefix-Length Hint是什么?
DHCPv6 Prefix-Length Hint是一种技术,允许客户端在请求IPv6前缀时提示运营商希望获得的特定前缀,从而在重启后尽可能保持相同的IPv6-PD网段。
为什么运营商分配的IPv6地址重启后会变?
因为运营商通过DHCPv6动态分配IPv6地址和PD网段,设备重启时如果没有发送Prefix-Length Hint,运营商会重新分配,可能导致地址变化。
reqprefix配置在OpenWRT中有什么作用?
reqprefix配置用于指定请求的IPv6前缀,它会转换为odhcp6c的-P参数,发送DHCPv6 Prefix-Length Hint信息,从而请求特定的PD网段。
固定IPv6网段后,地址是否永久不变?
不是永久的。在大多数情况下,设备重启后运营商会优先分配指定网段,但长时间停电可能导致网段被回收并分配给其他设备,从而无法要回。
固定IPv6网段对DDNS有什么好处?
固定IPv6网段可以降低因地址更新导致DDNS失效的概率,因为地址不太会变,DDNS记录无需频繁更新。