lede icon indicating copy to clipboard operation
lede copied to clipboard

每5天电信释放ip后,自动重新拨号,WAN获取不到IPv6 PD地址然后断网,要手动点重新拨号才能正常上网,有什么很好的解决办法吗

Open eram9 opened this issue 2 years ago • 30 comments

每5天电信释放ip后,自动重新拨号,WAN获取不到IPv6 PD地址然后断网,要手动点重新拨号才能正常上网,有什么很好的解决办法吗

eram9 avatar Jan 03 '23 08:01 eram9

遇到了同样的问题,我这边自动重新拨号后没有自动添加 0.0.0.0/0 的默认路由导致无法上网,手动重新拨号才能正常上网

starryloki avatar Jan 03 '23 23:01 starryloki

我WAN口都是禁用IPv6

longxisutdio avatar Jan 04 '23 14:01 longxisutdio

我WAN口都是禁用IPv6

问一下wan口禁用ipv6会影响内网的ipv6吗?

starryloki avatar Jan 04 '23 14:01 starryloki

设置定期任务每5天(或者4天)运行“/sbin/ifup wan”,或者重启路由器都可以解决这个问题。

geniusyjiang avatar Jan 06 '23 17:01 geniusyjiang

这难道是一个bug,我最近也遇到这种问题了,移动宽带。

nkcfc avatar Jan 11 '23 16:01 nkcfc

联通也有这样情况 不过是隔3天

feifan1113 avatar Jan 13 '23 22:01 feifan1113

WAN设置里 高级设置 LCP 响应故障阈值 填个非0值 比如5 然后保存

MageDelfador avatar Jan 14 '23 10:01 MageDelfador

我WAN口都是禁用IPv6

问一下wan口禁用ipv6会影响内网的ipv6吗?

我没太注意。。。。。。平时我都不用Ip6 一长串地址 看了头晕

longxisutdio avatar Jan 16 '23 04:01 longxisutdio

设置定期任务每5天(或者4天)运行“/sbin/ifup wan”,或者重启路由器都可以解决这个问题。

我的感觉是网卡会掉驱动一样 我从后台日志看 网卡直接down了 然后直接又up 我也不知道是什么原因 然后换了普通的家用路由器 就不会自动断网 过几天假期再测试一下看看 感谢各位回复

longxisutdio avatar Jan 16 '23 04:01 longxisutdio

遇到了同样的问题,请问现在怎么样了啊

sss132919 avatar Jan 25 '23 22:01 sss132919

遇到同样的问题,请问现在怎么样了啊

自己编译官方源码的固件解决了

eram9 avatar Jan 26 '23 01:01 eram9

WAN设置里 高级设置 LCP 响应故障阈值 填个非0值 比如5 然后保存

这样设置不会断网了,但是设备过了租期就没法自动获取ipv6 设备要重连才能重新获取v6地址,不知道是什么原因

feifan1113 avatar Jan 26 '23 05:01 feifan1113

WAN设置里 高级设置 LCP 响应故障阈值 填个非0值 比如5 然后保存

这样设置不会断网了,但是设备过了租期就没法自动获取ipv6 设备要重连才能重新获取v6地址,不知道是什么原因

我猜可能是ipv6相关的软件包装的不对? luci-proto-ipv6 odhcp6c odhcpd-ipv6only ip6tables 我装的这4个,没有任何问题

MageDelfador avatar Jan 26 '23 05:01 MageDelfador

随手写的自动restart shell,貌似是linux 6内核有这个问题,以前5.15的没出现过

放到 /etc/hotplug.d/iface/99-ppp-wan

#!/bin/sh
[ "$INTERFACE" = wan ] || exit 0
[ "$ACTION" = ifdown ] || exit 0
echo "$(date) wan interface down, auto restarting" >> /var/log/restart-wan.log 2>&1
sleep 1s
ifup wan

顺便passwall开启ipv6可能也会有问题,可以自己在最后加/etc/init.d/passwall restart

xkelvinx666 avatar Jan 28 '23 07:01 xkelvinx666

用个WatchCat

rrkai avatar Feb 16 '23 11:02 rrkai

同上

yanxin152133 avatar Feb 20 '23 16:02 yanxin152133

我猜。。是不是WAN拨号设置里,“获取IPV6地址”选择“手动”了? 这里最好选择“自动”,用它自动生成的wan_6。不要选择手动然后自己配置wan6,这样会有各种问题 断网的看这个

WAN设置里 高级设置 LCP 响应故障阈值 填个非0值 比如5 然后保存

MageDelfador avatar Feb 20 '23 18:02 MageDelfador

我的wan6是关闭掉的

MageDelfador @.***> 于2023年2月21日周二 02:39写道:

我猜。。是不是WAN拨号设置里,“获取IPV6地址”选择“手动”了? 这里最好选择“自动”,用它自动生成的wan_6。不要选择手动然后自己配置wan6,这样会有各种问题 断网的看这个

WAN设置里 高级设置 LCP 响应故障阈值 填个非0值 比如5 然后保存

— Reply to this email directly, view it on GitHub https://github.com/coolsnowwolf/lede/issues/10718#issuecomment-1437417938, or unsubscribe https://github.com/notifications/unsubscribe-auth/A5CIYPU6RTBZJ4TWRKE2HHDWYO25JANCNFSM6AAAAAATPNQVBU . You are receiving this because you commented.Message ID: @.***>

longxisutdio avatar Feb 21 '23 02:02 longxisutdio

还有就是把WAN设置里的“使用默认网关”钩上,其他接口(如果有)不要勾。 还没解决的可以把自己的设置贴出来,先看看设置有没有问题

MageDelfador avatar Feb 21 '23 04:02 MageDelfador

计划任务中添加 0 4 * * * /sbin/ifup wan 每天凌晨4点重启wan口,重新拨号

moumou2014 avatar Mar 07 '23 16:03 moumou2014

他这个可不是每天只断一次 有时几分钟就断一次 有时会连续断 设备已经被我出掉了 又换回了锐捷的路由器。。。。。。。

moumou2014 @.***> 于2023年3月8日周三 00:26写道:

计划任务中添加 0 4 * * * /sbin/ifup wan 每天凌晨4点重启wan口,重新拨号

— Reply to this email directly, view it on GitHub https://github.com/coolsnowwolf/lede/issues/10718#issuecomment-1458459869, or unsubscribe https://github.com/notifications/unsubscribe-auth/A5CIYPRIGHJVUMVEXX3PVW3W25OUBANCNFSM6AAAAAATPNQVBU . You are receiving this because you commented.Message ID: @.***>

longxisutdio avatar Mar 09 '23 00:03 longxisutdio

我用的原版openwrt22.03.5也有这个问题,搜索到这里来了 目前来看是因为pppoe被踢下线重拨时,wan_6还在,然后新的pppoe连上之后wan_6才断,导致的默认路由没了,而且新的wan_6也不会出来,直接无了

lialosiu avatar Jun 12 '23 03:06 lialosiu

我用的原版openwrt22.03.5也有这个问题,搜索到这里来了 目前来看是因为pppoe被踢下线重拨时,wan_6还在,然后新的pppoe连上之后wan_6才断,导致的默认路由没了,而且新的wan_6也不会出来,直接无了

我也碰到了,应该是软件逻辑有问题,wan_6是wan生成的虚拟接口,在wan口断线后应该立刻被清除。 现在的问题是wan_6还没来得及清除,wan已经又连上了,就出问题了。

ATang007ZH avatar Mar 23 '24 03:03 ATang007ZH

解决了,这是一个配置问题。 参考了https://www.right.com.cn/forum/thread-8289799-1-1.html 后,

在wan口上 获取ipv6地址 选择 已禁用(最好也把v6内置管理关了? 这个作用不明确) image

然后在wan6上,请求ipv6地址 设置为 disabled。 指定长度设置为自动

实测这样在手动刷新wan口模拟自动拨号后,第一时间就拿到了ipv6-pd image

建议看到邮件的各位试试看

Elec4d0 avatar Apr 06 '24 00:04 Elec4d0

解决了,这是一个配置问题。 参考了https://www.right.com.cn/forum/thread-8289799-1-1.html 后,

在wan口上 获取ipv6地址 选择 已禁用(最好也把v6内置管理关了? 这个作用不明确) image

然后在wan6上,请求ipv6地址 设置为 disabled。 指定长度设置为自动

实测这样在手动刷新wan口模拟自动拨号后,第一时间就拿到了ipv6-pd image

建议看到邮件的各位试试看

搞来搞去,发现没那么复杂,广东电信pppoe,直接把wan6删掉就行了。没有任何影响

sss132919 avatar Apr 06 '24 07:04 sss132919

解决了,这是一个配置问题。 参考了https://www.right.com.cn/forum/thread-8289799-1-1.html 后, 在wan口上 获取ipv6地址 选择 已禁用(最好也把v6内置管理关了? 这个作用不明确) image 然后在wan6上,请求ipv6地址 设置为 disabled。 指定长度设置为自动 实测这样在手动刷新wan口模拟自动拨号后,第一时间就拿到了ipv6-pd image 建议看到邮件的各位试试看

搞来搞去,发现没那么复杂,广东电信pppoe,直接把wan6删掉就行了。没有任何影响

删掉wan6能拿到 v6-pd吗? 我之前就是只有wan,只给v6没有pd

Elec4d0 avatar Apr 06 '24 07:04 Elec4d0

解决了,这是一个配置问题。 参考了https://www.right.com.cn/forum/thread-8289799-1-1.html 后, 在wan口上 获取ipv6地址 选择 已禁用(最好也把v6内置管理关了? 这个作用不明确) image 然后在wan6上,请求ipv6地址 设置为 disabled。 指定长度设置为自动 实测这样在手动刷新wan口模拟自动拨号后,第一时间就拿到了ipv6-pd image 建议看到邮件的各位试试看

搞来搞去,发现没那么复杂,广东电信pppoe,直接把wan6删掉就行了。没有任何影响

删掉wan6能拿到 v6-pd吗? 我之前就是只有wan,只给v6没有pd

不是很懂,但是ipv6正常用,就没管了。仅限于本源码

sss132919 avatar Apr 08 '24 11:04 sss132919

我写了个简单的小脚本来解决这个问题,思路就是检查 WAN6 的 IPv6-PD 是否为空,如果为空,则重启网络,每隔多少时间执行由大家自行决定。这个一般是在二级路由或者多级路由上执行,因为主路由重拨后一般能获取 IPv6-PD,但多级路由在主路由重拨之后 IPv6-PD 和 DHCPv6 会消失,只留下个 SLAAC 地址。再加入个检测接口是否活动,接口处于活动状态才会重启接口。注:接口名称是 wan6 才能套用。

#!/bin/sh
ipv6_pd_address=$(ubus call network.interface.wan6 status | jsonfilter -e '@["ipv6-prefix"][0]["address"]')
ipv6_pd_mask=$(ubus call network.interface.wan6 status | jsonfilter -e '@["ipv6-prefix"][0]["mask"]')
ipv6_firstAdress_address=$(ubus call network.interface.wan6 status | jsonfilter -e '@["ipv6-address"][0]["address"]')
ipv6_firstAdress_mask=$(ubus call network.interface.wan6 status | jsonfilter -e '@["ipv6-address"][0]["mask"]')
if [ -z "$ipv6_pd_address" ]; then
	echo "IPv6-PD address not found on wan6 interface."
	if [ "$ipv6_firstAdress_mask" -eq 64 ]; then
    		echo "IPv6-SLAAC address found on wan6 interface: $ipv6_firstAdress_address/$ipv6_firstAdress_mask. This interface is online. Restarting network..."
    		/etc/init.d/network restart
    		echo "network restarted."
	else
		echo "IPv6-SLAAC address not found on wan6 interface. The interface may be disconnected."
	fi
else
	echo "IPv6-PD address found on wan6 interface: $ipv6_pd_address/$ipv6_pd_mask"
fi

Magic989 avatar Apr 28 '24 06:04 Magic989