Mikrotik. Kontrolloni me SMS duke përdorur serverin WEB

Mirëdita të gjithëve!

Këtë herë vendosa të përshkruaj një situatë që duket se nuk përshkruhet veçanërisht në internet, megjithëse ka disa sugjerime për të, por pjesa më e madhe ishte thjesht një gërmim i gjatë metodik i kodit dhe i vetë wiki-t të Mikrotik.

Detyra aktuale: të zbatoni kontrollin e disa pajisjeve duke përdorur SMS, duke përdorur shembullin e ndezjes dhe fikjes së porteve.

Në dispozicion:

  1. Ruteri dytësor CRS317-1G-16S+
  2. Pika aksesi Mikrotik NETMETAL 5
  3. Modemi LTE R11e-LTE

Le të fillojmë me faktin se pika e mrekullueshme e hyrjes Netmetal 5 ka në bord një lidhës të ngjitur të kartës SIM dhe një port për instalimin e një modemi LTE. Prandaj, për këtë pikë, në thelb u ble modemi më i mirë nga ai që disponohej dhe mbështetej nga vetë sistemi operativ i pikës, përkatësisht R11e-LTE. Pika e hyrjes u çmontua, gjithçka u instalua në vendin e vet (megjithëse duhet të dini se karta SIM ndodhet nën modem dhe nuk është e mundur ta merrni pa hequr bordin kryesor), kështu që kontrolloni kartën SIM për funksionalitet, përndryshe do t'ju duhet të çmontoni disa herë pikën e hyrjes.

Më pas, shpuam disa vrima në kasë, instaluam 2 bishta dhe siguruam skajet në modem. Fatkeqësisht, asnjë foto e procesit nuk mbijetoi. Nga ana tjetër, antenat universale me një bazë magnetike u ngjitën në bisht.

Hapat kryesorë të konfigurimit përshkruhen mjaft mirë në internet, përveç boshllëqeve të vogla të ndërveprimit. Për shembull, modemi ndalon marrjen e mesazheve SMS kur mbërrijnë 5 prej tyre dhe ato varen në Inbox; pastrimi i mesazheve dhe rinisja e modemit nuk e zgjidh gjithmonë problemin. Por në versionin 6.44.1 pritja funksionon më e qëndrueshme. Inbox shfaq 4 sms-të e fundit, pjesa tjetër fshihet automatikisht dhe nuk ndërhyn në jetë.

Qëllimi kryesor i eksperimentit është të çaktivizojë dhe ndezë ndërfaqet në dy ruterë në të njëjtin rrjet fizik. Vështirësia kryesore ishte se Mikrotik nuk mbështet menaxhimin nëpërmjet SNMP, por lejon vetëm leximin e vlerave. Prandaj, më duhej të gërmoja në drejtimin tjetër, përkatësisht Mikrotik API.

Nuk ka asnjë dokumentacion të qartë se si ta kontrolloja, kështu që më duhej të eksperimentoja dhe ky udhëzim u bë për përpjekjet e ardhshme.

Për të menaxhuar pajisje të shumta, do t'ju duhet një server WEB i aksesueshëm dhe funksional në rrjetin lokal; ai do të duhet të kontrollohet duke përdorur komandat Mikrotik.

1. Në Netmetal 5 ju duhet të bëni disa skripta për ta ndezur dhe fikur, përkatësisht

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. Krijoni 2 skripta në serverin e internetit (natyrisht, php duhet të instalohet në sistem në këtë rast):

<?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. Shkarkoni routeros_api.class.php nga forumi i Mikrotik dhe vendoseni në një direktori të aksesueshme në server.

Në vend të sfp-sfpplus16 ju duhet të specifikoni emrin e ndërfaqes që do të çaktivizohet/aktivizohet.

Tani, kur dërgoni një mesazh në një numër në formular

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

NETMETAL do të nisë skriptin përkatës, i cili nga ana tjetër do të ekzekutojë komandën në serverin WEB.

Shpejtësia e operacioneve kur merrni SMS është një pjesë e sekondës. Punon në mënyrë të qëndrueshme.

Përveç kësaj, ekziston funksionaliteti për dërgimin e SMS në telefona nga sistemi i monitorimit Zabbix dhe hapja e një lidhjeje rezervë në internet nëse optika dështon. Ndoshta kjo është përtej qëllimit të këtij artikulli, por unë do të them menjëherë se kur dërgoni SMS, gjatësia e tyre duhet të përshtatet në madhësinë standarde të një mesazhi, sepse ... Mikrotik nuk i ndan ato në pjesë, dhe kur arrin një mesazh i gjatë, thjesht nuk e dërgon atë, përveç kësaj, duhet të filtrosh karakteret e transmetuara në mesazhe, përndryshe SMS nuk do të dërgohet.

Burimi: www.habr.com

Shto një koment