Mikrotik. Kezelés SMS-ben WEB szerveren keresztül

Jó napot mindenkinek!

Ezúttal úgy döntöttem, hogy leírok egy olyan szituációt, amiről úgy tűnik, nincs különösebb leírás az interneten, bár van rá utalás, de a legtöbb csak a kód és magának a Mikrotik wikinek a hosszú módszeres ásása volt.

Az aktuális feladat: több eszköz vezérlésének megvalósítása SMS-sel, a portok be- és kikapcsolásának példáján.

Elérhető:

  1. Másodlagos útválasztó CRS317-1G-16S+
  2. Mikrotik NETMETAL 5 hozzáférési pont
  3. LTE modem R11e-LTE

Kezdjük azzal, hogy a csodálatos Netmetal 5 hozzáférési pont fedélzetén van egy forrasztott SIM-kártya csatlakozó és egy port az LTE modem telepítéséhez. Ezért erre a pontra lényegében a legjobb modemet vásároltuk abból, ami elérhető volt, és maga a pont operációs rendszere is támogatja, nevezetesen az R11e-LTE. A hozzáférési pontot szétszedték, mindent a helyére szereltek (bár tudni kell, hogy a SIM kártya a modem alatt van és az alaplap eltávolítása nélkül nem lehet hozzájutni), ezért ellenőrizze a SIM kártya működőképességét, különben többször szét kell szerelni a hozzáférési pontot.

Ezután fúrtunk néhány lyukat a házba, felszereltünk 2 pigtailset, és a végeit a modemhez rögzítettük. Sajnos a folyamatról egyetlen fotó sem maradt fenn. A copfokra viszont univerzális mágneses talpú antennákat erősítettek.

A fő beállítási lépések meglehetősen jól vannak leírva az interneten, kivéve a kisebb interakciós hiányosságokat. Például a modem leállítja az SMS üzenetek fogadását, amikor 5 megérkezik, és a Beérkezett üzenetek mappában marad; az üzenetek törlése és a modem újraindítása nem mindig oldja meg a problémát. De a 6.44.1-es verzióban a vétel stabilabban működik. Az Inbox az utolsó 4 sms-t jeleníti meg, a többi automatikusan törlődik, és nem zavarja az életet.

A kísérlet fő célja egyazon fizikai hálózaton lévő két routeren interfészek kikapcsolása és bekapcsolása. A fő nehézség az volt, hogy a Mikrotik nem támogatja az SNMP-n keresztüli kezelést, csak az értékek olvasását teszi lehetővé. Ezért a másik irányba kellett ásnom, mégpedig a Mikrotik API-ba.

Nincs egyértelmű dokumentáció a szabályozásáról, ezért kísérleteznem kellett, és ez az utasítás a jövőbeni próbálkozásokra készült.

Több eszköz kezeléséhez egy elérhető és működő WEB szerverre lesz szüksége a helyi hálózaton, amelyet Mikrotik parancsokkal kell vezérelni.

1. A Netmetal 5-ön el kell készíteni néhány szkriptet a be- és kikapcsolásához.

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. Hozzon létre 2 scriptet a webszerveren (természetesen ilyenkor a php-t telepíteni kell a rendszerre):

<?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. Töltse le a routeros_api.class.php fájlt a Mikrotik fórumról, és helyezze el a szerveren elérhető könyvtárba.

Az sfp-sfpplus16 helyett meg kell adni a letiltandó/engedélyezendő interfész nevét.

Most, amikor üzenetet küld egy számra az űrlapon

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

A NETMETAL elindítja a megfelelő szkriptet, amely végrehajtja a parancsot a WEB szerveren.

Az SMS fogadásakor a műveletek sebessége a másodperc töredéke. Stabilan működik.

Ezen kívül a Zabbix felügyeleti rendszerrel SMS-eket küldhet telefonokra, és tartalék internetkapcsolatot nyithat meg, ha az optika meghibásodik. Talán ez túlmutat a cikk keretein, de mindjárt leszögezem, hogy SMS küldésnél a hosszuk beleférjen egy üzenet szabványos méretébe, mert... A Mikrotik nem osztja részekre, és ha hosszú üzenet érkezik, egyszerűen nem küldi el, ráadásul szűrni kell az üzenetekben továbbított karaktereket, különben nem kerül elküldésre az SMS.

Forrás: will.com

Hozzászólás