Mikrotik. Hallinta tekstiviestillä WEB-palvelimen kautta

Hyvää päivää kaikille!

Tällä kertaa päätin kuvailla tilannetta, jota ei näytä olevan erityisen kuvailtu Internetissä, vaikka siitä on joitain vihjeitä, mutta suurin osa siitä oli vain pitkää menetelmällistä koodin ja Mikrotikin wikin kaivamista.

Varsinainen tehtävä: toteuttaa useiden laitteiden ohjaus tekstiviestillä esimerkkinä porttien kytkemisestä päälle ja pois.

Saatavilla:

  1. Toissijainen reititin CRS317-1G-16S+
  2. Mikrotik NETMETAL 5 tukiasema
  3. LTE-modeemi R11e-LTE

Aloitetaan siitä, että upeassa Netmetal 5 -tukiasemassa on juotettu SIM-korttiliitin ja portti LTE-modeemin asentamista varten. Siksi tähän kohtaan ostettiin oleellisesti paras modeemi siitä, mikä oli saatavilla ja jota pisteen käyttöjärjestelmä tukee, nimittäin R11e-LTE. Tukiasema purettiin, kaikki asennettiin paikoilleen (vaikka sinun on tiedettävä, että SIM-kortti sijaitsee modeemin alla ja sitä ei ole mahdollista saada irrottamalla emolevyä), joten tarkista SIM-kortin toimivuus, muuten joudut purkamaan tukiaseman useita kertoja.

Seuraavaksi porasimme koteloon pari reikää, asensimme 2 letkua ja kiinnitimme päät modeemiin. Valitettavasti prosessista ei ole säilynyt kuvia. Sen sijaan letkuihin kiinnitettiin yleisantennit magneettipohjalla.

Pääasennusvaiheet on kuvattu melko hyvin Internetissä, lukuun ottamatta pieniä vuorovaikutusaukkoja. Esimerkiksi modeemi lakkaa vastaanottamasta tekstiviestejä, kun niitä saapuu 5 ja ne roikkuvat Saapuneet-kansiossa; viestien tyhjentäminen ja modeemin uudelleenkäynnistys eivät aina ratkaise ongelmaa. Mutta versiossa 6.44.1 vastaanotto toimii vakaammin. Saapuneet näyttää viimeiset 4 tekstiviestiä, loput poistetaan automaattisesti eivätkä häiritse elämää.

Kokeen päätavoite on sammuttaa ja ottaa käyttöön rajapinnat kahdessa reitittimessä samassa fyysisessä verkossa. Suurin ongelma oli, että Mikrotik ei tue hallintaa SNMP:n kautta, vaan sallii vain arvojen lukemisen. Siksi minun piti kaivaa toiseen suuntaan, nimittäin Mikrotik API.

Ei ole olemassa selkeää dokumentaatiota kuinka sitä hallita, joten jouduin kokeilemaan ja tämä ohje tehtiin tulevia yrityksiä varten.

Useiden laitteiden hallintaan tarvitset saatavilla olevan ja toimivan WEB-palvelimen paikallisessa verkossa, jota on ohjattava Mikrotik-komennoilla.

1. Netmetal 5:ssä sinun on tehtävä pari komentosarjaa sen kytkemiseksi päälle ja pois päältä.

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. Luo 2 skriptiä web-palvelimelle (tässä tapauksessa php on tietysti oltava asennettuna järjestelmään):

<?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. Lataa routeros_api.class.php Mikrotik-foorumista ja sijoita se palvelimella olevaan hakemistoon.

Sfp-sfpplus16:n sijaan sinun on määritettävä käytöstä poistettavan/käytössä olevan käyttöliittymän nimi.

Nyt, kun lähetät viestin lomakkeessa olevaan numeroon

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

NETMETAL käynnistää vastaavan komentosarjan, joka puolestaan ​​suorittaa komennon WEB-palvelimella.

Toiminnan nopeus tekstiviestien vastaanottamisen yhteydessä on sekunnin murto-osa. Toimii vakaasti.

Lisäksi Zabbix-valvontajärjestelmän avulla voidaan lähettää tekstiviestejä puhelimiin ja avata vara-Internet-yhteys, jos optiikka epäonnistuu. Ehkä tämä ei kuulu tämän artikkelin soveltamisalaan, mutta sanon heti, että tekstiviestiä lähetettäessä niiden pituuden tulisi mahtua yhden viestin vakiokokoon, koska... Mikrotik ei jaa niitä osiin, ja kun pitkä viesti saapuu, se ei yksinkertaisesti lähetä sitä, lisäksi sinun on suodatettava viesteissä lähetetyt merkit, muuten tekstiviestiä ei lähetetä.

Lähde: will.com

Lisää kommentti