Нетобзор - форум про интернет

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Автор Тема: Скрипт проверки состояния соединения USB модема (USB watchdog)  (Прочитано 4942 раз)

0 Пользователей и 1 Гость просматривают эту тему.

plastilin

  • Гость

 Так как роутер установлен в не очень удобном месте и работает в паре с 3G модемом Novatel MC760, сделал небольшой скрипт для автоматизации перезагрузки роутера (watchdog). Принцип данного скрипта можно применить в любом роутере где установлен Linux и можно добраться до файловой системы. Для того чтобы скрипт заработал на Asus RT-N10U нужно проделать следующее:

1. Необходимо прошить роутер на альтернативную прошивку AsusWRT- Merlin ftp://82.207.89.70/pub/ASUS/ASUSWRT_MODDED/mod8/RT-N10U_3.0.0.4_378_4129-gecc8142-m8.trx
2. Подключаемся по SSH на IP роутера и создаем скрипт проверки состояния соединения с именем checkinet, сохраняем его в /jffs/scripts/ и даем права на выполнение командой chmod +x checkinet:

3. Выбрать себе сценарий который будет использоваться или создать свой.

Вариант №1. Скрипт делает элементарные вещи. Сначала пытается скачать страничку google.com, проверяя есть ли интернет и работает ли DNS, если не получается, то отправляет роутер в перезагрузку.

#!/bin/sh
wget -q --spider http://google.com
if [ $? -eq 0 ]; then
logger "WAN is UP"
else
reboot
fi

Вариант №2. Если есть доступ к PPTP VPN серверу, который может выдать внешний IP за который Интертелеком хочет за это денег. Подходит если за роутером установлен, например, видеорегистратор. Сценарий делает тоже самое что и первый скрипт но, дополнительно, проверяет наличие на интерфейсе внешнего IP выданного VPN сервером. Если IP нет, то рестартует VPN клиента.

#!/bin/sh
wget -q --spider http://google.com
if [ $? -eq 0 ]; then
logger "WAN is UP"
ifconfig | grep XXX.XXX.XXX.XXX
if [ $? -eq 0 ]; then
logger "VPN is UP"
else
logger "VPN is DOWN"
service restart_vpncall
fi
else
reboot
fi

Вариант №3. Отключение автоматической перезагрузки роутера при отсутствии модема в USB. Для реализации данной функции потребуется знать VID/PID модема. Узнается командой lsusb в консоли.

#!/bin/sh

modem=`lsusb | grep "XXXX:XXXX"`
if [ -n "$modem" ]; then
logger "USB modem is connected"
wget -q --spider http://google.com
if [ $? -eq 0 ]; then
logger "WAN is UP"
else
reboot
fi
else
logger "USB modem is not connected"
fi

Вариант №3.1. Отмена презагрузки если отсутствует модем с проверкой VPN

#!/bin/sh

modem=`lsusb | grep "XXXX:XXXX"`
if [ -n "$modem" ]; then
logger "USB modem is connected"
wget -q --spider http://google.com
if [ $? -eq 0 ]; then
logger "WAN is UP"
ifconfig | grep XXX.XXX.XXX.XXX
if [ $? -eq 0 ]; then
logger "VPN is UP"
else
logger "VPN is DOWN"
service restart_vpncall
fi
else
reboot
fi
else
logger "USB modem is not connected"
fi

4. Необходимо добавить задачу в планировщик по пути /jffs/crontab/admin Я сделал интервал 5 минут

*/5 * * * * /jffs/scripts/checkinet
« Последнее редактирование: 29 Июля 2016, 11:47:07 от plastilin »
Записан

ansilent

  • Постоялец
  • ****
  • Благодарность: +45/-0
  • Оффлайн Оффлайн
  • Сообщений: 289
  • Город: Умань

А поділіться прошивкою AsusWRT- Merlin, а то всі репозиторії уже не доступні.
Записан

bizonUa

  • Постоялец
  • ****
  • Благодарность: +125/-0
  • Оффлайн Оффлайн
  • Сообщений: 416
  • Город: Киев
  • Модем: Pantech UMW190+Sierra AirCard 595U
  • Провайдер: Intertelecom
  • Тариф: 3G Безлимит 139+Безлимитный Мега день IT
  • Антенна: 17+21 dBi

А поділіться прошивкою AsusWRT- Merlin, а то всі репозиторії уже не доступні
Гм. Гугл заблокирован? https://sourceforge.net/projects/asuswrt-merlin/files/
Записан
настройка/прошивка/модернизация роутеров физически/удаленно

ansilent

  • Постоялец
  • ****
  • Благодарность: +45/-0
  • Оффлайн Оффлайн
  • Сообщений: 289
  • Город: Умань

Гм. Гугл заблокирован? https://sourceforge.net/projects/asuswrt-merlin/files/
Це не зовсім те... Я неправильно поставив запитання. Малося на увазі Asuswrt-Merlin RT-N Broadcom MIPS. Це прошивки для різних платформ.
Записан

bizonUa

  • Постоялец
  • ****
  • Благодарность: +125/-0
  • Оффлайн Оффлайн
  • Сообщений: 416
  • Город: Киев
  • Модем: Pantech UMW190+Sierra AirCard 595U
  • Провайдер: Intertelecom
  • Тариф: 3G Безлимит 139+Безлимитный Мега день IT
  • Антенна: 17+21 dBi

Це не зовсім те... Я неправильно поставив запитання. Малося на увазі Asuswrt-Merlin RT-N Broadcom MIPS. Це прошивки для різних платформ.
ААА. модифицированная которая для Broadcom MIPS RT-N series . Родная страница проекта - https://github.com/AndreyPopovNew/asuswrt-merlin-rt-n/wiki/Download-and-Install . Но фтп , действительно, молчат.
И, вроде , автором более 3 лет не поддерживается.
Записан
настройка/прошивка/модернизация роутеров физически/удаленно