میکروتیک. مدیریت از طریق پیامک با استفاده از وب سرور

روز همگی بخیر!

این بار تصمیم گرفتم وضعیتی را توصیف کنم که به نظر نمی رسد به طور خاص در اینترنت توضیح داده شود، اگرچه نکاتی در مورد آن وجود دارد، اما بیشتر آن فقط یک کند و کاو طولانی روشمند از کد و خود ویکی میکروتیک بود.

وظیفه واقعی: پیاده سازی کنترل چندین دستگاه با استفاده از SMS، با استفاده از مثال روشن و خاموش کردن پورت ها.

در دسترس:

  1. روتر ثانویه CRS317-1G-16S+
  2. نقطه دسترسی Mikrotik NETMETAL 5
  3. مودم LTE R11e-LTE

بیایید با این واقعیت شروع کنیم که نقطه دسترسی شگفت انگیز Netmetal 5 دارای یک اتصال سیم کارت لحیم شده و یک پورت برای نصب مودم LTE است. بنابراین، برای این نقطه، اساسا بهترین مودم از آنچه که توسط سیستم عامل خود نقطه، یعنی R11e-LTE در دسترس و پشتیبانی می‌شد، خریداری شد. نقطه دسترسی جدا شد، همه چیز در جای خود نصب شد (اگرچه باید بدانید که سیم کارت زیر مودم قرار دارد و دریافت آن بدون برداشتن برد اصلی امکان پذیر نیست)، بنابراین سیم کارت را از نظر عملکرد بررسی کنید. در غیر این صورت باید چندین بار نقطه دسترسی را جدا کنید.

بعد، چند سوراخ در کیس ایجاد کردیم، 2 پیگتیل نصب کردیم و انتهای آن را روی مودم محکم کردیم. متأسفانه هیچ عکسی از این فرآیند باقی نمانده است. از سوی دیگر، آنتن های جهانی با پایه مغناطیسی به پیگتیل ها متصل شدند.

مراحل راه اندازی اصلی در اینترنت به خوبی توضیح داده شده است، به جز شکاف های تعامل جزئی. به عنوان مثال، مودم با رسیدن 5 پیامک، دریافت پیامک را متوقف می کند و آنها در صندوق ورودی قرار می گیرند؛ پاک کردن پیام ها و راه اندازی مجدد مودم همیشه مشکل را حل نمی کند. اما در نسخه 6.44.1 دریافت با ثبات تر کار می کند. Inbox 4 اس ام اس آخر را نمایش می دهد، بقیه به طور خودکار پاک می شوند و در زندگی اختلال ایجاد نمی کنند.

هدف اصلی این آزمایش، خاموش و روشن کردن رابط‌ها در دو روتر در یک شبکه فیزیکی است. مشکل اصلی این بود که Mikrotik از مدیریت از طریق SNMP پشتیبانی نمی کند، بلکه فقط اجازه خواندن مقادیر را می دهد. بنابراین، من مجبور شدم در جهت دیگر، یعنی Mikrotik API، حفاری کنم.

هیچ سند روشنی در مورد نحوه کنترل آن وجود ندارد، بنابراین من مجبور شدم آزمایش کنم و این دستورالعمل برای تلاش های آینده ارائه شد.

برای مدیریت چندین دستگاه، به یک وب سرور در دسترس و کارآمد در شبکه محلی نیاز دارید که باید با استفاده از دستورات 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. در وب سرور 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 را از فروم میکروتیک دانلود کنید و آن را در دایرکتوری قابل دسترسی روی سرور قرار دهید.

به جای sfp-sfpplus16 باید نام رابط را برای غیرفعال/فعال شدن مشخص کنید.

حال هنگام ارسال پیام به شماره ای در فرم

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

NETMETAL اسکریپت مربوطه را راه اندازی می کند، که به نوبه خود دستور را در سرور وب اجرا می کند.

سرعت عملیات هنگام دریافت پیامک کسری از ثانیه است. پایدار کار می کند.

علاوه بر این، قابلیت ارسال پیامک به تلفن ها توسط سیستم مانیتورینگ Zabbix و باز کردن یک اتصال اینترنتی پشتیبان در صورت خرابی اپتیک وجود دارد. شاید این از حوصله این مقاله خارج باشد، اما بلافاصله می گویم که هنگام ارسال پیامک، طول آنها باید به اندازه استاندارد یک پیام باشد، زیرا ... Mikrotik آنها را به قطعات تقسیم نمی کند و هنگامی که یک پیام طولانی می رسد، به سادگی آن را ارسال نمی کند، علاوه بر این، باید کاراکترهای منتقل شده در پیام ها را فیلتر کنید، در غیر این صورت پیامک ارسال نمی شود.

منبع: www.habr.com

اضافه کردن نظر