Mikrotik. Upravljanje preko SMS-a uz pomoć WEB servera

Pozdrav svima!

Ovaj put sam odlučio opisati situaciju koja očigledno nije mnogo obrađena na internetu, iako ima nekih nagoveštaja, ali je veći deo došao iz dugotrajnog metodičnog kopanja koda i wiki stranice samog Mikrotika.

Dakle, zadatak je: realizovati upravljanje više uređaja putem SMS-a, koristeći primer uključivanja i isključivanja portova.

Imamo:

  1. Sekundarni ruter CRS317-1G-16S+
  2. Pristupna tačka Mikrotik NETMETAL 5
  3. LTE modem R11e-LTE

Počnimo od toga da divna pristupna tačka Netmetal 5 ima lemi konektor za SIM karticu i port za instalaciju LTE modema. Zato je za ovu tačku kupljen suštinski najbolji modem koji je bio dostupan i koji podržava operativni sistem same tačke, a to je R11e-LTE. Tačka je demontirana, sve je instalirano na svoja mesta (iako treba znati da je SIM kartica smeštena ispod modema i da je bez skidanja glavne ploče ne moguće izvaditi), pa proverite SIM karticu na funkcionalnost, inače ćete morati nekoliko puta da demontirate pristupnu tačku.

Zatim smo izbušili par rupa u kućištu, instalirali dva pigtail kabla i učvrstili krajeve na modem. Nažalost, fotografije procesa nisu sačuvane. S druge strane, na pigtail kablove su postavljene univerzalne antene sa magnetnom bazom.

Glavni koraci podešavanja su na internetu prilično dobro opisani, osim nekih sitnih grešaka u interakciji. Na primer, modem prestaje da prima SMS poruke kada ih stigne 5 i one ostanu u Inboxu; brisanje poruka ili ponovno pokretanje modema ne rešavaju uvek problem. Međutim, u verziji 6.44.1 prijem radi stabilnije. U Inboxu se prikazuje poslednjih 4 SMS-a, svi ostali se automatski brišu i ne ometaju život.

Osnovna svrha eksperimenta je gašenje i uključivanje interfejsa na dva rutera unutar iste fizičke mreže. Glavna poteškoća je bila u tome što Mikrotik ne podržava upravljanje putem SNMP-a, a omogućava samo očitavanje vrednosti. Zato je bilo potrebno kopati u drugom pravcu, a to je Mikrotik API.

Nema jasne dokumentacije o tome kako upravljati, pa je bilo potrebno eksperimentisati, a za buduće pokušaje napravljena je ova instrukcija.

Za upravljanje više uređaja biće potreban dostupan i funkcionalan WEB server u lokalnoj mreži, na kojem će se vršiti upravljanje putem komandi Mikrotik.

1. На Netmetal 5 нужно написать несколько скриптов для включения и отключения соответственно

системный скрипт
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 скрипта на веб strežnikom (конечно, на системе в данном случае должен быть установлен php):

debug=true;

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

debug=true;

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

3. Скачать с форума Mikrotik routeros_api.class.php и разместить его в доступном каталоге на strežnikom.

вместо sfp-sfpplus16 нужно указать имя отключаемого\/включаемого интерфейса.

Теперь при отправке сообщения на номер в виде

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

NETMETAL будет запускать соответствующий скрипт, который выполнит команду на WEB сервере.

Скорость выполнения операций при получении SMS — доли секунды. Работает стабильно.

Кроме того, есть функционал отправки СМС на телефоны через систему мониторинга Zabbix и открытия резервного выхода в интернет при падении оптики. Это выходит за рамки этой статьи, но сразу скажу, что при отправке SMS их длина должна укладываться в стандартный размер одного сообщения, так как Mikrotik не делит их на части, и при поступлении длинного сообщения просто его не отправляет. Также нужно фильтровать символы, передаваемые в сообщениях, в противном случае СМС не будет отправлено.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster