IPv6 使用无状态长时间后会获得多个地址,求解决方法

2023-03-31 22:09:26 +08:00
 kimigaooo
op 目前使用光猫+ikuai 的组合,ikuai 拨号,ipv6 分配方式为无状态
当宽带重新拨号获取到新 IP 后,就会在设备里( iOS/Mac/openwrt )看到多个 ipv6 地址,应该是旧地址还没到期,此时就会无法正常访问 ipv6 服务
当使用有状态分配 ipv6 ,租期设置很短( 10 分钟),则基本不会出现 ipv6 无法使用的问题,重新拨号后可以立即更新 ipv6 地址
不清楚这种现象是 ikuai 的 bug 还是 ipv6 尚不完善,有经验的大佬可以说一下吗
3630 次点击
所在节点    宽带症候群
20 条回复
LisaSue
2023-03-31 22:11:11 +08:00
爱快的问题,ra 间隔太长了,我是有状态租期设置成 3 分钟
kimigaooo
2023-03-31 22:13:34 +08:00
@LisaSue 可是有状态安卓设备会不支持,同时我用的 quantumultX 也会无法测试 ipv6 服务器延迟(连接是正常的)非常奇葩……
LisaSue
2023-03-31 22:30:21 +08:00
![iwXwSV.png]( https://i.328888.xyz/2023/03/31/iwXwSV.png)
看看我的,我最依赖 ipv6 的服务是 pt,没有断过.但是我们这里 30 天局端才踢下线所以也没太关心.
看看这个:https://v2ex.com/t/915393
lo0pback
2023-03-31 22:38:52 +08:00
这个其实 rfc9096 已经规定了,只是当前很多设备都不支持,我在 RouterOS 7.9 的更新日志中看到已经可以支持自动通告取消失效前缀了。
Xymmh
2023-03-31 22:45:40 +08:00
前缀本来就应该是不变的,是运营商的问题
kimigaooo
2023-03-31 22:46:51 +08:00
@LisaSue 多谢分享,看了一下似乎 openwrt 对 ipv6 的支持比 ikuai 好,可以设置 ra 时间。另外请问你用有状态+无状态的分配方式不会出现更新 ip 后存在多个 v6 的情况吗?我在无状态 /有状态+无状态都有这个情况。。
kimigaooo
2023-03-31 22:48:28 +08:00
@Xymmh 我这里是广州电信,公网 ipv4+v6 ,不太清楚其他地方是不是
kimigaooo
2023-03-31 22:49:54 +08:00
@lo0pback 看看这个问题什么时候能修复。。
crysislinux
2023-03-31 22:55:46 +08:00
我是写了个脚本读 xray 日志。发现不通就重启 wan6 。
beyondgamp
2023-03-31 22:56:38 +08:00
关注 ipv6
LisaSue
2023-03-31 23:01:41 +08:00
没出现过,要不然你看看 openwrt 中 ra&dhcpv6&ndp 代理这三个有没有关掉,虽然在 openwrt 里关了 dhcp,这仨依然要手动关.
LisaSue
2023-03-31 23:02:47 +08:00
https://www.right.com.cn/forum/thread-8277247-1-1.html
隔壁论坛有个这个,如果想用 op 下发 v6 的话可以参考前半段.
kimigaooo
2023-03-31 23:11:28 +08:00
@LisaSue 这个确实是个好办法,ipv6 防火墙也有了,感谢分享~
cwbsw
2023-03-31 23:34:28 +08:00
@lo0pback 我从三年前刚入手他们家设备就发邮件反馈过这个问题了,直到现在设备都卖了他们终于开始修了。
fengyaochen
2023-04-01 00:17:38 +08:00
用有状态,然后 socat 转发内网
lo0pback
2023-04-01 01:04:21 +08:00
@cwbsw 不错了,起码修复了,我现在用的华为 AR 路由器还没这种机制。连 PD 前缀的 Vaild Time 都没法改
fastcache
2023-04-01 17:12:15 +08:00
@lo0pback 好像能拨号的光猫都有这个机制?
lo0pback
2023-04-02 01:07:46 +08:00
@fastcache 这个没注意过,我是用猫棒,没用光猫。
huaxie1988
2023-05-13 16:52:47 +08:00
禁用 dhcpv6 ,使用 slaac 然后再禁用 na
uci set dhcp.lan.dhcpv6='server'
uci set dhcp.lan.ra='server'
uci set dhcp.lan.ra_flags='other-config'
uci set dhcp.lan.dhcpv6_na='0'
uci set dhcp.lan.ra_useleasetime='1'
uci set dhcp.lan.preferred_lifetime='1h'
uci commit
/etc/init.d/odhcpd restart
然后再建个脚本解决重启不通告前缀失效的问题
在 init.d 目录新建个文件,例如 wandown ,内容如下

#!/bin/sh /etc/rc.common

STOP=80

USE_PROCD=1

stop_service() {
ifdown wan
sleep 1
}

然后给该文件加上运行权限
chmod +x /etc/init.d/wandown
允许该脚本
/etc/init.d/wandown enable
然后关闭 odhcpd 前 wan 口会先被关闭,odhcpd 就会发 preferred_lifetime 为 0 的 ra 给下方设备让 ip 前缀失效。
kimigaooo
2023-05-13 20:22:11 +08:00
@huaxie1988 大佬这个是 openwrt 的配置吧,我目前用的是 ikuai 做主路由

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

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

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

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

© 2021 V2EX