我的宽带是联通 100Mbps,但是 speedtest.cn 测速有 250Mbps 左右。大概是上个月有一次好奇,想着使用多拨看能不能进一步提高网速,以前一直没有深入研究使用这个 mwan3 多拨插件。

那次尝试失败:拨号不怎么稳定,也只有一个接口能够拨号成功。所以最后关掉了多拨的功能,回到了最原始的 wan 接口 pppoe 拨号使用。

但是最近发现网络不稳定,有几次包括今天晚上回家发现网络直接不可用。在重启网络后 (/etc/init.d/network restart) 观察 OpenWrt 系统日志,看到如下关键信息

Failed to get IP for interface pppoe-wan

SendNATPMPPublicAddressChangeNotification: cannot get public IP address, stopping

于是网上搜索了一下,尝试了把 wan 接口 MTU 重设为 1492 (默认是 1500),于是又得到日志

Interface eth4 has MTU of 1492 -- should be at least 1500

于是改回去。然后就搜到了这篇: https://baijiahao.baidu.com/s?id=1725167074822944574 (真没想到啊,居然是你,百家号),这篇文章指向的恩山原帖是 https://www.right.com.cn/forum/thread-3134204-1-1.html

我也猜到是 mwan3 插件的问题。好的,这就卸载。

原文中使用的 web 界面通过软件包页面卸载,我选择 ssh 进路由器卸载。

# opkg list-installed |grep mwan3
luci-app-mwan3 - git-20.088.29068-cebe120-1
luci-app-mwan3helper - 1-3
luci-i18n-mwan3-zh-cn - git-20.088.29068-cebe120-1
luci-i18n-mwan3helper-zh-cn - 1-3
mwan3 - 2.6.18-1

下面卸载

# opkg remove mwan3 luci-app-mwan3 luci-app-mwan3helper luci-i18n-mwan3-zh-cn luci-i18n-mwan3helper-zh-cn

终端提示还有依赖 luci-app-syncdial。这时候执行 opkg list-installed |grep mwan3 发现已经卸载成功了部分软件。进一步卸载

# opkg remove luci-app-syncdial mwan3 luci-app-mwan3

把依赖项 luci-app-syncdial 放在前面。个人不是很建议一上来就直接使用忽略依赖、强制移除软件包等 remove 选项。直接使用 remove 功能还能了解软件包之间的依赖关系,从而更加安全的卸载软件,不影响系统中其他软件的运行。

卸载成功。但有一句提示 not deleting modified conffile /etc/config/mwan3,这说明标题中现象的原因找到了,就是 mwan3 配置文件导致的冲突。没有事先备份这个文件的初始值的话就只能卸载了,如果知道该配置文件的初始值也可以直接替换该文件内容。在 luci web page 上操作 mwan3 相关的配置也无法将其还原至初始状态。为了防止该配置文件影响后续的重新安装,我是把这个修改过的文件保存成了一个副本 mv /etc/config/mwan3 /etc/config/mwan3.bak

卸载后重启了设备。但又遇到了如下问题 -_-..

failed to create listening socket for 10.10.10.4: Address not available

这应该是 dnsmasq 的问题。执行 /etc/init.d/dnsmasq restart 重启 dnsmasq 服务之后就好了。

至此 OpenWrt wan pppoe 拨号总是断或者网络不稳定的问题算是解决了。就是 mwan3 多拨插件导致的,直接卸载即可,后续若有需要再安装。

本文作此分享,记录了几个报错的日志,后续若有人通过 google 搜索这些日志可能会发现此文,希望对读者有参考作用。