关于从路由器 DHCPv6 获取动态 IPv6 的租期问题

2023-03-02 11:43:52 +08:00
 wayne630

最近在折腾 IPv6 。

我这里的宽带是 48 小时强制掉线一次,然后路由器重新拨号后,获取到的 IPv4 、IPv6 地址都肯定会改变。v4 倒没什么,因为有 NAT ,内网地址是固定的。但 v6 的话,假如内网机器的 DHCP 租约还没到期,但 v6 前缀因为重新拨号改变了,那么内网的设备岂不是无法上网?要等到 DHCP 到期已满续租后才能获取到新的 v6 前缀?

另外,istoreOS ( OpenWRT 换皮版),DHCP/DNS 里的静态地址分配,IPv6 后缀(十六进制)是如何填写的啊?我无论怎么填写都无法分配到静态后缀给指定的机器。

谢谢大家!

2709 次点击
所在节点    宽带症候群
17 条回复
wheat0r
2023-03-02 13:01:34 +08:00
一个办法是在 DHCP 信息变更之后快速重启一次物理接口,一些路由器修改 dhcp 配置之后所有终端都会掉线一次,可能就是用来强制刷新的
Marionic0723
2023-03-02 13:09:46 +08:00
第一个问题同蹲解决方案,第二个是 1234 5678 9ABC DEF0 (不包含空格),写满 16 个字符,这样就能分配指定后缀,
2001:DB8::1234:5678:9ABC:DEF0
acbot
2023-03-02 13:12:40 +08:00
IPv6 DHCP 租期的问题是根据经验猜的还是实际就是有这个问题。至于 DHCP 静态后缀的问题,我记得 OP 默认使用 v4 的后缀, 比如: DHCP v4 固定为 192.168.1.100 那么 DHCP v6 不做任何配置,地址的后缀好像就是 :100
raysonx
2023-03-02 13:14:59 +08:00
第一个问题,关闭 DHCPv6 ,使用 SLAAC 即可解决
jfdnet
2023-03-02 13:18:22 +08:00
对外用 DDNS 绑定个域名不就好了。对内设备都是自动获取不用管。
lentrody
2023-03-02 14:30:47 +08:00
我用的 Padavan ,有时下面的设备会同时有两个 IPv6 前缀的地址,但也能正常上网。
可能你指定的设备不支持 DHCPv6 ?或者直接用 SLAAC 自己计算 EUI64 后缀就行吧,有啥必要手动指定么。
lcy630409
2023-03-02 14:49:32 +08:00
第一个问题 我的做法是 将 v6 的租期设置为 10 分钟
a0210077
2023-03-02 15:40:53 +08:00
我关掉 DHCPv6 ,仅打开 SLACC
1 、安卓设备不支持 DHCPv6 ,开了也没用
2 、Windows 设备会同时用两种方式分别获取 ipv6 地址(共 4 个,其中 2 个临时),用哪个随缘,一旦用了 DHCPv6 分配的无效地址,ipv6 直接跪了
rebecca554owen
2023-03-02 16:50:56 +08:00
ipv6 可以放弃 DHCPv6 了,用 slaac 。前缀变更也能解决,不会断网。
a90405
2023-03-02 18:28:24 +08:00
ipv6 关掉 dhcpv6 是比较好的解决办法,反正我这里是关了
kome
2023-03-02 19:17:02 +08:00
我也头疼, 使出了一个比较残废的方法.
每天早晨 5 点整 ikuai 重新拨号, 然后 windows 加个执行时间在重新拨号后 5 分中的脚本. 脚本需要使用 powershell, 如下:
```
Disable-NetAdapterBinding -Name "WLAN2" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Name "WLAN2" -ComponentID ms_tcpip6
Disable-NetAdapterBinding -Name "以太网" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Name "以太网" -ComponentID ms_tcpip6

echo "123"
```
"WLAN2"和"以太网"是网络适配器在系统里的名字, 脚本执行就是"powershell 脚本绝对路径"
a90405
2023-03-02 19:20:10 +08:00
分配固定的 ipv6 后缀,需要 duid ,这个 18.06 的老皮 openwrt luci 没有这个项目,需要直接编辑 dhcp 配置文件。
dude4
2023-03-03 17:53:29 +08:00
dhcpv6 默认不是分配::1 后缀么,实际操作就是最后几位和 V6 局域网分配地址一样,譬如某个客户端 V4 是 192.168.1.55
V6 就是 xx:xx:xx:xx::55
分配方式是在客户端指定的,不是服务器端,可以指定譬如 eui64 的方式,linux distro 就是取消 privacy 什么的,这样后 64 位就按你网卡 mac 生成了,后缀带 ff:fe ,如果看到带这种后缀的可以反推设备网卡的生产厂商,不过大部分普通用户没什么影响

你说的 V6 续期 op 貌似有人提到是 BUG ,绕弯解决是……如楼上所述关 DHCPV6/把有效期设置短于变动期 /检测脚本检测到 V6 变化就 ifup LAN 端口
wayne630
2023-03-03 19:05:48 +08:00
我现在是把 DHCP 租期设置为 1 分钟……暂时“完美”解决
flynaj
2023-03-12 11:11:14 +08:00
@wayne630 把有效期设置短问题更多,我用的是定时重拨,每两天凌晨重拨一下,没有遇到过问题。
tonyshao319
330 天前
@wayne630 在哪设置啊
zapan
265 天前
@Marionic0723 第二个有个好办法是用反向掩码: `::bf0/::ffff:ffff:ffff:ffff`

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/920429

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX