faq обучение настройка
Текущее время: Ср авг 06, 2025 15:41

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Програмный рестарт модема
СообщениеДобавлено: Пн ноя 09, 2009 19:28 
Не в сети

Зарегистрирован: Пт янв 09, 2009 21:21
Сообщений: 10
Откуда: Днепропетровск
Здравствуйте!
DSL-2500U настроен в режиме роутера
ОС - Linux
Задача: автоматизация процесса перезагрузки модема раз в сутки или при разрыве соединения.
Какие команды возможно послать модему, чтобы он перезагрузился?
Заходил по telnet:

# telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
BCM96338 ADSL Router
Login: admin
Password:
> ?

?
help
logout
reboot
adsl
atm
brctl
cat
ddns
df
dumpcfg
echo
ifconfig
kill
arp
defaultgateway
dhcpserver
dns
lan
passwd
ppp
remoteaccess
restoredefault
route
save
swversion
wan
ping
ps
pwd
macaddr
dumpcfg2
clearpsi
sntp
sysinfo
tftp

> CLI exited after timing out
Connection closed by foreign host.

где можно посмотреть описание этих команд?
Насколько я понимаю, необходимо написать скрипт доступа по telnet к модему и послать команду reboot?
Или есть другие пути?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Програмный рестарт модема
СообщениеДобавлено: Вт ноя 10, 2009 00:20 
Не в сети

Зарегистрирован: Пт фев 06, 2009 09:27
Сообщений: 203
Откуда: Крым
handler писал(а):
Или есть другие пути?

создаем в своем домашнем каталоге /home/xxx скрипт reboot.sh
Код:
#!/bin/bash
wget -q --user=admin --password=1234 http://192.168.1.1/rebootinfo.cgi
rm -f rebootinfo.cgi

делаем скрипт исполняемым
Код:
 chmod +x /home/xxx/reboot.sh

вешаем скрипт в cron
Код:
30 4 * * * root /home/xxx/reboot.sh


получаем ребут ежедневно в пол-пятого утра .... пробуйте...


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 00:25 
Не в сети

Зарегистрирован: Пт янв 09, 2009 21:21
Сообщений: 10
Откуда: Днепропетровск
фантастика - все так просто!
Завтра по-пробую.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 09:37 
Не в сети

Зарегистрирован: Пт янв 09, 2009 21:21
Сообщений: 10
Откуда: Днепропетровск
Раз уж есть скрипт рестарта модема, возможно, Вы знаете, как проверить состояние модема: в коннекте или нет, чтобы на основании полученного результата принимать решение о рестарте модема.
Заранее благодарен!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 11:18 
Не в сети

Зарегистрирован: Пт янв 09, 2009 21:21
Сообщений: 10
Откуда: Днепропетровск
В поддержке сказали, что состояние модема (коннект или нет) можно узанть анализом логов.
Логи на сервер настроил, в файл они не попадают, слушать только tcpdump ?
tcpdump -Ali eth0 udp port 514 > log
и дальше анализ файла?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 17:03 
Не в сети

Зарегистрирован: Пт фев 06, 2009 09:27
Сообщений: 203
Откуда: Крым
handler писал(а):
и дальше анализ файла?
Не.... не надо анализа...
Код:
#!/bin/bash
srv1="xxx.ru"               # Первый тест-сервер
srv2="xxx.ru"               # Второй тест-сервер
timer="120"                     # Пауза между проверками тест-серверов
count="2"                     # Кол-во запросов при проверке
rep="1"                  # Время ожидания ответа от сервера (pong)

clear                        # Очистка консоли
while true ;               # Задаем основной бесконечный цикл
do
for i in $srv1 $srv2            # Перебор на доступность тест-серверов
do
ping -c $count -W $rep -nq $i  > /dev/null # Проверяем сервера ("100% loss" - возвращает ошибку !=0)
if [ $? == 0 ] ;                  # Вычисляем первый попавшийся доступный сервер и -->
then
while [ $? == 0 ] ;            # --> начинаем работать с ним до тех пор, пока он жив
do
clear
echo "=HHHHHHHHHHHHHHHHHHHHHHHHHH="      
echo ""                  
echo "     Server: $i"            
echo "     Pause : $timer sec"         ## Просто вывод информации...
echo "     Status: Online"         
echo ""                  
echo "=HHHHHHHHHHHHHHHHHHHHHHHHHH="      
sleep $timer               # Пауза между проверками
clear
ping -c $count -W $rep -nq $i         # Если сервер вдруг отвалится,то бросаем работать с ним
done
else                        # Если оба тест-сервера изначально недоступны,то -->
clear
fi
done
echo "WTF? We gonna correct this..."       # --> ругаемся и выполняем необходимые комманды
## ---->
wget -q --user=admin --password=1234 http://192.168.1.1/rebootinfo.cgi
rm -f rebootinfo.cgi
## <----
sleep 120                                  #Дожидаемся окончания ребута
done                  # Поехали проверяться сначала и все по-новой...


для бриджа делалось, для роутера слегка доделывать надо - но работать должно...


Последний раз редактировалось qwasi Ср ноя 11, 2009 01:52, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 19:25 
Не в сети

Зарегистрирован: Пт янв 09, 2009 21:21
Сообщений: 10
Откуда: Днепропетровск
модемов 5 штук и маршрутов тоже.
Мы подняли syslog-server и поставили его слушать логи модема, но то ли логи не идут, то ли сервер их не ловит - я не знаю, что мне думать...


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 11, 2009 01:50 
Не в сети

Зарегистрирован: Пт фев 06, 2009 09:27
Сообщений: 203
Откуда: Крым
гм.. 5 модемов настроены роутерами, значит(возможно) lan-IP у них разные... ну сделайте 5 скриптов, тест-сервера на всех должны быть прописаны разные - какая пара серверов не будет пинговаться, тот модем в ребут и уйдет( расписать по lan-IP в скриптах).... Это хоть какойто выход... Уж больно жестокая идея парсить логи 5 модемов на манер отлова ошибки... Доработка этого скрипта для работы с режимом роутера состоит в отлове отклика не от инет-сервера а от lan-интерфейса модема... иногда они так чудят....


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср ноя 11, 2009 16:46 
Не в сети

Зарегистрирован: Ср ноя 11, 2009 16:37
Сообщений: 1
Откуда: Ukraine
У меня модемчик 2540u. Народу на нем висит человек так 15, он соответственно подвисает час отчасу... каждые, примерно, 4-5 часиков. Помогите с написанием скрипта под Windows, чтоб я не заморачивался на выходных о том что у директор чегото не может зайти на свой любимый "Карнейдж"...или типа... не суть... Помогите плиз.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 11, 2009 18:02 
Не в сети

Зарегистрирован: Пт янв 09, 2009 21:21
Сообщений: 10
Откуда: Днепропетровск
Вы меня не поняли - у меня 5 модемов и я не могу сказать системе: "пингуй такой-то хост ч/з такой-то модем", поэтому остаются только логи.
И то я даже с одного модема пока получить их не могу. Все что я надумал:
tcpdump -Ali eth0 udp port 514 > dsl_log
Почитаю завтра, что он мне накидает и буду писать парсер.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 11, 2009 18:09 
Не в сети

Зарегистрирован: Чт апр 20, 2006 04:01
Сообщений: 5326
Откуда: Белозерск
2 win64beta
http://chairday.narod.ru/DSL-2500U.html
http://belozersk.narod.ru/files/D-Link/index.html

_________________
(tm) DWL-2100AP*, DIR-3xx/6xx*, DSL-2xx0*, ANT24-xxxx* | РТ


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт ноя 12, 2009 04:11 
Не в сети

