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ő:
- Másodlagos útválasztó CRS317-1G-16S+
- Mikrotik NETMETAL 5 hozzáférési pont
- 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