Dobar dan svima!
Ovoga puta odlučio sam opisati situaciju koja se ne čini posebno opisanom na internetu, iako ima nekih natuknica o tome, ali većinom je to bilo samo dugo metodično kopanje po kodu i samom wikiju Mikrotika.
Stvarni zadatak: implementirati kontrolu više uređaja pomoću SMS-a, koristeći primjer uključivanja i isključivanja portova.
Dostupno:
- Sekundarni ruter CRS317-1G-16S+
- Mikrotik NETMETAL 5 pristupna točka
- LTE modem R11e-LTE
Počnimo s činjenicom da prekrasna pristupna točka Netmetal 5 ima na sebi zalemljeni konektor za SIM karticu i priključak za instaliranje LTE modema. Stoga je za ovu točku nabavljen u biti najbolji modem od onoga što je bilo dostupno i podržano operativnim sustavom same točke, a to je R11e-LTE. Pristupna točka je rastavljena, sve je postavljeno na svoje mjesto (iako morate znati da se SIM kartica nalazi ispod modema i nije ju moguće dobiti bez skidanja matične ploče), pa provjerite ispravnost SIM kartice, inače ćete morati nekoliko puta rastaviti pristupnu točku.
Zatim smo izbušili nekoliko rupa u kućištu, ugradili 2 spojnice i pričvrstili krajeve za modem. Nažalost, nijedna fotografija procesa nije sačuvana. S druge strane, univerzalne antene s magnetskom bazom bile su pričvršćene na pigtails.
Glavni koraci postavljanja prilično su dobro opisani na internetu, osim manjih praznina u interakciji. Na primjer, modem prestaje primati SMS poruke kada ih stigne 5 i one vise u Inboxu; brisanje poruka i ponovno pokretanje modema ne rješava uvijek problem. Ali u verziji 6.44.1 prijem radi stabilnije. Inbox prikazuje zadnja 4 sms-a, ostali se automatski brišu i ne ometaju život.
Glavni cilj eksperimenta je isključivanje i uključivanje sučelja na dva usmjerivača na istoj fizičkoj mreži. Glavna poteškoća bila je u tome što Mikrotik ne podržava upravljanje preko SNMP-a, već samo omogućuje očitavanje vrijednosti. Stoga sam morao kopati u drugom smjeru, odnosno Mikrotik API-ju.
Ne postoji jasna dokumentacija o tome kako to kontrolirati, pa sam morao eksperimentirati, a ova je uputa napravljena za buduće pokušaje.
Za upravljanje više uređaja trebat će vam dostupan i funkcionalan WEB poslužitelj na lokalnoj mreži, kojim se treba upravljati pomoću Mikrotik naredbi.
1. Na Netmetalu 5 trebate napraviti nekoliko skripti da biste ga uključili i isključili
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. Kreirajte 2 skripte na web poslužitelju (naravno, php mora biti instaliran na sustavu u ovom slučaju):
<?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. Preuzmite routeros_api.class.php s Mikrotik foruma i smjestite ga u pristupačan direktorij na poslužitelju.
Umjesto sfp-sfpplus16 trebate navesti naziv sučelja koje želite onemogućiti/omogućiti.
Sada, kada šaljete poruku na broj u obrascu
:cmd СЕКРЕТНЫЙКОД script enableiface
или
:cmd СЕКРЕТНЫЙКОД script disableiface
NETMETAL će pokrenuti odgovarajuću skriptu, koja će zauzvrat izvršiti naredbu na WEB poslužitelju.
Brzina rada prilikom primanja SMS-a je djelić sekunde. Radi stabilno.
Dodatno, postoji funkcionalnost za slanje SMS-a na telefone putem Zabbix nadzornog sustava i otvaranje rezervne internetske veze ako optika zakaže. Možda je to izvan okvira ovog članka, ali odmah ću reći da kod slanja SMS-a njihova duljina treba stati u standardnu veličinu jedne poruke, jer... Mikrotik ih ne dijeli na dijelove, a kada stigne duga poruka jednostavno je ne pošalje, osim toga potrebno je filtrirati znakove koji se prenose u porukama, inače SMS neće biti poslan.
Izvor: www.habr.com