Mikrotik. Upravljanje putem SMS-a putem WEB poslužitelja

Dobar dan svima!

Ovoga puta odlučio sam opisati situaciju koja se ne čini posebno opisanom na internetu, iako ima nekih natuknica o tome, ali većinom je to bilo samo dugo metodično kopanje po kodu i samom wikiju Mikrotika.

Stvarni zadatak: implementirati kontrolu više uređaja pomoću SMS-a, koristeći primjer uključivanja i isključivanja portova.

Dostupno:

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

Počnimo s činjenicom da prekrasna pristupna točka Netmetal 5 ima na sebi zalemljeni konektor za SIM karticu i priključak za instaliranje LTE modema. Stoga je za ovu točku nabavljen u biti najbolji modem od onoga što je bilo dostupno i podržano operativnim sustavom same točke, a to je R11e-LTE. Pristupna točka je rastavljena, sve je postavljeno na svoje mjesto (iako morate znati da se SIM kartica nalazi ispod modema i nije ju moguće dobiti bez skidanja matične ploče), pa provjerite ispravnost SIM kartice, inače ćete morati nekoliko puta rastaviti pristupnu točku.

Zatim smo izbušili nekoliko rupa u kućištu, ugradili 2 spojnice i pričvrstili krajeve za modem. Nažalost, nijedna fotografija procesa nije sačuvana. S druge strane, univerzalne antene s magnetskom bazom bile su pričvršćene na pigtails.

Glavni koraci postavljanja prilično su dobro opisani na internetu, osim manjih praznina u interakciji. Na primjer, modem prestaje primati SMS poruke kada ih stigne 5 i one vise u Inboxu; brisanje poruka i ponovno pokretanje modema ne rješava uvijek problem. Ali u verziji 6.44.1 prijem radi stabilnije. Inbox prikazuje zadnja 4 sms-a, ostali se automatski brišu i ne ometaju život.

Glavni cilj eksperimenta je isključivanje i uključivanje sučelja na dva usmjerivača na istoj fizičkoj mreži. Glavna poteškoća bila je u tome što Mikrotik ne podržava upravljanje preko SNMP-a, već samo omogućuje očitavanje vrijednosti. Stoga sam morao kopati u drugom smjeru, odnosno Mikrotik API-ju.

Ne postoji jasna dokumentacija o tome kako to kontrolirati, pa sam morao eksperimentirati, a ova je uputa napravljena za buduće pokušaje.

Za upravljanje više uređaja trebat će vam dostupan i funkcionalan WEB poslužitelj na lokalnoj mreži, kojim se treba upravljati pomoću Mikrotik naredbi.

1. Na Netmetalu 5 trebate napraviti nekoliko skripti da biste ga uključili i isključili

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. Kreirajte 2 skripte na web poslužitelju (naravno, php mora biti instaliran na sustavu u ovom slučaju):

<?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. Preuzmite routeros_api.class.php s Mikrotik foruma i smjestite ga u pristupačan direktorij na poslužitelju.

Umjesto sfp-sfpplus16 trebate navesti naziv sučelja koje želite onemogućiti/omogućiti.

Sada, kada šaljete poruku na broj u obrascu

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

NETMETAL će pokrenuti odgovarajuću skriptu, koja će zauzvrat izvršiti naredbu na WEB poslužitelju.

Brzina rada prilikom primanja SMS-a je djelić sekunde. Radi stabilno.

Dodatno, postoji funkcionalnost za slanje SMS-a na telefone putem Zabbix nadzornog sustava i otvaranje rezervne internetske veze ako optika zakaže. Možda je to izvan okvira ovog članka, ali odmah ću reći da kod slanja SMS-a njihova duljina treba stati u standardnu ​​veličinu jedne poruke, jer... Mikrotik ih ne dijeli na dijelove, a kada stigne duga poruka jednostavno je ne pošalje, osim toga potrebno je filtrirati znakove koji se prenose u porukama, inače SMS neće biti poslan.

Izvor: www.habr.com

Dodajte komentar