Rezdbic Posted September 26, 2022 Share Posted September 26, 2022 Вроде порт entware в веб-интерфейсе не меняется... root/keenetic попробуйте. Quote Link to comment Share on other sites More sharing options...
Orbit Posted September 26, 2022 Share Posted September 26, 2022 В веб основной системы шел, там не надо ничего менять. А на 222 нужный вам логин root пароль от админа. Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted September 26, 2022 Share Posted September 26, 2022 14 минуты назад, terrabyte сказал: Изменил порт в веб интерфейсе на 222. В putty 222 и теперь пароль не подходит 🤔UPD: перезагрузил зашел по порту 222, но опять же в CLI А в компонентах установлен "Сервер SSH"? Quote Link to comment Share on other sites More sharing options...
batonskij Posted September 26, 2022 Share Posted September 26, 2022 46 минут назад, terrabyte сказал: Entware установлен. Иначе куда бы я скрипт то закинул? Удивительно как вы справились, в крайней версии скрипта нет строк установки пакета jq для разбора. Скрипт банально не заработает. 5 минут назад, Orbit сказал: пароль от админа. зачем вводить в заблуждение? пароль на свежеустановленной entware keenetic Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted September 26, 2022 Share Posted September 26, 2022 48 минут назад, AndrewKvas сказал: Часто, когда перезагружается роутер или по какой-то другой причине бывает ситуация, что GPON модем уже установил соединение с серым IP, роутер загружается, видит поднятое соединение и работает с этим соединением. Соответственно не отрабатывает скрипт в wan.d. По крайней мере я так представляю ситуацию. Приходится руками разрывать соединение, тогда всё начинает работать как запланировано, пока не добьёмся белого IP. (По крайней мере я так вижу происходящее) Куда и что прописать, чтобы роутер, после загрузки определял не серый ли IP у уже поднятого соединения и дергал его, если нужно? Не кроном же это проверять... Кто тут поднимает PPPOE сессию gpon терминал или роутер? Quote Link to comment Share on other sites More sharing options...
terrabyte Posted September 26, 2022 Share Posted September 26, 2022 2 минуты назад, batonskij сказал: Скрипт банально не заработает Всё было зря? А то у меня получилось через ssh сконнектится и права на скрипт поменять.... Quote Link to comment Share on other sites More sharing options...
terrabyte Posted September 26, 2022 Share Posted September 26, 2022 16 минут назад, Rezdbic сказал: Вроде порт entware в веб-интерфейсе не меняется... root/keenetic попробуйте. зашел на 222 порту с такой парой. Спасибо. Quote Link to comment Share on other sites More sharing options...
batonskij Posted September 26, 2022 Share Posted September 26, 2022 1 минуту назад, terrabyte сказал: Всё было зря? А то у меня получилось через ssh сконнектится и права на скрипт поменять.... opkg install jq Quote Link to comment Share on other sites More sharing options...
AndrewKvas Posted September 26, 2022 Share Posted September 26, 2022 8 минут назад, Rezdbic сказал: Кто тут поднимает PPPOE сессию gpon терминал или роутер? Формально роутер, но если его перезагрузить или ещё что - сессия сохраняется поднятой... И роутер работает с уже поднятой. Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted September 26, 2022 Share Posted September 26, 2022 3 минуты назад, AndrewKvas сказал: Формально роутер, но если его перезагрузить или ещё что - сессия сохраняется поднятой... И роутер работает с уже поднятой. Мне такая схема работы неизвестна... А если GPON терминал перевести в режим моста и поднимать PPPOE сессию в роутере, не? Quote Link to comment Share on other sites More sharing options...
AndrewKvas Posted September 26, 2022 Share Posted September 26, 2022 Только что, Rezdbic сказал: Мне такая схема работы неизвестна... А если GPON терминал перевести в режим моста и поднимать PPPOE сессию в роутере, не? Я не могу его перевести в режим моста. Он включен в WAN. Первоначально poe соединение поднимает роутер, но оно остаётся в случае перезагрузки роутера (по крайней мере мне так кажется). Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted September 26, 2022 Share Posted September 26, 2022 Если GPON терминал не в режиме моста, то он в режиме роутера и именно он первоначально поднимает PPPOE сессию. Что там дальше делает кинетик роутер уже неважно. Quote Link to comment Share on other sites More sharing options...
AndrewKvas Posted September 26, 2022 Share Posted September 26, 2022 50 минут назад, Rezdbic сказал: Если GPON терминал не в режиме моста, то он в режиме роутера и именно он первоначально поднимает PPPOE сессию. Что там дальше делает кинетик роутер уже неважно. PON терминал сам не поднимает POE соединение. Оно поднимается роутером или если подключиться напрямую к ПК, то поднимается оттуда. Проблема только в том, что соединение в какой-то момент поднимается с серым ip и роутер это не видит. Не знаю как это отловить, если не справляется скрипт в wan.d. Quote Link to comment Share on other sites More sharing options...
batonskij Posted September 27, 2022 Share Posted September 27, 2022 (edited) Зачем вы дополнительно поднимаете PPPOE сессию на роутере? Если ваш GPON терминал не в режиме моста? Старая версия скрипта, использующая ndmq работает идеально при правильной настройке сети. Для тех, кто не захочет переходить на rci, можно установить ndmq из архива opkg install curl curl https://bin.entware.net/mipselsf-k3.4/keenetic/archive/libndm_1.8.0-1_mipsel-3.4_kn.ipk >libndm.ipk opkg install libndm.ipk curl https://bin.entware.net/mipselsf-k3.4/keenetic/archive/ndmq_1.0.2-7_mipsel-3.4_kn.ipk > ndmq.ipk opkg install ndmq.ipk стащил у gvan из другого топика Edited September 27, 2022 by batonskij Quote Link to comment Share on other sites More sharing options...
winnie57 Posted September 28, 2022 Share Posted September 28, 2022 В 26.09.2022 в 15:41, batonskij сказал: Удивительно как вы справились, в крайней версии скрипта нет строк установки пакета jq для разбора. Скрипт банально не заработает. Скрипт работает, но только при установленном уже пакете jq. При отладке убрал его проверку и установку из скрипта. Вот сейчас вернул и выложил обновлённый скрипт. #!/opt/bin/sh ConnName=Rostelecom counter=/opt/tmp/CountReconnectWan.txt previp=/opt/tmp/previp.txt max_tries=10 if ! opkg list-installed | grep '^jq' > /dev/null; then opkg update opkg install jq fi sleep 3 RESP=$(wget -qO - http://localhost:79/rci/show/interface | jq -r ".[] | select(.description==\"$ConnName\") | select(.defaultgw==true) | .id, .description, .address") [ -n "$RESP" ] || exit 1 _ip=$(echo $RESP | awk '{print $3}') _name=$(echo $RESP | awk '{print $2}') _iface=$(echo $RESP | awk '{print $1}') if echo "$_ip" | grep -qE "^(10\.|100\.6[4-9]\.|100\.[7-9][0-9]\.|100\.1[01][0-9]\.|100\.12[0-7]\.|172\.1[6-9]\.|172\.2[0-9]\.|172\.3[01]\.|null)"; then [ -f "$counter" ] || echo "0" > $counter try_nr=$(cat $counter) try_nr=$((++try_nr)) if [ $try_nr -gt $max_tries ]; then echo "0" > $counter logger -p local0.error -t white_ip[$$] "Provider: $_name, interface: $_iface. Too much tries. Exit" exit 1 fi echo "$try_nr" > $counter logger -p local0.error -t white_ip[$$] "Provider: $_name, interface: $_iface. Reloading WAN due grey IP - $_ip. Try $try_nr of $max_tries." wget -qO - --post-data="[{\"interface\":{\"name\":\"$_iface\",\"down\":{}}}]" http://localhost:79/rci/ sleep 3 wget -qO - --post-data="[{\"interface\":{\"name\":\"$_iface\",\"up\":{}}}]" http://localhost:79/rci/ else echo "0" > $counter [ -f "$previp" ] || echo "0.0.0.0" > $previp _previp=$(cat $previp) if [ "$_previp" != "$_ip" ]; then logger -p local0.notice -t white_ip[$$] "Provider: $_name, interface: $_iface, white IP - $_ip." echo "$_ip" > $previp else logger -p local0.notice -t white_ip[$$] "Provider: $_name, interface: $_iface, white IP - $_ip (address unchanged)." fi exit 0 fi 030-rostelecom.sh 2 Quote Link to comment Share on other sites More sharing options...
SP1R1T Posted January 29, 2023 Share Posted January 29, 2023 (edited) Добрый день. Форумчане есть ли возможность написать мануал по запуску данного скрипта что выше с нуля? Тему порыл ответа не нашел, заранее спасибо. Entware развернул обновил, установил xmlstarlet, jq. Закинул скрипт в opt/etc/ndm/wan.d/. При перезагрузке подключения, вываливает ошибку, куда копать? Edited January 29, 2023 by SP1R1T Quote Link to comment Share on other sites More sharing options...
healer2001 Posted February 28, 2023 Share Posted February 28, 2023 В 28.02.2019 в 11:04, Geont сказал: Немного обновил и причесал скрипт. Теперь работает стабильнее. #!/opt/bin/sh ConnName=Rostelecom counter=/opt/tmp/CountReconnectWan.txt previp=/opt/tmp/previp.txt max_tries=10 LIST=`ndmq -p 'show interface' -x | xml sel -t -m '//interface[link="up"][state="up"][global="yes"][defaultgw="yes"]' -v '@name' -o ',' -v 'description' -o ',' -v 'address' -o ',' -v 'via' -n` echo "$LIST" | grep -iwq "$ConnName" || exit 0 _ip=`echo "$LIST" | cut -d, -f3` _prov=`echo "$LIST" | cut -d, -f2` _iface=`echo "$LIST" | cut -d, -f1` _via=`echo "$LIST" | cut -d, -f4` if echo "$_ip" | grep -qE "^(10\.|100\.6[4-9]\.|100\.[7-9][0-9]\.|100\.1[01][0-9]\.|100\.12[0-7]\.|172\.1[6-9]\.|172\.2[0-9]\.|172\.3[01]\.)"; then [ -f "$counter" ] || echo "0" > $counter try_nr=$(cat $counter) try_nr=$((++try_nr)) if [ $try_nr -gt $max_tries ]; then echo "0" > $counter logger -t white_ip[$$] "Provider: $_prov, interface: $_iface. Too much tries. Exit" exit fi echo "$try_nr" > $counter logger -t white_ip[$$] "Provider: $_prov, interface: $_iface. Reloading WAN due grey IP - $_ip. Try $try_nr of $max_tries." ndmq -p "interface $_iface no connect via $_via" -P message sleep 5 ndmq -p "interface $_iface connect via $_via" -P message else echo "0" > $counter [ -f "$previp" ] || echo "0.0.0.0" > $previp _previp=$(cat $previp) if [ "$_previp" != "$_ip" ]; then logger -t white_ip[$$] "Provider: $_prov, interface: $_iface, white IP - $_ip." echo "$_ip" > $previp fi fi Кроме установленного пакета ndmq требуется также xmlstarlet. В переменной $ConnName (2-я строка) замените название подключения на свое - так, как оно названо у вас в web-интерфейсе. Больше ничего указывать не нужно. Подключений может быть несколько, скрипт обрабатывает только подключение с указанным названием в случае его использования в качестве основного. Расположение обычное: /opt/etc/ndm/wan.d/. Вот рабочий вариант 1 Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted March 1, 2023 Share Posted March 1, 2023 18 часов назад, healer2001 сказал: Вот рабочий вариант Только довольно устаревший из-за использования ndmq. Надо бы переписать под актуальный API. Quote Link to comment Share on other sites More sharing options...
katarn1984 Posted March 1, 2023 Share Posted March 1, 2023 (edited) On 9/28/2022 at 12:50 PM, winnie57 said: Скрипт работает, но только при установленном уже пакете jq. При отладке убрал его проверку и установку из скрипта. Вот сейчас вернул и выложил обновлённый скрипт. #!/opt/bin/sh ConnName=Rostelecom counter=/opt/tmp/CountReconnectWan.txt previp=/opt/tmp/previp.txt max_tries=10 if ! opkg list-installed | grep '^jq' > /dev/null; then opkg update opkg install jq fi sleep 3 RESP=$(wget -qO - http://localhost:79/rci/show/interface | jq -r ".[] | select(.description==\"$ConnName\") | select(.defaultgw==true) | .id, .description, .address") [ -n "$RESP" ] || exit 1 _ip=$(echo $RESP | awk '{print $3}') _name=$(echo $RESP | awk '{print $2}') _iface=$(echo $RESP | awk '{print $1}') if echo "$_ip" | grep -qE "^(10\.|100\.6[4-9]\.|100\.[7-9][0-9]\.|100\.1[01][0-9]\.|100\.12[0-7]\.|172\.1[6-9]\.|172\.2[0-9]\.|172\.3[01]\.|null)"; then [ -f "$counter" ] || echo "0" > $counter try_nr=$(cat $counter) try_nr=$((++try_nr)) if [ $try_nr -gt $max_tries ]; then echo "0" > $counter logger -p local0.error -t white_ip[$$] "Provider: $_name, interface: $_iface. Too much tries. Exit" exit 1 fi echo "$try_nr" > $counter logger -p local0.error -t white_ip[$$] "Provider: $_name, interface: $_iface. Reloading WAN due grey IP - $_ip. Try $try_nr of $max_tries." wget -qO - --post-data="[{\"interface\":{\"name\":\"$_iface\",\"down\":{}}}]" http://localhost:79/rci/ sleep 3 wget -qO - --post-data="[{\"interface\":{\"name\":\"$_iface\",\"up\":{}}}]" http://localhost:79/rci/ else echo "0" > $counter [ -f "$previp" ] || echo "0.0.0.0" > $previp _previp=$(cat $previp) if [ "$_previp" != "$_ip" ]; then logger -p local0.notice -t white_ip[$$] "Provider: $_name, interface: $_iface, white IP - $_ip." echo "$_ip" > $previp else logger -p local0.notice -t white_ip[$$] "Provider: $_name, interface: $_iface, white IP - $_ip (address unchanged)." fi exit 0 fi 030-rostelecom.sh 1.74 kB · 25 downloads На KN-1011 3.9.4 скрипт почти бесконечно переподключает соединение, пока не получит белый ip, игнорируя счетчик - смотрел лог, счетчик доходит до 10-ти, выход по exit1, потом опять по кругу... Edited March 1, 2023 by katarn1984 Quote Link to comment Share on other sites More sharing options...
Marat1217 Posted June 29, 2023 Share Posted June 29, 2023 (edited) В 29.01.2023 в 16:11, SP1R1T сказал: Добрый день. Форумчане есть ли возможность написать мануал по запуску данного скрипта что выше с нуля? Тему порыл ответа не нашел, заранее спасибо. Entware развернул обновил, установил xmlstarlet, jq. Закинул скрипт в opt/etc/ndm/wan.d/. При перезагрузке подключения, вываливает ошибку, куда копать? присоединяюсь, если есть возможность напишите пожалуйста подробный мануал по установке и настройке данного скрипта. Edited June 29, 2023 by Marat1217 Quote Link to comment Share on other sites More sharing options...
newjon Posted September 2, 2023 Share Posted September 2, 2023 ConnName=Rostelecom Quote Link to comment Share on other sites More sharing options...
newjon Posted September 2, 2023 Share Posted September 2, 2023 В 29.01.2023 в 16:11, SP1R1T сказал: Добрый день. Форумчане есть ли возможность написать мануал по запуску данного скрипта что выше с нуля? Тему порыл ответа не нашел, заранее спасибо. Entware развернул обновил, установил xmlstarlet, jq. Закинул скрипт в opt/etc/ndm/wan.d/. При перезагрузке подключения, вываливает ошибку, куда копать? проверьте ConnName=Rostelecom Quote Link to comment Share on other sites More sharing options...
Equalizer Posted December 1, 2023 Share Posted December 1, 2023 В 28.02.2019 в 11:04, Geont сказал: скрипт обрабатывает только подключение с указанным названием в случае его использования в качестве основного Добрый день, а кто подскажет, как заставить скрипт отрабатывать на не основном подключении? Quote Link to comment Share on other sites More sharing options...
SP1R1T Posted October 20 Share Posted October 20 (edited) Добрый день. На aаrch64 не заведется? Edited October 20 by SP1R1T Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.