ميكروتيك. الإدارة عبر الرسائل القصيرة باستخدام خادم الويب

يوم جيد للجميع!

قررت هذه المرة أن أصف موقفًا يبدو أنه لم يتم وصفه بشكل خاص على الإنترنت ، على الرغم من وجود بعض التلميحات عنه ، لكن معظمه كان مجرد حفر منهجي طويل للكود وويكي Mikrotik نفسه.

المهمة في الواقع: أن تنفذ بمساعدة الرسائل القصيرة التحكم في العديد من الأجهزة ، باستخدام مثال تشغيل المنافذ وإيقافها.

متاح:

  1. جهاز التوجيه الثانوي CRS317-1G-16S +
  2. نقطة الوصول Mikrotik NETMETAL 5
  3. مودم LTE R11e-LTE

لنبدأ بحقيقة أن نقطة وصول Netmetal 5 الرائعة بها فتحة بطاقة SIM ملحومة ومنفذ لتثبيت مودم LTE على اللوحة. لذلك ، بالنسبة لهذه النقطة ، في الواقع ، تم شراء أفضل مودم مما كان متاحًا ومدعومًا من قبل نظام تشغيل النقطة نفسها ، وهو R11e-LTE. تم تفكيك النقطة ، وتم تثبيت كل شيء في مكانه (على الرغم من أنك بحاجة إلى معرفة أن بطاقة SIM موجودة أسفل المودم وأنه من المستحيل الحصول عليها دون إزالة اللوحة الرئيسية) ، لذا تحقق من بطاقة SIM للتحقق من قابلية التشغيل ، وإلا فإنك سيتعين عليك تفكيك نقطة الوصول عدة مرات.

بعد ذلك ، قمنا بحفر فتحتين في العلبة ، وقمنا بتركيب 2 من أسلاك التوصيل المصنوعة وثبتنا الأطراف على المودم. لسوء الحظ ، لم يتم الحفاظ على صورة العملية. من ناحية أخرى ، تم تثبيت هوائيات عالمية بقاعدة مغناطيسية على أسلاك التوصيل المصنوعة.

يتم وصف خطوات الإعداد الرئيسية على الإنترنت جيدًا ، باستثناء عضادات التفاعل الصغيرة. على سبيل المثال ، يتوقف المودم عن تلقي رسائل SMS عند استلام 5 رسائل وتعليقها في صندوق الوارد ، ومسح الرسائل وإعادة تشغيل المودم لا يحل المشكلة دائمًا. ولكن في الإصدار 6.44.1 ، يعمل الاستقبال بشكل أكثر ثباتًا. يتم عرض آخر 4 رسائل قصيرة في Inbox ، ويتم مسح الباقي تلقائيًا ولا تتداخل مع الحياة.

الهدف الرئيسي من التجربة هو إطفاء ورفع الواجهات على جهازي توجيه في نفس الشبكة المادية. كانت الصعوبة الرئيسية هي أن Mikrotik لا يدعم الإدارة عبر SNMP ، ولكنه يسمح لك فقط بقراءة القيم. لذلك ، كان عليّ أن أحفر في الاتجاه الآخر ، ألا وهو Mikrotik API.

لا توجد وثائق واضحة حول كيفية الإدارة ، لذلك اضطررت إلى التجربة وتم إجراء هذه التعليمات للمحاولات المستقبلية.

لإدارة أجهزة متعددة ، ستحتاج إلى خادم WEB متاح وعامِل على الشبكة المحلية ، فهو مسؤول عن إدارة أوامر Mikrotik.

1. في Netmetal 5 ، تحتاج إلى عمل نصين لتشغيله وإيقاف تشغيله ، على التوالي

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. قم بإنشاء نصين على خادم الويب (بالطبع ، يجب تثبيت php على النظام في هذه الحالة):

<?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. قم بتنزيل routeros_api.class.php من منتدى Mikrotik وضعه في دليل يمكن الوصول إليه على الخادم.

بدلاً من sfp-sfpplus16 ، تحتاج إلى تحديد اسم الواجهة المراد تعطيلها / تمكينها.

الآن عند إرسال رسالة إلى رقم في النموذج

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

ستقوم NETMETAL بتشغيل البرنامج النصي المقابل ، والذي بدوره سينفذ الأمر على خادم WEB.

سرعة العمليات عند استقبال الرسائل القصيرة هي جزء من الثانية. يعمل بثبات.

بالإضافة إلى ذلك ، هناك وظيفة إرسال الرسائل القصيرة إلى الهواتف عن طريق نظام المراقبة Zabbix وفتح اتصال إنترنت احتياطي عند سقوط البصريات. ربما يكون هذا خارج نطاق هذه المقالة ، لكنني سأقول على الفور أنه عند إرسال الرسائل القصيرة ، يجب أن يتناسب طولها مع الحجم القياسي لرسالة واحدة ، لأن. لا يقوم Mikrotik بتقسيمها إلى أجزاء ، وعندما تصل رسالة طويلة ، فإنها ببساطة لا ترسلها ، بالإضافة إلى ذلك ، من الضروري تصفية الأحرف المرسلة في الرسائل ، وإلا فلن يتم إرسال الرسائل القصيرة.

المصدر: www.habr.com

إضافة تعليق