LINUX.ORG.RU
ФорумAdmin

Скрипт проверки интернета


0

1

Нужен небольшой скрипт, который будет проверять наличие интернета (именно интернета, а не просто сетевого соединения), и в случае отсутствия перезагружать роутер. Мне как-то кроме ping google.com ничего в голову не приходит, может есть что нибудь более изящное?

В догонку второй вопрос: как заставить dhcpcd не выдавать себе по таймауту 169.254... (или как там), а пытаться получить адрес пока не дадут. Система gentoo, сеть поднимается с помощью init.d/net.eth0, модули dhcpcd и ifplugd.

★★★★★

Мне как-то кроме ping google.com ничего в голову не приходит, может есть что нибудь более изящное?

куча таких скриптов на ЛОРе, куча

и в случае отсутствия перезагружать роутер

чё за роутер, чем перезагружать будешь? управляемый выключатель по rs-232 на питание роутеру?

как заставить dhcpcd не выдавать себе по таймауту

удалить avahi и почитать man dhclient.conf на предмет timeout, retry и порчих опций

anonymous
()
Ответ на: комментарий от anonymous

куча таких скриптов на ЛОРе, куча

анон, ты мне сейчас очень помог, очень

morse ★★★★★
() автор топика
ping -c 1 -w 5 google.com &>/dev/null

if [ $? -ne 0 ] ; then
   echo "down"
else 
   echo  "up"
fi

По желанию можно нагородить еще dig/host/hping/wget/curl/etc

Или если роутер умеет хотя бы телнет:

P-330W EE> wan
Now: L2TP Connected 95.31.17.110

cx ★★
()
Ответ на: комментарий от cx

Не, роутер вообще тупой как пробка. К тому же когда он виснет, то уже намертво. Буду значит гугл пинговать. Будем надеяться, не упадет.

morse ★★★★★
() автор топика
Ответ на: комментарий от morse

Запихай на кнопку роутера карандаш и в скрипте eject на неё делай с сервака лотком привода ))

Tok ★★
()
Ответ на: комментарий от morse

а как же ты программно ребутишь роутер, если

когда он виснет, то уже намертво

или подразумевается аппаратный ребут каким-нить watchdog'ом?

cac2s
()

не выдавать себе по таймауту 169.254

отключить avahid.

dada ★★★★★
()
Ответ на: комментарий от morse

Ребутаю аппаратно с помощью релюхи

тогда будет дело. но я бы пинговал не по имени, а по ip, т.к. иногда dns'ки у провайдеров валятся, и получится бессмысленный ребут

к примеру, можно пинговать гугловый 8.8.8.8

cac2s
()

пинговать лучше минимум три хоста, чтобы уж наверняка. Я обычно пингую 8.8.8.8, 8.8.4.4 вроде, и пару своих хостов удаленных.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

в том плане, что по дефолту проверяем один хост, если лежит, то второй и т.п.

blind_oracle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.