Jump to content

Recommended Posts

Posted
17 минут назад, evgeny1503 сказал:

Или тут другой механизм и он хуже?

Большей частью сетевых интерфейсов управляет прошивка. По CI (ndmq) или RCI-интерфейсу мы взаимодействуем с логикой прошивки, а с помощью ip link … down непосредственно с сетевым интерфейсом. 

Первый вариант, разумеется, предпочтительней.

Posted
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 и т.д.

Posted (edited)
2 часа назад, Александр Рыжов сказал:

По description в выводе

 wget -qO - http://127.0.0.1:79/rci/show/interface

Пожалуйста, дальше покопайте сами.

Спасибо, копаю. Похоже ndmq уже не актуально... Теперь надо копать в сторону rest

Edited by evgeny1503
  • 3 months later...
Posted
В 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.

  • 1 month later...
  • 5 weeks later...
Posted
35 минут назад, zirm33 сказал:

Поделитесь, пожалуйста, рабочим скриптом на прошивке 3.8.3. 

Он есть на предыдущей странице

Posted
В 29.07.2022 в 11:16, Rezdbic сказал:

Он есть на предыдущей странице

Этот скрипт у меня тоже почему то перестал работать на прошивке 3.8.3

  • 2 weeks later...
Posted
В 29.07.2022 в 10:41, zirm33 сказал:

Поделитесь, пожалуйста, рабочим скриптом на прошивке 3.8.3. 

У меня тоже не работал. Оказалось что права на файл скрипта были 0644, а должны быть 0755. Исправил и всё заработало. Проверьте у себя.

  • Thanks 1
  • 2 weeks later...
Posted
Цитата

У меня тоже не работал. Оказалось что права на файл скрипта были 0644, а должны быть 0755. Исправил и всё заработало. Проверьте у себя.

Можно подробнее, как это сделать?

Posted
В 01.09.2022 в 11:04, zirm33 сказал:

Можно подробнее, как это сделать?

chmod 0755 имя_скрипта.sh

Posted

Скрипт работает, но в журнале периодически такая ошибка (Opkg::Manager: /opt/etc/ndm/wan.d/white-ip.sh: exit code 1.). Это на что-то влияет? 

Posted

Скиньте, пожалуйста, рабочий скрипт файлом с правильными правами. (Rostelecom)

Posted (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 by winnie57
Вернул в скрипт проверку наличия пакета jq и установку его при отсутствии.
  • Thanks 4
  • 2 weeks later...
Posted
В 13.09.2022 в 17:16, winnie57 сказал:

chmod +x /opt/etc/ndm/wan.d/030-rostelecom.sh

Подскажите пожалуйста как выполнить команду? Подключаюсь к роутеру через putty, ввожу команду и выдает что такая команда chmod не существует.

Posted
2 часа назад, terrabyte сказал:

Подскажите пожалуйста как выполнить команду? Подключаюсь к роутеру через putty, ввожу команду и выдает что такая команда chmod не существует.

Покажите что конкретно вводите и то что получаете в ответ

Posted (edited)
1 час назад, Rezdbic сказал:

Покажите что конкретно вводите и то что получаете в ответ

 

 

Скрытый текст

Putty.PNG

 

Edited by terrabyte
Posted (edited)
15 минут назад, Rezdbic сказал:

Вы подключаетесь к роутеру по telnet, а надо по ssh. Entware установлен?

Entware установлен. Иначе куда бы я скрипт то закинул?. Подключаюсь именно по SSH

Edited by terrabyte
Posted

Часто, когда перезагружается роутер или по какой-то другой причине бывает ситуация, что GPON модем уже установил соединение с серым IP, роутер загружается, видит поднятое соединение и работает с этим соединением. Соответственно не отрабатывает скрипт в wan.d. По крайней мере я так представляю ситуацию. Приходится руками разрывать соединение, тогда всё  начинает работать как запланировано, пока не добьёмся белого IP. (По крайней мере я так вижу происходящее)

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

Не кроном же это проверять...

Posted
11 минуту назад, terrabyte сказал:

Entware установлен. Иначе куда бы я скрипт то закинул?. Подключаюсь именно по SSH

Нет, на вашем скриншоте подключение по telnet.

Posted (edited)
3 минуты назад, Rezdbic сказал:

Нет, на вашем скриншоте подключение по telnet.

Ну как же так то? Вот скрин putty тут жму open

Скрытый текст

SSH.PNG.0a548d1f55359e7e6ef34c24ebe80236.PNG

 

Edited by terrabyte
Posted
1 минуту назад, Rezdbic сказал:

Подключение по ssh к entware выглядит так:
 

Снимок экрана от 2022-09-26 15-01-28.png

Я давненько подключался настраивал да выглядело именно так. Устанавливал mc и т.д Но сейчас почему то так. В чем причина?

Posted (edited)

Порт другой попробуйте типа 222.

Цитата

 

 

Edited by Orbit
Posted (edited)
15 минут назад, Orbit сказал:

Порт другой попробуйте типа 222.

 

Изменил порт в веб интерфейсе на 222. В putty 222 и теперь пароль не подходит 🤔UPD: перезагрузил зашел по порту 222, но опять же в CLI

Edited by terrabyte
Posted

Вроде порт entware в веб-интерфейсе не меняется...

root/keenetic попробуйте.

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.