Здається, це розміщено по всій мережі, не маючи хороших рішень. Я думаю, що найкраще виправити / вирішити, це перевірити наявність підключення до Інтернету, а якщо його немає, то знову підключіться. Я зробив це за допомогою тесту 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) дозволи.
посилання: