Кажется, это опубликовано по всей сети без хороших решений. Я полагаю, что лучшее исправление / обходной путь - это заставить его проверять подключение к Интернету, а если его там нет, то заново подключиться. Я сделал это с помощью теста ping на google.com, а затем просто перезапустил сеть. Код не проверен (часть перезапуска и часть cron, если оператор проверен), поэтому я просто подожду, пока он не отключится. У меня Ubuntu Server 12.10, так что нет графического интерфейса, и каждый раз, когда беспроводная связь перегружается, неудобно подключать монитор и клавиатуру.
Cron часть сделана через webmin, так что Idk много об этом. Сценарий выглядит следующим образом:
# edited by dim_voly for networking restart on no pingback every 5 mins
#!/bin/bash
# Name of File: networkingCron
# Purpose: to check if the internet is up (via ping test to google) and if not, restart networking service
# this script is invoked via cron, ideally every 5 mins.
#check if there is internet via ping test
if ! [ "`ping -c 1 google.com`" ]; then #if ping exits nonzero...
sudo service networking restart #restart the whole thing
echo Networking service restarted due to no ping response from google.com
fi
echo Script 'networkingCron' completed, if no message above then there was no network restart.
# dunno how to restart the wifi only since that is the only active connection that server uses.
# also I don't think those echos go anywhere
Убедитесь, что вы работаете от имени пользователя root, и убедитесь, что у скрипта есть права на выполнение (u + x).
ссылки по теме: