Управление Mikrotik удаленно при помощи SMS

В этой статье мы поговорим о том, как можно управлять Mikrotik удаленно при помощи SMS-сообщений. Само собой разумеется, данная инструкция применима для Mikrotik под управлением RouterOS, с установленным 3G-модемом.
Хотите научиться работать с MikroTik? В этом поможет углубленный курс по администрированию MikroTik. Получите демо-доступ к этому курсу бесплатно.
Предположим, у нас уже есть настроенная система, по примеру двух предыдущих публикаций. RouterOS имеет неплохой функционал для работы с SMS. Находится он в разделе Tool — SMS. Для того, чтобы Mikrotik имел возможность принимать SMS-сообщения, необходимо активировать соответствующий параметр «Receive Enabled» (Получение включено).
Дополнительно нам потребуется настроить следующие параметры:
  • Port. — как несложно догадаться, это порт USB, на котором находится наш модем;
  • Channel — зависит от установленного модема; для Huawei E173 используется 2-й канал, для остальных модемов информацию необходимо искать, либо подбирать самостоятельно;
  • Secret — специальный пароль, без которого Mikrotik не будет выполнять команды во входящих SMS;
  • Allowed Number — «разрешенный номер», опция необязательна, при её установке, Mikrotik будет выполнять команды только от указанного номера;
  • Keep Max SMS — количество хранимых сообщений; все сообщения хранятся на SIM-карте, поэтому если вы укажите слишком большое количество, а количество сохраненных SMS достигнет предела, Mikrotik не сможет получать новые SMS. Лично я установил 10 — более, чем достаточно.
Есть при настройке пара нюансов, о которых важно помнить! При включенном получении сообщений, поменять параметры нельзя. Поэтому для смены параметров, сначала отключаем получение сообщений, далее меняем параметры, после чего уже можно активировать опцию «Receive Enabled».
Второй нюанс заключается в том, что RouterOS после перезагрузки автоматически отключает приём SMS и после каждой перезагрузки эту опцию необходимо включать вручную.
Чтобы этого не делать вручную, можно создать простенький скрипт с командой

/tool sms set receive-enabled=yes
Лично я назвал его «enable_sms». Запускать скрипт этот требуется только после запуска модема. Как же быть? В коде перед командой включения можно добавить задержку, к примеру, 120 секунд.

:delay 120s;
В идеале, нужно добавить также проверку, загрузился ли интерфейс, после чего уже менять настройки. Лично я пошел самым простым путем — в планировщике создал задание с запуском скрипта каждые 10 минут (интервал можно увеличить).
Вот собственно и все настройки, наш Mikrotik уже готов принимать команды.

Отправка SMS-команд на Mikrotik

Синтаксис команды следующий:

:cmd 1234567 script script_name
Здесь 1 234 567 — пароль, без него Mikrotik не будет выполнять команд; script_name — название скрипта, который необходимо запустить.
Вы можете создать любое количество скриптов, которые будут выполнять необходимые команды. Ниже я приведу несколько команд, которые использую лично я.
Отправка SMS-команд на Mikrotik
Создаем скрипт под названием «reboot», пишем в него код:

/tool sms send usb1 channel=2 "+380931234567" message="Rebooting Mikrotik...";
:delay 5s;
/system reboot
Данный скрипт отправляет на заданный телефон уведомление о том, что Mikrotik выполняет перезагрузку, после небольшой задержки выполняется перезапуск. Задержка необходима для того, чтобы маршрутизатор успел отправить SMS-уведомление.
Для того, чтобы убедиться, что маршрутизатор перезапустился, можно создать новый скрипт, отправляющий SMS, не забудьте про задержку перед отправкой сообщения. Сам скрипт добавить в планировщик, запуск выбрать «startup», т.е. при запуске.
Перезагрузка 3G-интерфейса
Создаем скрипт под названием «reboot3g», пишем в него код:

:log warning ("Rebooting 3G via SMS command");
/tool sms send usb1 channel=2 "+380931234567" message="Rebooting 3G modem...";
/interface ppp-client set ppp-out1 disable=yes;
:delay 1s;
/interface ppp-client set ppp-out1 disable=no;
+380931234567 – как и в предыдущем скрипте меняем на свой номер. ppp-out1 – название нашего 3G-подключения.
Вот собственно и всё, изучаем официальную документацию и создаем необходимые скрипты.
Хотите научиться работать с MikroTik? В этом поможет углубленный курс по администрированию MikroTik. Получите демо-доступ к этому курсу бесплатно.