Mikrotik. Nadzor prek SMS-a preko WEB strežnika

Dober dan vsem!

Tokrat sem se odločil, da opišem situacijo, ki na spletu ni videti posebej opisana, čeprav je nekaj namigov o njej, večinoma pa je šlo le za dolgo metodično kopanje po kodi in samem wikiju Mikrotika.

Dejanska naloga: implementirati nadzor več naprav s pomočjo SMS-a na primeru vklopa in izklopa vrat.

Na voljo:

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

Začnimo z dejstvom, da ima čudovita dostopna točka Netmetal 5 na krovu spajkani priključek za kartico SIM in vrata za namestitev modema LTE. Zato je bil za to točko nabavljen v bistvu najboljši modem od tistega, kar je bilo na voljo in podprto s samim operacijskim sistemom točke in sicer R11e-LTE. Dostopna točka je bila razstavljena, vse je bilo nameščeno na svoje mesto (čeprav morate vedeti, da se SIM kartica nahaja pod modemom in je ni mogoče dobiti, ne da bi odstranili glavno ploščo), zato preverite delovanje SIM kartice, sicer boste morali dostopno točko večkrat razstaviti.

Nato smo izvrtali nekaj lukenj v ohišje, namestili 2 zatiča in konce pritrdili na modem. Na žalost se fotografije procesa niso ohranile. Po drugi strani pa so bile univerzalne antene z magnetno osnovo pritrjene na pigtails.

Glavni koraki nastavitve so precej dobro opisani na internetu, razen manjših medsebojnih vrzeli. Na primer, modem preneha prejemati sporočila SMS, ko jih prispe 5 in obstanejo v mapi Prejeto; brisanje sporočil in ponovni zagon modema ne rešita vedno težave. Toda v različici 6.44.1 sprejem deluje bolj stabilno. Inbox prikazuje zadnje 4 sms-e, ostali se samodejno izbrišejo in ne motijo ​​življenja.

Glavni cilj eksperimenta je izklop in vklop vmesnikov na dveh usmerjevalnikih v istem fizičnem omrežju. Glavna težava je bila v tem, da Mikrotik ne podpira upravljanja preko SNMP, ampak omogoča le branje vrednosti. Zato sem moral kopati v drugo smer, in sicer v Mikrotik API.

Ni jasne dokumentacije o tem, kako ga nadzorovati, zato sem moral eksperimentirati in to navodilo je bilo pripravljeno za prihodnje poskuse.

Za upravljanje več naprav boste potrebovali dostopen in delujoč SPLETNI strežnik v lokalnem omrežju, ki ga boste morali nadzirati z ukazi Mikrotik.

1. Na Netmetal 5 morate narediti nekaj skriptov za vklop in izklop

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. Ustvarite 2 skripta na spletnem strežniku (v tem primeru mora biti php seveda nameščen na sistemu):

<?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. Prenesite routeros_api.class.php s foruma Mikrotik in ga postavite v dostopen imenik na strežniku.

Namesto sfp-sfpplus16 morate podati ime vmesnika, ki ga želite onemogočiti/omogočiti.

Zdaj, ko pošljete sporočilo na številko v obrazcu

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

NETMETAL bo zagnal ustrezno skripto, ta pa bo izvršila ukaz na SPLETNEM strežniku.

Hitrost delovanja pri prejemu SMS je delček sekunde. Deluje stabilno.

Poleg tega obstaja funkcionalnost za pošiljanje SMS-ov na telefone s sistemom za nadzor Zabbix in odpiranje rezervne internetne povezave, če optika odpove. Morda to presega obseg tega članka, vendar bom takoj rekel, da se mora pri pošiljanju SMS-ov njihova dolžina prilegati standardni velikosti enega sporočila, ker ... Mikrotik jih ne deli na dele in ko prispe dolgo sporočilo, ga preprosto ne pošlje, poleg tega morate filtrirati znake, ki se prenašajo v sporočilih, sicer SMS ne bo poslan.

Vir: www.habr.com

Dodaj komentar