Բարի օր բոլորին!
Այս անգամ ես որոշեցի նկարագրել մի իրավիճակ, որը կարծես թե առանձնապես չի նկարագրվում ինտերնետում, թեև դրա մասին կան որոշ ակնարկներ, բայց դրա մեծ մասը պարզապես կոդի և հենց Mikrotik-ի վիքիի երկար մեթոդական փորում էր:
Իրական խնդիրը. մի քանի սարքերի կառավարում իրականացնել SMS-ի միջոցով՝ օգտագործելով պորտերը միացնելու և անջատելու օրինակը:
Հասանելի է:
- Երկրորդական երթուղիչ CRS317-1G-16S+
- Mikrotik NETMETAL 5 մուտքի կետ
- LTE մոդեմ R11e-LTE
Սկսենք նրանից, որ հրաշալի Netmetal 5 մուտքի կետն ունի զոդված SIM քարտի միակցիչ և LTE մոդեմ տեղադրելու պորտ: Հետևաբար, այս կետի համար, ըստ էության, լավագույն մոդեմը ձեռք է բերվել այն ամենից, ինչ հասանելի և աջակցվում է հենց կետի օպերացիոն համակարգով, այն է՝ R11e-LTE: Մուտքի կետը ապամոնտաժվեց, ամեն ինչ տեղադրվեց իր տեղում (չնայած դուք պետք է իմանաք, որ SIM քարտը գտնվում է մոդեմի տակ, և այն հնարավոր չէ ստանալ առանց հիմնական տախտակը հանելու), այնպես որ ստուգեք SIM քարտը ֆունկցիոնալության համար, հակառակ դեպքում ստիպված կլինեք մի քանի անգամ ապամոնտաժել մուտքի կետը:
Այնուհետև մենք մի քանի անցք բացեցինք պատյանում, տեղադրեցինք 2 խոզուկ և ամրացրեցինք ծայրերը մոդեմին: Ցավոք, գործընթացից ոչ մի լուսանկար չի պահպանվել: Մյուս կողմից, մագնիսական հիմքով ունիվերսալ ալեհավաքներ ամրացված էին խոզուկներին։
Կարգավորման հիմնական քայլերը բավականին լավ նկարագրված են ինտերնետում, բացառությամբ փոխազդեցության փոքր բացերի: Օրինակ, մոդեմը դադարում է ստանալ SMS հաղորդագրություններ, երբ դրանցից 5-ը գալիս են, և դրանք կախված են Inbox-ում, հաղորդագրությունները մաքրելը և մոդեմը վերագործարկելը միշտ չէ, որ լուծում են խնդիրը: Բայց 6.44.1 տարբերակում ընդունելությունն ավելի կայուն է աշխատում։ Inbox-ը ցուցադրում է վերջին 4 sms-ը, մնացածը ավտոմատ կերպով ջնջվում են և չեն խանգարում կյանքին:
Փորձի հիմնական նպատակն է անջատել և միացնել ինտերֆեյսները նույն ֆիզիկական ցանցի երկու երթուղիչների վրա: Հիմնական դժվարությունն այն էր, որ 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. Վեբ սերվերում ստեղծեք 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 սերվերի վրա:
SMS ստանալու ժամանակ գործողությունների արագությունը վայրկյանի մասն է: Աշխատում է կայուն։
Բացի այդ, կա Zabbix մոնիտորինգի համակարգի միջոցով հեռախոսներին SMS ուղարկելու և օպտիկայի ձախողման դեպքում պահեստային ինտերնետ կապ բացելու գործառույթ: Թերևս սա այս հոդվածի շրջանակներից դուրս է, բայց ես անմիջապես կասեմ, որ SMS ուղարկելիս դրանց երկարությունը պետք է տեղավորվի մեկ հաղորդագրության ստանդարտ չափի մեջ, քանի որ... Mikrotik-ը դրանք մասերի չի բաժանում, իսկ երբ հասնում է երկար հաղորդագրություն, այն պարզապես չի ուղարկում, բացի այդ, պետք է զտել հաղորդագրություններում փոխանցված նիշերը, հակառակ դեպքում SMS-ը չի ուղարկվի։
Source: www.habr.com