evgeny1503 Posted January 14, 2022 Share Posted January 14, 2022 В теме описывается управление интерфейсами через ndmq. А нельзя ли для этого использовать утилиту ip? ip link set dev ppp0 up/down Или тут другой механизм и он хуже? Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted January 14, 2022 Share Posted January 14, 2022 17 минут назад, evgeny1503 сказал: Или тут другой механизм и он хуже? Большей частью сетевых интерфейсов управляет прошивка. По CI (ndmq) или RCI-интерфейсу мы взаимодействуем с логикой прошивки, а с помощью ip link … down непосредственно с сетевым интерфейсом. Первый вариант, разумеется, предпочтительней. Quote Link to comment Share on other sites More sharing options...
evgeny1503 Posted January 14, 2022 Share Posted January 14, 2022 30 минут назад, Александр Рыжов сказал: Первый вариант, разумеется, предпочтительней Понятно, спасибо. А не подскажете где узнать за интерфейсы? К примеру, FastEthernet0 FastEthernet0/0 FastEthernet0/1 FastEthernet0/2 FastEthernet0/3 FastEthernet0/4 FastEthernet0/Vlan1 FastEthernet0/Vlan2 WifiMaster0 WifiMaster0/AccessPoint0 WifiMaster0/AccessPoint1 WifiMaster0/AccessPoint2 WifiMaster0/AccessPoint3 WifiMaster0/WifiStation0 Какой из них за ви-фи 5, какой за 2.4 отвечает? Какой pppoe и т.д. Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted January 14, 2022 Share Posted January 14, 2022 По description в выводе wget -qO - http://127.0.0.1:79/rci/show/interface Пожалуйста, дальше покопайте сами. Quote Link to comment Share on other sites More sharing options...
evgeny1503 Posted January 14, 2022 Share Posted January 14, 2022 (edited) 2 часа назад, Александр Рыжов сказал: По description в выводе wget -qO - http://127.0.0.1:79/rci/show/interface Пожалуйста, дальше покопайте сами. Спасибо, копаю. Похоже ndmq уже не актуально... Теперь надо копать в сторону rest Edited January 14, 2022 by evgeny1503 Quote Link to comment Share on other sites More sharing options...
deasdron Posted May 2, 2022 Share Posted May 2, 2022 В 15.09.2021 в 19:01, Geont сказал: Можно ndmq установить отсюда. Извините за нубность. Но как его установить? То что накопал в интернете выводит ошибку ~ # opkg install /tmp/ndmq_1.0.2-7_mipsel-3.4_kn.ipk Collected errors: * wfopen: /tmp/ndmq_1.0.2-7_mipsel-3.4_kn.ipk: No such file or directory. * pkg_init_from_file: Failed to extract control file from /tmp/ndmq_1.0.2-7_mipsel-3.4_kn.ipk. Quote Link to comment Share on other sites More sharing options...
Roman Goncharenko Posted June 29, 2022 Share Posted June 29, 2022 В 17.09.2021 в 18:47, Geont сказал: Скрипт, работающий на REST API А куда его нужно класть? Quote Link to comment Share on other sites More sharing options...
zirm33 Posted July 29, 2022 Share Posted July 29, 2022 Поделитесь, пожалуйста, рабочим скриптом на прошивке 3.8.3. Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted July 29, 2022 Share Posted July 29, 2022 35 минут назад, zirm33 сказал: Поделитесь, пожалуйста, рабочим скриптом на прошивке 3.8.3. Он есть на предыдущей странице Quote Link to comment Share on other sites More sharing options...
winnie57 Posted August 4, 2022 Share Posted August 4, 2022 В 29.07.2022 в 11:16, Rezdbic сказал: Он есть на предыдущей странице Этот скрипт у меня тоже почему то перестал работать на прошивке 3.8.3 Quote Link to comment Share on other sites More sharing options...
winnie57 Posted August 18, 2022 Share Posted August 18, 2022 В 29.07.2022 в 10:41, zirm33 сказал: Поделитесь, пожалуйста, рабочим скриптом на прошивке 3.8.3. У меня тоже не работал. Оказалось что права на файл скрипта были 0644, а должны быть 0755. Исправил и всё заработало. Проверьте у себя. 1 Quote Link to comment Share on other sites More sharing options...
zirm33 Posted September 1, 2022 Share Posted September 1, 2022 Цитата У меня тоже не работал. Оказалось что права на файл скрипта были 0644, а должны быть 0755. Исправил и всё заработало. Проверьте у себя. Можно подробнее, как это сделать? Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted September 5, 2022 Share Posted September 5, 2022 В 01.09.2022 в 11:04, zirm33 сказал: Можно подробнее, как это сделать? chmod 0755 имя_скрипта.sh Quote Link to comment Share on other sites More sharing options...
zirm33 Posted September 5, 2022 Share Posted September 5, 2022 Скрипт работает, но в журнале периодически такая ошибка (Opkg::Manager: /opt/etc/ndm/wan.d/white-ip.sh: exit code 1.). Это на что-то влияет? Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted September 5, 2022 Share Posted September 5, 2022 Это значит, что скрипт не сработал Quote Link to comment Share on other sites More sharing options...
zirm33 Posted September 5, 2022 Share Posted September 5, 2022 Скиньте, пожалуйста, рабочий скрипт файлом с правильными правами. (Rostelecom) Quote Link to comment Share on other sites More sharing options...
winnie57 Posted September 13, 2022 Share Posted September 13, 2022 (edited) В 05.09.2022 в 22:23, zirm33 сказал: Скиньте, пожалуйста, рабочий скрипт файлом с правильными правами. (Rostelecom) Несмотря на изменение прав на файл скрипта он то работает, то нет (чаще). Заметил что при автоматическом запуске скрипта когда провайдер дергает подключение (у меня это каждые 72 часа) в логе и служебном файле /opt/tmp/previp.txt записывается значение "null". То есть в момент срабатывания скрипта WAN интерфейс ещё не получил адрес от провайдера. Скрипт это значение не обрабатывает и завершается с кодом 1. Для того чтобы это устранить я вставил команду задержки перед командой получения адреса провайдера на 3 секунды (строка 13). #!/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 можете просто добавить команду задержки в ваш скрипт: sleep 3 Или возьмите готовый. Скрипт необходимо поместить в папку /opt/etc/ndm/wan.d и выдать ему права на выполнение командой: chmod +x /opt/etc/ndm/wan.d/030-rostelecom.sh или chmod 0755 /opt/etc/ndm/wan.d/030-rostelecom.sh 030-rostelecom.sh Edited September 28, 2022 by winnie57 Вернул в скрипт проверку наличия пакета jq и установку его при отсутствии. 2 Quote Link to comment Share on other sites More sharing options...
zirm33 Posted September 14, 2022 Share Posted September 14, 2022 Спасибо большое!!! Quote Link to comment Share on other sites More sharing options...
terrabyte Posted September 26, 2022 Share Posted September 26, 2022 В 13.09.2022 в 17:16, winnie57 сказал: chmod +x /opt/etc/ndm/wan.d/030-rostelecom.sh Подскажите пожалуйста как выполнить команду? Подключаюсь к роутеру через putty, ввожу команду и выдает что такая команда chmod не существует. Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted September 26, 2022 Share Posted September 26, 2022 2 часа назад, terrabyte сказал: Подскажите пожалуйста как выполнить команду? Подключаюсь к роутеру через putty, ввожу команду и выдает что такая команда chmod не существует. Покажите что конкретно вводите и то что получаете в ответ Quote Link to comment Share on other sites More sharing options...
terrabyte Posted September 26, 2022 Share Posted September 26, 2022 (edited) 1 час назад, Rezdbic сказал: Покажите что конкретно вводите и то что получаете в ответ Скрытый текст Edited September 26, 2022 by terrabyte Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted September 26, 2022 Share Posted September 26, 2022 Вы подключаетесь к роутеру по telnet, а надо по ssh. Entware установлен? Quote Link to comment Share on other sites More sharing options...
terrabyte Posted September 26, 2022 Share Posted September 26, 2022 (edited) 15 минут назад, Rezdbic сказал: Вы подключаетесь к роутеру по telnet, а надо по ssh. Entware установлен? Entware установлен. Иначе куда бы я скрипт то закинул?. Подключаюсь именно по SSH Edited September 26, 2022 by terrabyte Quote Link to comment Share on other sites More sharing options...
AndrewKvas Posted September 26, 2022 Share Posted September 26, 2022 Часто, когда перезагружается роутер или по какой-то другой причине бывает ситуация, что GPON модем уже установил соединение с серым IP, роутер загружается, видит поднятое соединение и работает с этим соединением. Соответственно не отрабатывает скрипт в wan.d. По крайней мере я так представляю ситуацию. Приходится руками разрывать соединение, тогда всё начинает работать как запланировано, пока не добьёмся белого IP. (По крайней мере я так вижу происходящее) Куда и что прописать, чтобы роутер, после загрузки определял не серый ли IP у уже поднятого соединения и дергал его, если нужно? Не кроном же это проверять... Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted September 26, 2022 Share Posted September 26, 2022 11 минуту назад, terrabyte сказал: Entware установлен. Иначе куда бы я скрипт то закинул?. Подключаюсь именно по SSH Нет, на вашем скриншоте подключение по telnet. Quote Link to comment Share on other sites More sharing options...
terrabyte Posted September 26, 2022 Share Posted September 26, 2022 (edited) 3 минуты назад, Rezdbic сказал: Нет, на вашем скриншоте подключение по telnet. Ну как же так то? Вот скрин putty тут жму open Скрытый текст Edited September 26, 2022 by terrabyte Quote Link to comment Share on other sites More sharing options...
Rezdbic Posted September 26, 2022 Share Posted September 26, 2022 Подключение по ssh к entware выглядит так: Quote Link to comment Share on other sites More sharing options...
terrabyte Posted September 26, 2022 Share Posted September 26, 2022 1 минуту назад, Rezdbic сказал: Подключение по ssh к entware выглядит так: Я давненько подключался настраивал да выглядело именно так. Устанавливал mc и т.д Но сейчас почему то так. В чем причина? Quote Link to comment Share on other sites More sharing options...
Orbit Posted September 26, 2022 Share Posted September 26, 2022 (edited) Порт другой попробуйте типа 222. Цитата Edited September 26, 2022 by Orbit Quote Link to comment Share on other sites More sharing options...
terrabyte Posted September 26, 2022 Share Posted September 26, 2022 (edited) 15 минут назад, Orbit сказал: Порт другой попробуйте типа 222. Изменил порт в веб интерфейсе на 222. В putty 222 и теперь пароль не подходит 🤔UPD: перезагрузил зашел по порту 222, но опять же в CLI Edited September 26, 2022 by terrabyte 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.