Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

В теме описывается управление интерфейсами через ndmq.

А нельзя ли для этого использовать утилиту ip?

ip link set dev ppp0 up/down

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

Опубликовано
17 минут назад, evgeny1503 сказал:

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

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

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

Опубликовано
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 и т.д.

Опубликовано (изменено)
2 часа назад, Александр Рыжов сказал:

По description в выводе

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

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

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

Изменено пользователем evgeny1503
  • 3 месяца спустя...
Опубликовано
В 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 месяц спустя...
  • 5 недель спустя...
Опубликовано
35 минут назад, zirm33 сказал:

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

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

Опубликовано
В 29.07.2022 в 11:16, Rezdbic сказал:

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

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

  • 2 недели спустя...
Опубликовано
В 29.07.2022 в 10:41, zirm33 сказал:

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

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

  • 2 недели спустя...
Опубликовано
Цитата

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

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

Опубликовано

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

Опубликовано (изменено)
В 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

Изменено пользователем winnie57
Вернул в скрипт проверку наличия пакета jq и установку его при отсутствии.
  • 2 недели спустя...
Опубликовано
В 13.09.2022 в 17:16, winnie57 сказал:

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

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

Опубликовано
2 часа назад, terrabyte сказал:

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

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

Опубликовано (изменено)
1 час назад, Rezdbic сказал:

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

 

 

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

Putty.PNG

 

Изменено пользователем terrabyte
Опубликовано (изменено)
15 минут назад, Rezdbic сказал:

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

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

Изменено пользователем terrabyte
Опубликовано

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

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

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

Опубликовано
11 минуту назад, terrabyte сказал:

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

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

Опубликовано (изменено)
3 минуты назад, Rezdbic сказал:

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

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

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

SSH.PNG.0a548d1f55359e7e6ef34c24ebe80236.PNG

 

Изменено пользователем terrabyte
Опубликовано
1 минуту назад, Rezdbic сказал:

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

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

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

Опубликовано (изменено)

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

Цитата

 

 

Изменено пользователем Orbit
Опубликовано (изменено)
15 минут назад, Orbit сказал:

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

 

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

Изменено пользователем terrabyte

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.