Jump to content

vassa

Forum Members
  • Posts

    8
  • Joined

  • Last visited

Everything posted by vassa

  1. Здравствуйте. Кропаю скрипт Ансибл для полнятия ВПСок, на определённом этапе надо поднимать Wireguard - соединение до ВПСок. Группы ВПСок успешно поднимают меш-соединение между собой, но мне надо и с роутера до них соединения поднять, чтобы не стопорился процесс выполнения скрипта, чтобы не ковырять ручками интерфейс, ну и просто чтобы меня не изолировало от ВПС-ки применением правил iptables. Ансибл, естественно, "знает" все необходимые параметры соединения. Как Кинетику это запихать? Опять проброс через веб 79 порта, базовая авторизация и пост/гет-запросы? Локально никак? Вот то, что в документации накопал по теме: Create interface pppoe1 POST /rci HTTP/1.1 Host: 192.168.1.1 Content-length: 39 Content-type: application/json {"interface":{"name":"PPPoE1","up":{}}} Create interface {{ ansible_vps_hostname }} POST /rci HTTP/1.1 Host: 192.168.2.1 Content-length: 39 Content-tupe: application/json {"interface":{"name":"{{ ansible_vps_hostname }}","up":{}}} (config-if)> wireguard listen-port ‹port› (config-if)wireguard peer ► gbp1g= (config-wg-peer)> allow-ips 192.168.11.0 255.255.255.0 (config-wg-peer)> endpoint 10.0.1.10:11635 (config-wg-peer)> keepalive-interval 3 (config-wg-peer)> preshared-key ► WY2f= (config-if)>wireguard private-key ► Usha= Wireguard::Interface: "Wireguard4": set private
  2. Как в кинетиках проверять/менять настройки мультикаста? Сервер, подключённый к одному роутеру, не видит UPnP мультикаст от телевизора, подключённого к ведомому роутеру. Всё в одном влане, всё по эзернету, всё должно бы работать, но не взлетает. И igmp snooping прям нужен - в локалке есть IoT устройства со слабыми сетевыми, одно из них - уличное, и я его намеренно "грею" спамом зимой, чтобы не замерзало, но остальные я кипятить не хочу.
  3. Многие правительства очень озабочены тем, чтобы список статических маршрутов пользователей интернета в их стране всё расширялся и расширялся. Так что страница статических маршрутов должна расширять функционал, в частности касаемо загрузки большого количества маршрутов из файла. Существующая на сегодня опция с бат-файлом не полностью функциональна.
  4. Скрипт на ведомом роутере не нужен. Пробросил cli-интерфейс через доменное имя, установил на Опенхаб HTTP binding и JSONPath transformation, для HTTP биндинга настроил URL до 79-го порта роутера, включил базовую аутентификацию, логин-пароль прокси роутера, тип state запроса GET, тип содержимого application/json, настроил каналы для rxspeed, txspeed, rxbytes, txbytes, URL extension /rci/show/interface/stat?name=PPPoE0 State Transformation JSONPATH:$.rxspeed. Работает в принципе. НО. График скорости не получается ровным=информативным, даже с пятисекундным интервалом можно попадать запросами точнёхонько в нулевую загрузку канала, хоть в остальные четыре секунды загрузка по плешку. Значительно возросла загрузка процессора сервачка Опенхаба. Так это же ещё по клиентам статистика не собирается, только по общему трафику. Выкатывать CLI во внешний интернет не очень хочется. Не оставляет чувство, что надо как-то вот это вот всё делать по-другому. Высчитывать скорость по разнице rxbytes, деля её на интервал запросов? Будут дикие пики, наверное, при перезагрузках сервака Опенхаба. Есть ли возможность опять же поднять на кинетике скрипт, который по крону раз в секунд 30 посылал бы post-запрос с этими данными в сторону Опенхаба, как в случае с подключеним девайсов к Wi-Fi? Как кинетик свой красивенький график рисует? Между прочим, у владельцев микротиков уже появился свой биндинг.
  5. Нашёл уже - *$DEV2* прописал вместо *$DEV4* для А5, наконтролвэшил, блин, жопа ленивая. Как-то осталось оттестировать работу с меш-системой, роутера у меня два, надо ли скрипт и опкг на ведомом роутере подключать. Ну и найти текущую загрузку внешнего канала, чтобы её тоже Опенхабу пересылать, получится месячный персистенс, который тут довольно многие просили.
  6. Ага, скрипт работает нормально, единственный момент - не было авторизации Опенхаба, вот и не было переключения соответствующих итемов. Авторизация реализуется добавлением в конец строчки с пост-запросом -u {USER_NAME}:{PASSWORD}, если включена базовая авторизация, или -u '{API_TOKEN}:', если включена авторизация по токену. Обнаружился нюанс - Galaxy A5 по какой-то причине не вызывает срабатывание скрипта. Mac прописан в скрипт верно, в чём тогда может быть причина?
  7. Понимать бы ещё, что же скрипт такое делает. Скрипт вида: #!/bin/sh DEV1="xxxxxxxxxxxxxxxxx" DEV2="xxxxxxxxxxxxxxxxx" DEV3="xxxxxxxxxxxxxxxxx" DEV4="xxxxxxxxxxxxxxxxx" AC1="new" AC2="del" replacement() { case "$1" in *$DEV1* ) echo "P";; *$DEV2* ) echo "M";; *$DEV3* ) echo "D";; *$DEV2* ) echo "A";; esac } replaceaction() { case "$1" in *$AC1* ) echo "ON";; *$AC2* ) echo "OFF";; esac } if [[ "$address" = "ipv4" && "$update" = "none" ]]; then #получаем mac устройства по ID mac=$(wget -qO - http://127.0.0.1:79/rci/show/ip/neighbour | jq --arg num "$id" '.[$num].mac') #проверяем mac на принадлежность нужному нам хосту who=$(replacement "$mac") [ -z "$who" ] && exit 0 act=$(replaceaction "$action") #публикуем mqtt сообщение типа "Device 1 new" и "Device 1 del" в топик zyxel curl -X POST --header "Content-Type: text/plain" --header "Accept: application/json" -d "$act" "http://192.168.1.9:8080/rest/items/" fi Мне как-то нифига не помогает добиться желаемого результата. Лог Кинетика в ответ: Opkg::Manager: /opt/etc/ndm/neighbour.d/010-neighbour.sh: % Total % Received % Xferd Average Speed Time Time Time Current. Opkg::Manager: /opt/etc/ndm/neighbour.d/010-neighbour.sh: Dload Upload Total Spent Left Speed.
  8. Старая песня о главном - умный роутер должен уметь работать с умным домом. Для автоматической постановки дома на охрану и снятия с охраны использую обнаружение телефонов пользователей по пингу, однако пингую раз в несколько минут, чтобы не посадить девайсам батарейки зазря. С постановкой это прокатывает - в любом случае введён лаг в 20 минут, чтобы не ставить на охрану, если просто во двор выскочил ненадолго, а вот со снятием уже не так гладко - приходится снимать ручками, так как пинг не всегда вовремя. Ну и в целом пингование девайсов - не совсем правильный метод, они поспать любят, вывесив одни только Wi-Fi биконы. В общем, нужно брать информацию об онлайне девайсов напрямую с Кинетиков. Итак, у нас есть некое API, а в опенхабе есть HTTP-биндинг, который умеет слать GET и POST-запросы, ну или самому можно написать биндинг, слушающий какой-нибудь порт на предмет POST-запросов. Что можно сделать с кинетиком, чтобы получать от него статусы конкретных девайсов по МАК-адресам, и как POST-запросом получить текущую загрузку канала? Вот один вариант, который здесь увидел, неплохой теоретически, но может он POST-запрос послать? Как посылать POST c Кинетика каждые н секунд с цифрой трафика?
×
×
  • Create New...