Зарегистрирован: Пт фев 06, 2009 09:27
Сообщений: 203
Откуда: Крым
win64beta писал(а):
У меня модемчик 2540u. Помогите плиз.

И еще для коллекции http://forum.dlink.ru/viewtopic.php?t=79886&postdays=0&postorder=asc&start=0


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 12, 2009 09:43 
Не в сети

Зарегистрирован: Пт янв 09, 2009 21:21
Сообщений: 10
Откуда: Днепропетровск
В общем, логи не помогли: модем виснет, в логах ничего , что могло бы отловить его статус.
Вы правы, надо пинговать - но как это сделать на пяти модемах?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 12, 2009 13:47 
Не в сети

Зарегистрирован: Пт фев 06, 2009 09:27
Сообщений: 203
Откуда: Крым
handler писал(а):
но как это сделать на пяти модемах?
Возможно не нужно ломать голову, а приобрести такое:
http://www.allure.com.ua/product/25/
Если "такое" тоже не подходит (не дадут денег например)
, то берите скрипт (наподобие приведенного выше) и ,перестроив модемы бриджем, делайте при остсутствии пинга рестарт ВСЕХ 5-ти ppp-соединений. ppp переподключается моментально по сравнению с полным ребутом, никто особо и не заметит....Вам ведь для того чтобы "ехать" или как?
Ну и если модемы виснут так, что до них ничем не достучатся - только чтото из серии аппаратных пинговалок вас спасет...


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 13, 2009 01:30 
Не в сети

Зарегистрирован: Пт янв 09, 2009 21:21
Сообщений: 10
Откуда: Днепропетровск
Код:
#!/bin/bash

SRV='2ip.ru'
TIMER='120'
COUNT='3'

ADSL1='10.10.10.10'
ADSL2='10.10.20.10'
ADSL3='10.10.30.10'
ADSL4='10.10.40.10'
ADSL5='10.10.50.10'

IP_DSL1='10.10.10.1'
IP_DSL2='10.10.20.1'
IP_DSL3='10.10.30.1'
IP_DSL4='10.10.40.1'
IP_DSL5='10.10.50.1'

while [ 1 ]
do

# ********** ADSL1 **********
ping -c $COUNT -I $ADSL1 $SRV > /dev/null
if [ $? -ne 0 ]; then
echo 'BAD'
        wget -q --user='admin' --password='admin' http://$IP_DSL1/rebootinfo.cgi
        rm -f rebootinfo.cgi
else
        echo "1 - OK"
fi

# ********** ADSL2 **********
ping -c $COUNT -I $ADSL2 $SRV > /dev/null
if [ $? -ne 0 ]; then
echo 'BAD'
        wget -q --user='admin' --password='admin' http://$IP_DSL2/rebootinfo.cgi
        rm -f rebootinfo.cgi
else
        echo "2 - OK"
fi

# ********** ADSL3 **********
ping -c $COUNT -I $ADSL3 $SRV > /dev/null
if [ $? -ne 0 ]; then
echo 'BAD'
        wget -q --user='admin' --password='admin' http://$IP_DSL3/rebootinfo.cgi
        rm -f rebootinfo.cgi
else
        echo "3 - OK"
fi

# ********** ADSL4 **********
ping -c $COUNT -I $ADSL4 $SRV > /dev/null
if [ $? -ne 0 ]; then
echo 'BAD'
        wget -q --user='admin' --password='admin' http://$IP_DSL4/rebootinfo.cgi
        rm -f rebootinfo.cgi
else
        echo "4 - OK"
fi

# ********** ADSL5 **********
ping -c $COUNT -I $ADSL5 $SRV > /dev/null
if [ $? -ne 0 ]; then
echo 'BAD'
        wget -q --user='admin' --password='admin' http://$IP_DSL5/rebootinfo.cgi
        rm -f rebootinfo.cgi
else
        echo "5 - OK"

fi

sleep 120
done
exit 0




Вот так я оформил : опрос каждые 2 минуты и рестарт если коннект упал...


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB