Mikrotik. Gestion par SMS via un serveur WEB

Bonjour à tous !

Cette fois, j'ai décidé de décrire une situation qui n'est apparemment pas beaucoup documentée sur Internet, même s'il y a quelques allusions à ce sujet. La majeure partie provient d'une longue exploration méthodique du code et du wiki de Mikrotik.

Le but est de réaliser la gestion de plusieurs appareils via SMS, par exemple pour activer et désactiver des ports.

Il y a :

  1. Routeur secondaire CRS317-1G-16S+
  2. Point d'accès Mikrotik NETMETAL 5
  3. Modem LTE R11e-LTE

Commençons par le fait que le merveilleux point d'accès Netmetal 5 est équipé d'un slot pour carte SIM et d'un port pour l'installation d'un modem LTE. Pour ce point, le meilleur modem disponible et pris en charge par le système d'exploitation de l'appareil a été acheté, à savoir le R11e-LTE. L'appareil a été démonté, tout a été installé à sa place (il faut savoir que la carte SIM se trouve sous le modem et qu'il n'est pas possible de l'extraire sans retirer la carte principale). Assurez-vous donc que la carte SIM fonctionne, sinon vous devrez démonter le point d'accès plusieurs fois.

Ensuite, nous avons percé quelques trous dans le boîtier, installé 2 pigtails et fixé les extrémités sur le modem. Malheureusement, les photos du processus n'ont pas été conservées. D'autre part, des antennes universelles avec base magnétique ont été fixées sur les pigtails.

Les étapes de configuration principales sont bien décrites sur Internet, à l'exception de petits problèmes d'interaction. Par exemple, le modem cesse de recevoir des messages SMS lorsque 5 d'entre eux arrivent et restent dans la boîte de réception. La suppression des messages et le redémarrage du modem ne résolvent pas toujours le problème. Cependant, dans la version 6.44.1, la réception est plus stable. La boîte de réception affiche les 4 derniers SMS, les autres sont automatiquement supprimés et ne causent pas de désagrément.

L'objectif principal de l'expérience est d'éteindre et d'allumer les interfaces sur deux routeurs dans un même réseau physique. La principale difficulté était que Mikrotik ne prend pas en charge la gestion via SNMP, mais permet uniquement de lire les valeurs. Il a donc fallu explorer une autre voie, à savoir l'API de Mikrotik.

Il n'y a pas de documentation claire sur la gestion, il a donc fallu expérimenter et cette instruction a été créée pour les futures tentatives.

Pour gérer plusieurs appareils, il faudra un serveur WEB accessible et fonctionnel dans le réseau local, sur lequel il y a obligation de gestion par les commandes Mikrotik.

1. Sur Netmetal 5, il est nécessaire de créer quelques scripts pour activer et désactiver respectivement.

système script
ajouter dont-require-permissions=no nom=disableiface propriétaire=admin politique=
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=
    "\/tool fetch http:\/\/WEB_SERVER_IP\/di.php "
ajouter dont-require-permissions=no nom=enableiface propriétaire=admin politique=
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=
    "\/tool fetch http:\/\/WEB_SERVER_IP\/en.php "

2. Créer 2 scripts sur le web. le serveur (bien sûr, le système doit avoir php installé dans ce cas) :

debug=true;

if ($API->connect('IP du Mikrotik géré', 'login administrateur', 'mot de passe administrateur')) {
    $API->comm("\/interface\/ethernet\/enable", array(
    "nombres"=>"sfp-sfpplus16",));
}
   $API->disconnect();
?>

debug=true;

if ($API->connect('IP du Mikrotik géré', 'login administrateur', 'mot de passe administrateur')) {
    $API->comm("\/interface\/ethernet\/disable", array(
    "nombres"=>"sfp-sfpplus16",));
}
   $API->disconnect();
?>

3. Télécharger le fichier routeros_api.class.php depuis le forum Mikrotik et le placer dans un répertoire accessible sur le serveur.

au lieu de sfp-sfpplus16, vous devez indiquer le nom de l'interface à désactiver / activer.

Maintenant, lors de l'envoi d'un message au numéro sous la forme

:cmd CODESECRET script enableiface
ou
:cmd CODESECRET script disableiface 

NETMETAL exécutera le script correspondant, qui exécutera ensuite la commande sur le serveur WEB.

La vitesse d'exécution des opérations lors de la réception d'un SMS est de quelques fractions de seconde. Ça fonctionne de manière stable.

De plus, il existe une fonctionnalité d'envoi de SMS aux téléphones à travers le système de surveillance Zabbix et d'activation d'une connexion Internet de secours en cas de chute de la fibre optique. Peut-être que cela dépasse le cadre de cet article, mais je dirai tout de suite qu'en envoyant des SMS, leur longueur doit respecter la taille standard d'un seul message, car Mikrotik ne les divise pas en parties, et lorsqu'un long message arrive, il ne l'envoie tout simplement pas. De plus, il est nécessaire de filtrer les caractères transmis dans les messages, sinon le SMS ne s'enverra pas.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster