У меня есть медиа и сервер PVR рабочая человечность 16.04, которая эпизодически теряет ее проводную возможность соединения (IP привозит вывод ifconfig; значок на рабочем столе указывает, что соединен, но это не). Интерфейс является dhcp, но статически присвоен от маршрутизатора. Если я не ловлю это, это снижается в течение многих часов или дней, я избегаю записывать шоу на него (который печалит жену).
После чтения многочисленных подходов через askubuntu и в другом месте, мое решение было просто для добавления "ifup-a" к cron.hourly. Существует ли хит производительности или какое-либо другое влияние выполнения этого? Существует ли лучший или "утвержденный" способ проверить и перезапустить сетевые интерфейсы автоматически? Я не знаю, почему это отбрасывает во-первых - провод остается на связи, и машина непосредственно подключена к моему основному (неуправляемому) переключателю.
/etc/network/interfaces:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
auto enp0s10
iface lo inet loopback
iface enp0s10 inet dhcp
Одно решение состояло бы в том, чтобы на самом деле проверить, чтобы видеть, произошел ли интерфейс сначала, и затем перезапустите услуги администратора сети, если это не со сценарием как следующее. Это проверяет, чтобы видеть если единственный ping
if ! ping -Q 1 -c 1 -t 60 google.com; then
echo warning: lost network connection >>/var/log/syslog
service network-manager restart
fi
и запуск, что с кроном в любой промежуток времени Вы думаете, достаточен.
Можно хотеть повысить-Q параметр, как обсуждено здесь, если Вы не получаете желаемые результаты, но он хорошо работал в 1 в моих тестах. Вам, возможно, также придется настроить-t параметр для удовлетворения среде.
Конечно, необходимо будет установить задание крона правильно, чтобы это работало.
Источники:
https://unix.stackexchange.com/questions/133931/automatically-restarting-network-connection
man ping
Как настроить корневое задание крона правильно
Тестирование.