Mikrotik. Administrado per SMS uzante TTT-servilon

Bonan tagon al ĉiuj!

Ĉi-foje mi decidis priskribi situacion, kiu ŝajnas ne aparte priskribita en la Interreto, kvankam estas kelkaj sugestoj pri ĝi, sed plejparte ĝi estis nur longa metoda fosado de la kodo kaj la vikio de Mikrotik mem.

La reala tasko: efektivigi kontrolon de pluraj aparatoj uzante SMS, uzante la ekzemplon de ŝaltado kaj malŝalto de havenoj.

Disponebla:

  1. Malĉefa enkursigilo CRS317-1G-16S+
  2. Mikrotik NETMETAL 5 alirpunkto
  3. LTE-modemo R11e-LTE

Ni komencu per la fakto, ke la mirinda alirpunkto Netmetal 5 havas surŝipe lutita SIM-karto-konektilo kaj haveno por instali LTE-modemon. Tial, por ĉi tiu punkto, esence la plej bona modemo estis aĉetita de kio estis disponebla kaj subtenata de la operaciumo de la punkto mem, nome R11e-LTE. La alirpunkto estis malmuntita, ĉio estis instalita en sia loko (kvankam vi devas scii, ke la SIM-karto situas sub la modemo kaj ne eblas akiri ĝin sen forigi la ĉeftabulo), do kontrolu la SIM-karton por funkciado, alie vi devos plurfoje malmunti la alirpunkton.

Poste, ni boris kelkajn truojn en la kazo, instalis 2 pigtails kaj sekurigis la finojn al la modemo. Bedaŭrinde, neniuj fotoj de la procezo pluvivis. Aliflanke, universalaj antenoj kun magneta bazo estis fiksitaj al la porkoj.

La ĉefaj agordaj paŝoj estas sufiĉe bone priskribitaj en la Interreto, escepte de etaj interagaj mankoj. Ekzemple, la modemo ĉesas ricevi SMS-mesaĝojn kiam 5 el ili alvenas kaj ili pendas en la Enirkesto; malplenigi mesaĝojn kaj rekomenci la modemon ne ĉiam solvas la problemon. Sed en versio 6.44.1 la ricevo funkcias pli stabile. Enirkesto montras la lastajn 4 sms, la ceteraj estas aŭtomate forigitaj kaj ne malhelpas la vivon.

La ĉefa celo de la eksperimento estas malŝalti kaj ŝalti interfacojn sur du enkursigiloj sur la sama fizika reto. La ĉefa malfacilaĵo estis, ke Mikrotik ne subtenas administradon per SNMP, sed nur permesas legi valorojn. Tial, mi devis fosi en la alia direkto, nome la Mikrotik API.

Ne estas klara dokumentado pri kiel kontroli ĝin, do mi devis eksperimenti kaj ĉi tiu instrukcio estis farita por estontaj provoj.

Por administri plurajn aparatojn, vi bezonos alireblan kaj funkciantan TTT-servilon en la loka reto; ĝi devos esti kontrolita per Mikrotik-komandoj.

1. Sur Netmetal 5 vi devas fari kelkajn skriptojn por ŝalti kaj malŝalti ĝin, respektive

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. Kreu 2 skriptojn en la retservilo (kompreneble, php devas esti instalita en la sistemo ĉi-kaze):

<?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. Elŝutu routeros_api.class.php el la forumo Mikrotik kaj metu ĝin en alirebla dosierujo sur la servilo.

Anstataŭ sfp-sfpplus16 vi devas specifi la nomon de la interfaco por esti malŝaltita/ebligita.

Nun, kiam vi sendas mesaĝon al numero en la formo

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

NETMETAL lanĉos la respondan skripton, kiu siavice ekzekutos la komandon sur la TTT-servilo.

La rapideco de operacioj kiam ricevas SMS estas frakcio de sekundo. Funkcias stabile.

Krome, ekzistas funkcieco por sendi SMS al telefonoj per la monitora sistemo Zabbix kaj malfermi rezervan Interretan konekton se la optiko malsukcesas. Eble ĉi tio preterpasas la amplekson de ĉi tiu artikolo, sed mi tuj diros, ke kiam ili sendas SMS, ilia longo devus konveni al la norma grandeco de unu mesaĝo, ĉar... Mikrotik ne dividas ilin en partojn, kaj kiam longa mesaĝo alvenas, ĝi simple ne sendas ĝin, krome, vi devas filtri la signojn transdonitajn en la mesaĝoj, alie la SMS ne estos sendita.

fonto: www.habr.com

Aldoni komenton