Mikrotik. Haldamine SMS-i kaudu WEB-serveri abil

Head päeva kõigile!

Otsustasin seekord kirjeldada olukorda, mida internetis justkui eriti ei kirjeldata, kuigi vihjeid selle kohta on, aga enamus oli vaid pikk metoodiline koodi ja Mikrotiku enda viki kaevamine.

Tegelik ülesanne: mitme seadme juhtimine SMS-i abil, kasutades portide sisse- ja väljalülitamise näidet.

Saadaval:

  1. Sekundaarne ruuter CRS317-1G-16S+
  2. Mikrotik NETMETAL 5 pöörduspunkt
  3. LTE-modem R11e-LTE

Alustame sellest, et imelise Netmetal 5 pääsupunkti pardal on joodetud SIM-kaardi pistik ja port LTE-modemi paigaldamiseks. Seetõttu osteti selle punkti jaoks sisuliselt parim modem sellest, mis oli saadaval ja mida toetas punkti enda operatsioonisüsteem, nimelt R11e-LTE. Pöörduspunkt võeti lahti, kõik paigaldati oma kohale (kuigi peate teadma, et SIM-kaart asub modemi all ja seda pole võimalik saada ilma põhiplaati eemaldamata), seega kontrollige SIM-kaardi funktsionaalsust, vastasel juhul peate pääsupunkti mitu korda lahti võtma.

Järgmiseks puurisime korpusesse paar auku, paigaldasime 2 patsi ja kinnitasime otsad modemi külge. Kahjuks ei säilinud ühtegi fotot protsessist. Patside külge kinnitati see-eest universaalsed magnetalusega antennid.

Peamised seadistusetapid on Internetis üsna hästi kirjeldatud, välja arvatud väikesed suhtluslüngad. Näiteks modem lõpetab SMS-sõnumite vastuvõtmise, kui neist saabub 5 ja need ripuvad sisendkausta; sõnumite kustutamine ja modemi taaskäivitamine ei lahenda alati probleemi. Kuid versioonis 6.44.1 töötab vastuvõtt stabiilsemalt. Inbox kuvab 4 viimast sms-i, ülejäänud kustutatakse automaatselt ega sega elu.

Katse põhieesmärk on lülitada välja ja sisse liidesed kahel ruuteril samas füüsilises võrgus. Peamine raskus seisnes selles, et Mikrotik ei toeta haldust SNMP kaudu, vaid võimaldab ainult väärtusi lugeda. Seetõttu pidin kaevama teises suunas, nimelt Mikrotik API-s.

Puudub selge dokumentatsioon, kuidas seda kontrollida, seega pidin katsetama ja see juhend tehti tulevaste katsete jaoks.

Mitme seadme haldamiseks on vaja ligipääsetavat ja töötavat WEB-serverit kohtvõrgus, mida tuleb juhtida Mikrotiku käskude abil.

1. Netmetal 5-s peate selle vastavalt sisse ja välja lülitamiseks tegema paar skripti

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. Loo veebiserverisse 2 skripti (loomulikult peab sel juhul olema süsteemi installitud 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. Laadige Mikrotiku foorumist alla routeros_api.class.php ja asetage see serveris ligipääsetavasse kataloogi.

Sfp-sfpplus16 asemel peate määrama keelatava/lubatava liidese nime.

Nüüd, kui saadate sõnumi vormis olevale numbrile

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

NETMETAL käivitab vastava skripti, mis omakorda täidab käsu WEB serveris.

Toimingute kiirus SMS-i vastuvõtmisel on sekundi murdosa. Töötab stabiilselt.

Lisaks on funktsionaalsus Zabbixi seiresüsteemi poolt telefonidesse SMS-ide saatmiseks ja optika rikke korral interneti varuühenduse avamiseks. Võib-olla jääb see sellest artiklist välja, kuid ütlen kohe, et SMS-ide saatmisel peaks nende pikkus mahtuma ühe sõnumi standardsuuruse sisse, sest... Mikrotik neid osadeks ei jaga ja pika sõnumi saabudes ta lihtsalt ei saada seda, lisaks tuleb sõnumites edastatavad märgid filtreerida, muidu SMS-i ei saadeta.

Allikas: www.habr.com

Lisa kommentaar