Mikrotik. Behear fia SMS mei WEB-tsjinner

Goede dei allegear!

Dizze kear haw ik besletten om in situaasje te beskriuwen dy't net spesjaal beskreaun liket te wêzen op it ynternet, hoewol d'r wat oanwizings oer binne, mar it measte wie gewoan in lang metodysk graven fan 'e koade en de wiki fan Mikrotik sels.

De eigentlike taak: it útfieren fan kontrôle fan ferskate apparaten mei SMS, mei it foarbyld fan it yn- en útskeakeljen fan havens.

Beskikber:

  1. Sekundêre router CRS317-1G-16S+
  2. Mikrotik NETMETAL 5 tagongspunt
  3. LTE modem R11e-LTE

Litte wy begjinne mei it feit dat de prachtige Netmetal 5 tagong punt hat oan board in soldered SIM card Connector en in haven foar it ynstallearjen fan in LTE modem. Dêrom waard foar dit punt yn essinsje de bêste modem kocht fan wat beskikber wie en stipe troch it bestjoeringssysteem fan it punt sels, nammentlik R11e-LTE. It tagongspunt waard ûntmantele, alles waard ynstalleare op syn plak (hoewol jo moatte witte dat de SIM-kaart ûnder it modem leit en it is net mooglik om it te krijen sûnder it haadboerd te ferwiderjen), dus kontrolearje de SIM-kaart foar funksjonaliteit, oars moatte jo it tagongspunt ferskate kearen demontearje.

Folgjende, wy boarre in pear gatten yn 'e saak, ynstallearre 2 pigtails en befeilige de einen oan it modem. Spitigernôch binne gjin foto's fan it proses oerlibbe. Oan 'e oare kant waarden universele antennes mei in magnetyske basis oan' e pigtails befestige.

De wichtichste opsetstappen wurde frij goed beskreaun op it ynternet, útsein foar lytse ynteraksjehipen. Bygelyks, it modem hâldt op mei it ûntfangen fan SMS-berjochten as 5 fan har oankomme en se hingje yn 'e Postfak; berjochten wiskje en it modem opnij starte lossen it probleem net altyd op. Mar yn ferzje 6.44.1 wurket de resepsje stabiler. Postfak toant de lêste 4 sms, de rest wurdt automatysk wiske en net bemuoie mei it libben.

It haaddoel fan it eksperimint is om ynterfaces op twa routers op itselde fysike netwurk út te skeakeljen en yn te skeakeljen. De wichtichste muoite wie dat Mikrotik net stipet behear fia SNMP, mar lit allinnich lêzen wearden. Dêrom moast ik yn 'e oare rjochting grave, nammentlik de Mikrotik API.

D'r is gjin dúdlike dokumintaasje oer hoe't jo it kontrolearje kinne, dus ik moast eksperimintearje en dizze ynstruksje waard makke foar takomstige besykjen.

Om meardere apparaten te behearjen, sille jo in tagonklike en wurkjende WEB-tsjinner op it lokale netwurk nedich wêze; it sil kontrolearre wurde moatte mei Mikrotik-kommando's.

1. Op Netmetal 5 moatte jo in pear skripts meitsje om it respektivelik oan en út te skeakeljen

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. Meitsje 2 skripts op 'e webserver (fansels moat php yn dit gefal op it systeem ynstalleare wurde):

<?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. Download routeros_api.class.php fan it Mikrotik-foarum en pleats it yn in tagonklike map op de tsjinner.

Ynstee fan sfp-sfpplus16 moatte jo de namme fan 'e ynterface opjaan dy't útskeakele/ynskeakele wurde moat.

No, by it ferstjoeren fan in berjocht nei in nûmer yn it formulier

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

NETMETAL sil it korrespondearjende skript starte, dat op syn beurt it kommando sil útfiere op 'e WEB-tsjinner.

De snelheid fan operaasjes by it ûntfangen fan SMS is in fraksje fan in sekonde. Wurket stabyl.

Derneist is d'r funksjonaliteit foar it ferstjoeren fan SMS nei tillefoans troch it Zabbix-monitorsysteem en it iepenjen fan in reservekopy ynternetferbining as de optyk mislearret. Miskien is dit bûten it berik fan dit artikel, mar ik sil daliks sizze dat by it ferstjoeren fan SMS har lingte moat passe yn 'e standertgrutte fan ien berjocht, om't ... Mikrotik dielt se net yn dielen, en as in lang berjocht komt, stjoert it it gewoan net, en ek moatte jo de karakters filterje dy't yn 'e berjochten oerbrocht binne, oars sil de SMS net ferstjoerd wurde.

Boarne: www.habr.com

Add a comment