Добрый день! Из-за проблем с мобильныи интернетом с контроллером происходят чудеса.
Есть основной канал, идущий через роутер с мобильным интернетом (Оператор А), подключение к роутеру по проводу. Есть модем, установленный в контроллер (Оператор Б).
На вики есть статейка, про настройку сетевизнов и настройку адреса сайта, по которому контроллер считает доступность интернета.
Есть самописный скрипт, который отслеживает параметры “network/Ethernet IP Online Status”, “network/GPRS IP Connection Enabled” и “network/GPRS IP Online Status”. По ним он решает подымать VPN для удалённого доступа к контроллеру или нет.
Есть системнный скрипт /usr/share/wb-rules-system/rules/network.js , который рулит этими флажками исходя из доступности хоста 1.1.1.1.
В итоге можем иметь ситуацию коллизий, когда 1.1.1.1 доступен, инет вроде как есть и он хорош, но контроллер считает, что его нет, тк провайдер решил заблокировать доступ к сайту, через который контроллер проверяет наличие интернета. В итоге контроллер решает, что ему нужно поднять GPRS и пытаться работать через него, а оператор Б вообще решил связь положить в этот момент. Очень весело бывает, когда в этот момент тянутся обновления или делаются бэкапы.
Ладно, мы подымаем свой сервис, который нам говорит, что у нас есть доступ в инет и прописываем его в настройках, через веб интерфейс.
Но тут возникает другая ситуация. Оператор А кладёт почти всю сеть, но вот поднятый нами сервис оказывается в зоне доступа, и контроллер считает, что у нас доступ в интернет через основной канал есть. Но флаги доступа в интернет скинуты. При этом интернет, хоть и плохенький через Оператора Б есть в полном объёме. Но контроллер об этом никак не может узнать, тк интернет через модем он потушен из-за “наличия” интернета на основном канале. Тут по крайней мере бэкапы сольются без проблем на тот сервер, где мы подняли страничку проверки доступности интернета. Но вот рулить контроллером остаётся только через СМС.
В итоге из-за несогласованности настроек и выставления соответствующих флагов бывает проблематично рулить контроллером удалённо.
И тут возникает вопрос: а можно как-то в режиме реального времени рулить соединениями, чтобы нарисовать более интеллектуальный скрипт, отвечающий за доступ к сети?
И ещё, иногда модем, из-за игр Оператора Б с доступом к сети, переходит в некий статус enabled, в котором он ни на что не реагирует, даже СМС не принимает. Спасает только отправка команды mmcli -m -r .