Mikrotik. Hantering via SMS med hjÀlp av WEB-server

God dag pÄ alla!

Denna gÄng har jag beslutat att beskriva en situation som verkar vara dÄligt dokumenterad pÄ internet. Vissa ledtrÄdar finns, men största delen har jag fÄtt fram genom en lÄng, metodisk granskning av koden och Mikrotiks wiki.

SjÀlva uppgiften: att implementera styrningen av flera enheter med hjÀlp av SMS, med exempel pÄ att slÄ pÄ och av portar.

Finns:

  1. SekundÀr router CRS317-1G-16S+
  2. Accesspunkt Mikrotik NETMETAL 5
  3. LTE-modem R11e-LTE

Vi börjar med att den fantastiska accesspunkten Netmetal 5 har en lödd kontakt för SIM-kort och en port för att installera LTE-modemet. DÀrför har vi köpt det som i praktiken Àr det bÀsta modem som fanns tillgÀngligt och som stöddes av operativsystemet pÄ accesspunkten, nÀmligen R11e-LTE. Accesspunkten demonterades, allt installerades pÄ sina platser (Àven om man mÄste veta att SIM-kortet sitter under modemet och inte kan nÄs utan att ta bort huvudkortet), sÄ kontrollera att SIM-kortet fungerar, annars mÄste man demontera accesspunkten flera gÄnger.

DĂ€refter borrade vi nĂ„gra hĂ„l i chassit, installerade 2 pigtails och fĂ€ste Ă€ndarna pĂ„ modemet. TyvĂ€rr sparades inga bilder frĂ„n processen. Å andra sidan fĂ€ste vi universella antenner med magnetisk bas pĂ„ pigtails.

De huvudsakliga instÀllningarna Àr ganska vÀl dokumenterade pÄ internet, förutom smÄ missar i interaktionen. Till exempel slutar modemet att ta emot SMS-meddelanden nÀr 5 meddelanden kommer in och de ligger kvar i Inkorgen; rensning av meddelandena och omstart av modemet löser inte alltid problemet. Men i version 6.44.1 fungerar mottagningen mer stabilt. Inkorgen visar de 4 senaste SMS:en, de andra raderas automatiskt och stör inte livet.

Huvudsyftet med experimentet Àr att stÀnga av och slÄ pÄ grÀnssnitt pÄ tvÄ routrar i ett och samma fysiska nÀtverk. Den största svÄrigheten var att Mikrotik inte stödjer styrning via SNMP, utan endast tillÄter att lÀsa vÀrden. DÀrför fick vi leta Ät ett annat hÄll, nÀmligen Mikrotik API.

Det finns ingen tydlig dokumentation om hur man kontrollerar, sÄ vi fick experimentera, och för framtida försök har denna instruktion skapats.

För att styra flera enheter krÀvs en tillgÀnglig och fungerande WEB-server i det lokala nÀtverket, som ansvarar för styrningen via Mikrotik-kommandon.

1. PÄ Netmetal 5 behöver nÄgra skript skapas för att slÄ pÄ och av respektive.

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. Skapa 2 skript pÄ webben. servern (sjÀlvklart mÄste PHP vara installerat pÄ systemet i det hÀr fallet):

debug=true;

if ($API->connect('IP till den hanterade Mikrotik', 'administrators inloggning', 'administrators lösenord')) {
    $API->comm("\/interface\/ethernet\/enable", array(
    "numbers"=>"sfp-sfpplus16",));
}
   $API->disconnect();
?>

debug=true;

if ($API->connect('IP till den hanterade Mikrotik', 'administrators inloggning', 'administrators lösenord')) {
    $API->comm("\/interface\/ethernet\/disable", array(
    "numbers"=>"sfp-sfpplus16",));
}
   $API->disconnect();
?>

3. Ladda ner routeros_api.class.php frÄn forumet och placera den i en tillgÀnglig katalog pÄ. servern.

istÀllet för sfp-sfpplus16 mÄste namnet pÄ det grÀnssnitt som ska inaktiveras/aktiveras anges.

Nu nÀr ett meddelande skickas till ett nummer i form av

:cmd SECRETKOD script enableiface
eller
:cmd SECRETKOD script disableiface 

NETMETAL kommer att köra det respektive skriptet, som i sin tur kommer att utföra kommandot pÄ WEB-servern.

Utförspeeden för operationerna vid mottagande av sms Àr brÄkdelen av en sekund. Fungerar stabilt.

Förutom detta finns det funktioner för att skicka SMS till telefoner via övervakningssystemet Zabbix och öppna en reservanslutning till internet vid nedfall av optik. Det kan tyckas gÄ bortom ramverket för denna artikel, men jag kan sÀga direkt att lÀngden pÄ de skickade sms:en mÄste hÄllas inom standardstorleken för ett meddelande, eftersom Mikrotik inte delar upp dem i delar, utan vid mottagande av ett lÄngt meddelande helt enkelt inte skickar det. Dessutom mÄste tecken som skickas i meddelandena filtreras, annars skickas inte SMS:en.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster