Mikrotik. Řízení přes SMS pomocí WEB serveru

Přeji všem hezký den!

Tentokrát jsem se rozhodl popsat situaci, která se zdá být na internetu nepříliš podrobně popsána, i když nějaké náznaky na ni existují, ale většina informací byla získána dlouhým metodickým zkoumáním kódu a Wikipedie samotného Mikrotiku.

Cílem je realizovat pomocí SMS ovládání několika zařízení, na příkladu zapínání a vypínání portů.

Mám:

  1. Sekundární router CRS317-1G-16S+
  2. Přístupový bod Mikrotik NETMETAL 5
  3. LTE modem R11e-LTE

Začněme tím, že úžasný přístupový bod Netmetal 5 má na palubě osazený slot pro SIM kartu a port pro instalaci LTE modemu. Proto byl pro tento přístupový bod zakoupen v podstatě nejlepší modem, který byl k dispozici a podporován operačním systémem samotného bodu, konkrétně R11e-LTE. Bod byl rozebrán, vše bylo nainstalováno na svá místa (i když je třeba vědět, že SIM karta je umístěna pod modemem a bez demontáže hlavní desky ji nelze vyjmout), proto zkontrolujte funkčnost SIM karty, jinak bude potřeba bod několikrát rozebrat.

Dále jsme vyvrtali několik otvorů v pouzdře, nainstalovali 2 pigtaily a konce připevnili k modemu. Bohužel se nezachovaly fotografie procesu. Na pigtaily jsme připevnili univerzální antény s magnetickým základem.

Hlavní kroky nastavení jsou na internetu dostatečně dobře popsány, kromě drobných problémů s interakcemi. Například modem přestává přijímat SMS zprávy, když jich přijde 5 a visí v Inboxu, mazání zpráv a restartování modemu ne vždy problém vyřeší. Ale ve verzi 6.44.1 příjem funguje stabilněji. V Inboxu se zobrazují 4 poslední SMS, ostatní jsou automaticky vymazány a nepřekážejí.

Hlavním cílem experimentu je vypínat a zapínat rozhraní na dvou routerech v jedné fyzické síti. Hlavní obtíž spočívala v tom, že Mikrotik nepodporuje řízení přes SNMP, pouze umožňuje číst hodnoty. Proto bylo nutné hledat jiným směrem, konkrétně Mikrotik API.

Jasná dokumentace o tom, jak provádět řízení, není k dispozici, takže bylo nutné experimentovat a pro budoucí pokusy byla vytvořena tato instrukce.

Pro ovládání několika zařízení bude zapotřebí dostupný a funkční WEB server v lokální síti, který bude mít na starosti ovládání podle příkazů Mikrotik.

1. Na Netmetal 5 je třeba vytvořit několik skriptů pro zapnutí a vypnutí příslušně.

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. Vytvořit 2 skripty na web serveru (samozřejmě, na systému by měl být nainstalován php):

debug=true;

if ($API->connect('IP spravovaného Mikrotiku', 'login administrátora', 'heslo administrátora')) {
    $API->comm("\/interface\/ethernet\/enable", array(
    "numbers"=>"sfp-sfpplus16",));
}
   $API->disconnect();
?>

debug=true;

if ($API->connect('IP spravovaného Mikrotiku', 'login administrátor', 'heslo administrátora')) {
    $API->comm("\/interface\/ethernet\/disable", array(
    "numbers"=>"sfp-sfpplus16",));
}
   $API->disconnect();
?>

3. Stáhněte z fóra Mikrotik soubor routeros_api.class.php a umístěte ho do přístupného adresáře na serveru.

místo sfp-sfpplus16 je třeba uvést název zakazovaného/povolovaného rozhraní.

Nyní při odeslání zprávy na číslo ve formátu

:cmd TAJNÝKÓD script enableiface
nebo
:cmd TAJNÝKÓD script disableiface 

NETMETAL spustí příslušný skript, a ten pak provede příkaz na WEB serveru.

Rychlost provádění operací při přijímání SMS je zlomkem sekundy. Funguje stabilně.

Kromě toho existuje funkce odesílání SMS na telefony skrze monitorovací systém Zabbix a otevření záložního výstupu na internet při výpadku optiky. To však přesahuje rámec tohoto článku, ale řeknu rovnou, že při odesílání SMS by jejich délka měla odpovídat standardnímu velikosti jedné zprávy, protože Mikrotik je nedělí na části, a při přijímání dlouhé zprávy ji prostě neodešle, navíc je třeba filtrovat znaky odesílané v zprávách, jinak SMS nebude odeslána.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster