Продолжается с эры ADSL. GPON роутер теряет пакеты/линк/коннект до перезагрузки
Invite pending
Подключившись к оптическому интернету, я был очень рад оптическим скоростям даунлинка/аплинка 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:
Надеюсь, всем понятно, что нужно закомментировать, чтобы убрать проверку пинга, допустим, для принудительной перезагрузки роутера?
Для диагностики нужно раскомментировать 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.
У кого такие роутеры уже дохли или висли, оставьте комментарии, от чего, чтобы была ясна статистика.
Ну собственно, вот и всё, посмотрим, как и сколько будет работать роутер в таком режиме с перезагрузками. Пока сервер не перезагрузили — смотрим файл /tmp/output. Исправления и дополнения для других роутеров приветствуются.
И опять началось!
Сначала грешил на сервер, принимающий и раздающий интернет — после его жесткого включения/выключения через сетевой фильтр со всем подключенным (в том числе концентратором и 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
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. Исправления и дополнения для других роутеров приветствуются.