Search
Write a publication
Pull to refresh

Продолжается с эры ADSL. GPON роутер теряет пакеты/линк/коннект до перезагрузки

Подключившись к оптическому интернету, я был очень рад оптическим скоростям даунлинка/аплинка 100/100 Мбит и, думая, что это на всю жизнь (а в реальности только на один год), забыл о зависаниях ADSL модемов, потере скорости, пакетов, связи, перезагрузке.

И опять началось!

Сначала грешил на сервер, принимающий и раздающий интернет — после его жесткого включения/выключения через сетевой фильтр со всем подключенным (в том числе концентратором и GPON роутером) — связь на день появлялась… При следующей потере интернета уже отдельно перегрузил сервер и передернул концентратор — и понял, что дело не в них.

Обдумал возможные причины:

1) место проклятое;
2) тотальное невезение;
3) перегрев
4) китайские конденсаторы или комплектующие, то бишь заводской брак, а если мы правильно понимаем — заложенная в продукт быстрая смерть.

Но не нашел их подтверждения.

Мой GPON роутер Eltex NTP-RG-1402G-W:rev.C был с прошивкой версии 2.12.5.15. Логин/пароль user/user. Выяснил, читая логи proxy squid сервера и через «tcpdump -ni eth0 -XXX» что при нажатии в интерфейсе на кнопочку Reboot он со страницы /resetrouter.html, идёт на /rebootinfo.cgi?sessionKey=626295982, но кей каждый раз меняется.

Стал искать, как Eltex перезагружать программно, но не нашел в интернете работающего скрипта. Нашел похожий, разобрался, переделал, чем и делюсь с вами.

Итак, скрипт для перезагрузки GPON роутера ELTEX NTP-RG-1402G-W:rev.C:

#!/bin/bash

export USER=user
export PASS=user
export COOKIE=/tmp/cookie_jar
export CURL=/usr/bin/curl
export PING=/bin/ping
export GREP=/bin/grep
export CUT=/usr/bin/cut

$PING -c 5 8.8.8.8 > /dev/null 2>&1

if [ $? -ne 0 ]
then
        rm $COOKIE > /dev/null 2>&1

        export OUTPUT=`$CURL -v -c $COOKIE "http://$USER:$PASS@192.168.1.1/resetrouter.html" 2>> /tmp/output`
#        echo "$OUTPUT"
        export SESSIONKEY=`echo "$OUTPUT" | $GREP sessionKey | $CUT -d"=" -f3 | $CUT -d"'" -f1`
        echo "kicking modem with session key $SESSIONKEY"
        export OUTPUT=`$CURL -v -c $COOKIE "http://$USER:$PASS@192.168.1.1/rebootinfo.cgi?sessionKey=$SESSIONKEY" 2>> /tmp/output`
#        echo "$OUTPUT"
fi

Надеюсь, всем понятно, что нужно закомментировать, чтобы убрать проверку пинга, допустим, для принудительной перезагрузки роутера?

Для диагностики нужно раскомментировать echo $OUTPUT.

Для других версий роутеров возможно изменение позиций обреза символов в строке $CUT -d"=" -f3 | $CUT -d"'" -f1 на другие числа (для кого-то подойдёт -f2 -f2)

Скорее всего, скрипт с переделками подойдёт для других моделей роутеров Eltex: RG-1402G, NPT-RG-1402G-W rev.B, RG-2402G-W, NTE-RG-1402G-W, NTU-RG-1402G-W, NTE-RG-1402F-W.

Вот информация о самом роутере:
Board type: NTP-RG-1402G-W:rev.C
Serial number: GP1AXXXX
PON serial: ELTX1AXXXXX
Base WAN MAC: A8:F9:4B:XX:XX:XX
Board ID: 96818G_RG_REVC
Hardware version: 1v12

Software Version: 2.12.5.15
Bootloader (CFE) Version: 1.0.38-114.-71

System time: Thu Jan 1 01:39:12 1970
Uptime: 0D 1H 39M 12S

Current Pon Password: 00XXXXXX

WAN service 4: ipoe_veip4.4094

Interface veip4.1
Type IPoE
Connection type IP_Routed
Status Connected
IPv4 Address 172.27.0.XXX
Bridging to eth0.0,eth3.0

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

Ну собственно, вот и всё, посмотрим, как и сколько будет работать роутер в таком режиме с перезагрузками. Пока сервер не перезагрузили — смотрим файл /tmp/output. Исправления и дополнения для других роутеров приветствуются.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.