解决OpenWrt PPPoE连接无法自动重启

近期,将宿舍路由器更换为Redmi AC2100 (ramips/mt7621),并刷了Openwrt固件。

  • 出现以下问题:在使用OpenWrt进行PPPoE拨号时(无论是官方Build,还是自行Build),隔一段时间(不定)后网络无法使用。
  • 其表现为:WAN口上的Ethernet链路已被断开后重连(同时LAN会自动重连,IP地址被重新分配),但是PPPoE没有进行自动重拨。
  • 导致PPPoE连接无法继续使用,需要手动重启。网络上使用LCP-ECHO的方案对解决此问题无效。
  • 经研究,得出以下解决方案
$ cat /etc/hotplug.d/iface/99-pppoe-restart
if [ "${ACTION}" = "ifup" ]; then
    if [ "${INTERFACE}" = "wan" ]; then
        logger -t hotplug "interface WAN is up, restarting PPPoE dial"
        ifdown edu
        ifup   edu
    fi
fi
  • 其中 eduPPPoE接口 名称,wan 为 同一以太网上的 DHCP Client接口 名称