自动重新启动网络连接

自动重新启动网络连接

我的 Synology NAS 遇到一个小问题。它不断断开与互联网的连接(但本地网络工作正常)。它是相当随机的,有时几天都不会发生,有时每 10-20 分钟就会发生一次。尝试了硬重置、干净更新等一切,但即使在干净的系统上,几天后它仍然会继续。网络上没有其他计算机出现此类症状。

通常这个问题可以通过 ifdown&&ifup 组合来解决,但我对此感到恼火 - 任何时候我想使用下载站,我都需要打开一个终端会话以确保这几分钟有网络连接。

所以问题是 - 是否有一种简单的方法可以在没有与外部连接的情况下自动重置网络接口?我一直在考虑对 google.com 进行分钟轮询,如果请求时间超过 10 秒,请重新启动网络接口。但我更喜欢本地的东西,它会自动执行此操作(真诚地,我不想编写这样的脚本,这对我来说是一个太漫长而乏味的过程)。

答案1

有几个包可以管理/管理网络。网络管理器世界文化中心是我熟悉的2个。您可以从命令行运行它们,它们可以完全管理网络。您可以利用其中之一来检查网络是否处于启动/可用状态,并在连接丢失时启动重新启动。

如果设备提供像 Upstart/Systemd 这样的服务,您还可以在该级别放置规则,以便在互联网连接丢失时触发重新启动。

来自 cron 的东西

如果您在 Synology 盒子上可用的软件方面受到限制,您可以每隔几分钟从 cron 运行一些内容。

if ! ping -Q 1 -c 1 -t 1 google.com; then
    ifdown eth0
    sleep 3
    ifup eth0
fi

参考

答案2

使用上面的脚本(稍微调整)如下,每分钟在任务计划程序中运行。您可以使用 cron 来代替,但在 GUI 中使用它很好。

if ! ping -I wlan0 -c 1 google.com; then
ifconfig wlan0 down
sleep 5
ifconfig wlan0 up
fi

相关内容