Mikrotik. Gestione tramite SMS utilizzando un server WEB

Buongiorno a tutti!

Questa volta ho deciso di descrivere una situazione che sembra non essere molto documentata su Internet, anche se ci sono alcuni accenni, ma la maggior parte delle informazioni è stata ottenuta tramite un lungo e metodico scavo nel codice e nella wiki di Mikrotik.

Fondamentalmente, l'obiettivo è implementare la gestione di diversi dispositivi tramite SMS, prendendo come esempio l'accensione e lo spegnimento delle porte.

C'è:

  1. Router secondario CRS317-1G-16S+
  2. Punto di accesso Mikrotik NETMETAL 5
  3. Modem LTE R11e-LTE

Cominciamo col dire che il fantastico punto di accesso Netmetal 5 è dotato di un connettore saldato per la SIM e di una porta per l'installazione del modem LTE. Pertanto, per questo dispositivo è stato acquistato il miglior modem disponibile e supportato dal sistema operativo stesso del punto, ovvero l'R11e-LTE. Il dispositivo è stato smontato e tutto è stato installato al proprio posto (anche se bisogna sapere che la scheda SIM si trova sotto il modem e non può essere estratta senza rimuovere la scheda principale), quindi controllate la funzionalità della scheda SIM, altrimenti dovrete smontare il punto di accesso più volte.

Successivamente abbiamo praticato un paio di fori nel case, installato 2 pigtail e fissato le estremità sul modem. Purtroppo, non sono state salvate foto del processo. Dall'altro lato, abbiamo fissato antenne universali con base magnetica ai pigtail.

I passaggi principali per la configurazione sono ben descritti su Internet, tranne per alcuni piccoli problemi di interazione. Ad esempio, il modem smette di ricevere messaggi SMS quando ne arrivano 5 e restano nella casella di posta. Cancellare i messaggi o riavviare il modem non risolve sempre il problema. Tuttavia, nella versione 6.44.1, la ricezione funziona in modo più stabile. Nella casella di posta vengono visualizzati gli ultimi 4 SMS, gli altri vengono automaticamente eliminati e non danno fastidio.

L'obiettivo principale dell'esperimento è testare e attivare le interfacce su due router all'interno di una stessa rete fisica. La principale difficoltà consisteva nel fatto che Mikrotik non supporta la gestione tramite SNMP, permettendo solo la lettura dei valori. Pertanto, è stato necessario esplorare un'altra strada, in particolare l'API di Mikrotik.

Non c'è documentazione chiara su come gestire il sistema, quindi ho dovuto fare delle prove e questa istruzione è stata creata per occasioni future.

Per gestire più dispositivi sarà necessario un server WEB disponibile e funzionante nella rete locale, a cui spetta il compito di gestire i comandi Mikrotik.

1. Su Netmetal 5 è necessario creare alcuni script per attivare e disattivare rispettivamente

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. Creare 2 script sul web server (ovviamente, il sistema in questo caso deve avere php installato):

debug=true;

if ($API->connect('IP del Mikrotik gestito', 'login amministratore', 'password amministratore')) {
    $API->comm("/interface/ethernet/enable", array(
    "numbers"=>"sfp-sfpplus16",));
}
   $API->disconnect();
?>

debug=true;

if ($API->connect('IP del Mikrotik gestito', 'login amministratore', 'password amministratore')) {
    $API->comm("/interface/ethernet/disable", array(
    "numbers"=>"sfp-sfpplus16",));
}
   $API->disconnect();
?>

3. Scarica il file forum Mikrotik routeros_api.class.php e posizionalo in una directory accessibile su server.

invece di sfp-sfpplus16, devi specificare il nome dell'interfaccia da disattivare/attivare.

Ora, inviando un messaggio al numero sotto forma di

:cmd CODICESEGRETO script enableiface
o
:cmd CODICESEGRETO script disableiface 

NETMETAL eseguirà il relativo script e quest'ultimo a sua volta eseguirà il comando sul server WEB.

La velocità di esecuzione delle operazioni al ricevimento degli SMS è frazione di secondo. Funziona in modo stabile.

Inoltre, è disponibile la funzionalità di invio SMS ai telefoni tramite il sistema di monitoraggio Zabbix e l'apertura di un'uscita internet secondaria in caso di caduta della fibra. Probabilmente questo supera l'ambito di questo articolo, ma voglio dire subito che, quando si inviano SMS, la loro lunghezza deve rientrare nello standard di un singolo messaggio, poiché Mikrotik non li divide in parti, e al ricevimento di un messaggio lungo semplicemente non lo invia; inoltre, è necessario filtrare i caratteri trasmessi nei messaggi, altrimenti l'SMS non verrà inviato.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster