Сбор параметров соединения со спутниковых модемов Hughes HN92XX

Автор: | 2017-02-05

В ситуации, когда Mikrotik стоит за спутниковым модемом, резонно собирать и централизованно хранить инфу о параметрах соединения, как и в случае с GSM-модемами.
Способ реализации для спутниковых модемов Hughes HN92XX в этой заметке.

К великой радости, данные модемы показывают параметры в виде статичных html-страниц:
Окно интерфейса модема
Осталось только их скачать и распарсить.

Подготовка
В моём случае, спутниковый модем подключается к порту ether1-gateway, на котором поднят DHCP-клиент с дистанцией шлюза 1.
Соответственно, чтобы получить IP-адрес модема, нужно узнать статус DHCP-клиента и если он получил параметры, то взять из таблицы маршрутизации шлюз с метрикой 1.

Для работы с Web в Mikrotik‘ах есть команда fetch из группы tool. Команда может рабртать с HTTP, HTTPS, FTP, поддерживает Basic auth, ей можно отправлять GET-запросы с параметрами на сервер и т.д., но есть в ней фатальный недостаток — она не умеет писать результат в переменную или на какой-нибудь RAM-диск. Поиски решения проблемы, привили меня на оф. форум микротика, где в теме о DynDNS поднимался вопрос: «а не сотрётся ли до дыр флеш память если раз в 5 минут писать на флешку?». Как я понял — разработчик, ответил, что писать результат в переменную и/или сделать RAM-диск — хорошая мысль и они подумают об этом. Ветка датировалась прошлым десятилетием…

Так как основной инфой для меня является SiteID и серийный номер модема, которые не меняются так уж часто и в целях заботы о флешке, было решено делать опрос раз в, приблизительно, 7 дней.
Что значит «приблизительно»? Т. к. встроенных функций вычисления разности дат в Mikrotik’ах нет, а писать точный алгоритм длинно, муторно да и, откровенно говоря, не нужно, я принял, что в месяце 30 дней.

Ну а дальше всё просто: смотрим код html’ки и парсим функциями find/pick

Скрипт

Ну и теперь это можно присоседить к скрипту из заметки про GSM и в зависимости от типа подключения нам будут приходить релевантные данные.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *