Создание сайтов, поисковое продвижение, разработка веб-приложений.
+7 (987) 254-02-67
Email: feedback@goinweb.ru
ул. Новоженова 90/1, офис 419

Если у вас есть роутер ASUS или другой с прошивкой от Олега, то эта записка для вас. Недавно у меня возникла трудность, которую никак не получалось решить. VPN-сессия зависала, при этом VPN-соединение оставалось подключено. Роутер не мог понять, что надо переподключится.  Приходилось каждый раз вручную делать перезагрузку роутера, согласитесь, это долгий и утомительный процесс. 

linux-code

Я покопался в интернете, оказалось  я такой не один и проблема довольно масштабна среди “роутороводов”. Наши провайдеры не особо жалуют пользователей с роутерами, в большинстве случаев после ответа на вопрос “какая у вас операционная система” суппорт умолкает.

Я не задавался и продолжал искать,  но нигде не было универсального решения данной проблемы. Тогда я подумал, мой роутер основан на Unix и поддерживает Bash-скрипты.  Я решил написать “умный” скрипт перезагрузки, в случае повисания VPN-сессии. После нескольких проб и ошибок я остановился на таком варианте.

#!bin/sh

PINGRESORCE1="ya.ru"
PINGRESORCE2="google.com"

if (! ping -c 3 &{PINGRESORCE1} >/dev/nill 2>&1).
then

if (! ping -c 3 &{PINGRESORCE2} >/dev/nill 2>&1).
then
reboot

else
echo 'internet ok'
fi

else
echo 'internet ok'
fi

Алгоритм работы данного скрипта такой:  Сначала мы посылаем 3 ping’a до Яндекса, если они проходят то выводим “internet ok”. Если нет, то посылаем ещё 3 ping’a до Гугла, если проходят, выводи “internet ok”. Если ping не дойдёт  и до Гугла, то перезагрузка.

Этот скрипт необходимо добавить в планировщик задач (в большинстве случаев это cron), чтобы он выполнялся каждые 5-10 минут.

Качественные cайты на скриптах.

 

Старые комментарии:

Игорь 31.10.2010 18:37
Интересно, а как засунуть этот скрипт в роутер? :-?
 
Илья 31.10.2010 19:12
У меня DIR-320 с прошивкой от Олега.
По сути это уже полнофункционал ьный линукс, ;-) есть доступ к командной строке по SSH.
Советую посетить этот форум. (Ахтунг, там есть проблема с кодировкой нужно поставить Кириллицу Windows-1254)
http://wl500g.info/forumdisplay.php?f=86
 
Игорь 01.11.2010 13:48
Спасибо, получается, что роутер D-Link превращается в ASUS :eek:
 
Илья 01.11.2010 14:42
Ну.. Да :yehh2:
 
demeister 13.04.2011 04:26
скажите а на DD-WRT при прописании скрипта в cron он будет работать?
 
Илья 13.04.2011 15:15
Да должен, ибо тоже Linux :yehh2:
 
DarkShaman 21.05.2013 19:30
У меня на OpenWRT заработало так
#!/bin/sh
echo --------------- --------------- --------------- --
echo WAN CONTROLL RESTART
echo --------------- --------------- --------------- --
PINGRESORCE1="109.126.0.67"
PINGRESORCE2="109.126.1.67"
PINGRESORCE3="google.com"
if (! ping -q -c3 ${PINGRESORCE1} > /dev/null 2>&1)
then
if (! ping -q -c3 ${PINGRESORCE2} > /dev/null 2>&1)
then
if (! ping -q -c3 ${PINGRESORCE3} > /dev/null 2>&1)
then
reboot
else
echo 'internet ok'
fi
else
echo 'internet ok'
fi
else
echo 'internet ok'
fi
 
Паша 11.04.2014 21:35
У меня на OpenWRT. Не могу запустить скрипт. Объясните подробно в какую папку на роутере нужно скопировать файл скрипта, как создать этот файл и что нужно прописать в планировщике?
На данный момент создал файл /overlay/home/ping/ping.sh
в котором прописал все что в сообщении от #7 DarkShaman
Не работает. Где ошибка? Роутер не перезагружается при отключении сетевого кабеля ни сразу ни через 5 минут.
DarkShaman, подскажи как ты все проделал?
 
Олег 07.09.2014 17:27
Доброго времени суток! Скажите пожалуйста, а можно таким способом перезагружать другую точку, коротая подключена к моей мостом?

Добавить комментарий

Защитный код
Обновить

Бесплатная консультация

Вам нужен сайт, но вы не знаете с чего начать? Оставьте ваши имя и телефон, мы перезвоним и бесплатно проконсультируем Вас.

Бесплатная консультация по телефону:

+7 987 2540267
Ежедневно c 10:00ч до 20:00ч.

 

Услуги | Портфолио | Блог | РБ
Перепечатка информации с сайта www.goinweb.ru, возможна только с указанием активной гиперссылки.
Веб-студия «GOINWEB»: Разработка, продвижение, обслуживание и поддержка веб-сайтов. E-mail:feedback@goinweb.ru
Яндекс.Метрика