Mikrotik. Упраўленне праз SMS пры дапамозе WEB сервера

Доброго всем дня!

На гэты раз вырашыў апісаць сітуацыю, якая быццам бы і не асоба апісана ў інтэрнэце, хоць некаторыя намёкі на яе ёсць, але большая частка дасталася проста доўгім метадычным капаннем кода і вікі самога Mikrotik.

Уласна задача: рэалізаваць пры дапамозе SMS кіраваннем некалькімі прыладамі, на прыкладзе ўключэння і выключэнні партоў.

Маецца:

  1. Другарадны маршрутызатар CRS317-1G-16S+
  2. Кропка доступу Mikrotik NETMETAL 5
  3. LTE мадэм R11e-LTE

Пачнем з таго што цудоўная кропка доступу Netmetal 5 мае на борце разлітаваны раздым для гэтым карты і порт для ўсталёўкі LTE мадэма. Таму для гэтай кропкі быў набыты ў сутнасці лепшы мадэм з таго, што было даступна і падтрымлівалася аперацыйнай сістэмай самай кропкі, а менавіта R11e-LTE. Кропка была разабраная, усё ўсталявана на свае месцы (хоць трэба ведаць, што гэтым карта размешчана пад мадэмам і без зняцця асноўнай платы яе немагчыма дастаць), таму праверце гэтым карту на працаздольнасць, інакш прыйдзецца некалькі разоў разбіраць кропку доступу.

Далей прасвідравалі пару адтулін у корпусе, усталявалі 2 пігтэйлы і канцы замацавалі на мадэме. Нажаль фота працэсу не захавалася. З іншага боку на пігтэйлы замацавалі ўніверсальныя антэны з магнітнай падставай.

Асноўныя этапы наладкі апісаны ў інтэрнэце дастаткова добра, акрамя дробных вушакоў ўзаемадзеяння. Напрыклад мадэм перастае прымаць паведамленні SMS, калі з паступае 5 штук і яны вісяць у Inbox, ачыстка паведамленняў, перазапуск мадэма не заўсёды вырашаюць праблему. Але ў версіі 6.44.1 прыём працуе больш стабільна. У Inbox адлюстроўваецца 4 апошнія sms, астатнія аўтаматычна сціраюцца і жыццю не перашкаджаюць.

Асноўная мэта эксперыменту тушыць і паднімаць інтэрфейсы на двух маршрутызатарах у адной фізічнай сетцы. Асноўная складанасць складалася ў тым, што Mikrotik не падтрымлівае кіраванне праз SNMP, а дазваляе толькі счытваць значэнні. Таму прыйшлося капаць у іншы бок, а менавіта Mikrotik API.

Дакладнай дакументацыі аб тым, як кіраваць няма, таму прыйшлося эксперыментаваць і для будучых спроб зроблена гэтая інструкцыя.

Для кіравання некалькімі прыладамі запатрабуецца даступны і працоўны WEB сервер у лакальнай сетцы, на яго ўскладаецца неабходнасць кіравання па камандах Mikrotik.

1. На Netmetal 5 трэба зрабіць пару скрыптоў для ўключэння і выключэнні адпаведна

system script
add dont-require-permissions=no name=disableiface owner=admin policy=
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=
    "/tool fetch http://WEB_SERVER_IP/di.php "
add dont-require-permissions=no name=enableiface owner=admin policy=
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=
    "/tool fetch http://WEB_SERVER_IP/en.php "

2. Стварыць 2 скрыпта на вэб серверы (вядома на сістэме ў дадзеным выпадку павінен быць усталяваны php):

<?php
# file en.php enable interfaces    
require('/usr/lib/zabbix/alertscripts/routeros_api.class.php');

    $API = new RouterosAPI();
    $API->debug=true;

if ($API->connect('IP управляемого Mikrotik', 'логин администратора', 'пароль администратора')) {
    $API->comm("/interface/ethernet/enable", array(
    "numbers"=>"sfp-sfpplus16",));
}
   $API->disconnect();
?>

<?php
#file di.php disable interfaces
    require('/usr/lib/zabbix/alertscripts/routeros_api.class.php');

    $API = new RouterosAPI();
    $API->debug=true;

if ($API->connect('IP управляемого Mikrotik', 'логин администратор', 'пароль администратора')) {
    $API->comm("/interface/ethernet/disable", array(
    "numbers"=>"sfp-sfpplus16",));
}
   $API->disconnect();
?>

3. Спампаваць з форума Mikrotik routeros_api.class.php і размясціць яго ў даступным каталогу на серверы.

замест sfp-sfpplus16 трэба паказаць імя адключанага/уключанага інтэрфейсу.

Цяпер пры адпраўцы паведамлення на нумар у выглядзе

:cmd СЕКРЕТНЫЙКОД script enableiface
или
:cmd СЕКРЕТНЫЙКОД script disableiface 

NETMETAL будзе запускаць які адпавядае скрыпт, а той у сваю чаргу выкананне каманды на WEB серверы.

Хуткасць выканання аперацый пры атрыманні смс долі секунды. Працуе стабільна.

Апроч гэтага ёсць функцыянал адпраўкі СМС на тэлефоны сістэмай маніторынгу Zabbix і адкрыццё рэзервовага выхаду ў інтэрнэт пры падзенні оптыкі. Мабыць гэта выходзь за рамкі гэтага артыкула, але скажу адразу, пры адпраўцы смс іх даўжыня павінна ўкладвацца ў стандартны памер аднаго паведамлення, т.я. Mikrotik не дзеліць іх на часткі, а пры паступленні доўгага паведамлення проста яго не адпраўляе, акрамя таго трэба фільтраваць знакі перадаюцца ў паведамленні, у адваротным выпадку СМС не адправіцца.

Крыніца: habr.com

Дадаць каментар