๋ชจ๋์๊ฒ ์ข์ ๋ !
์ด๋ฒ์๋ ์ธํฐ๋ท์์ ํน๋ณํ ์ค๋ช ๋์ง ์๋ ์ํฉ์ ์ค๋ช ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด์ ๋ํ ํํธ๊ฐ ์์ง๋ง ๋๋ถ๋ถ์ Mikrotik ์์ฒด์ ์ฝ๋์ ์ํค์ ๋ํ ๊ธธ๊ณ ์ฒด๊ณ์ ์ธ ํ๊ธฐ์์ต๋๋ค.
์ค์ ์์
: ํฌํธ๋ฅผ ์ผ๊ณ ๋๋ ์๋ฅผ ์ฌ์ฉํ์ฌ SMS๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์ฅ์น์ ๋ํ ์ ์ด๋ฅผ ๊ตฌํํฉ๋๋ค.
์๋ค :
- ๋ณด์กฐ ๋ผ์ฐํฐ CRS317-1G-16S+
- Mikrotik NETMETAL 5 ์ก์ธ์ค ํฌ์ธํธ
- LTE ๋ชจ๋ R11e-LTE
๋ฉ์ง Netmetal 5 ์ก์ธ์ค ํฌ์ธํธ์๋ ๋ฉ๋๋ SIM ์นด๋ ์ปค๋ฅํฐ์ LTE ๋ชจ๋ ์ค์น์ฉ ํฌํธ๊ฐ ํ์ฌ๋์ด ์๋ค๋ ์ฌ์ค๋ถํฐ ์์ํด ๋ณด๊ฒ ์ต๋๋ค. ๋ฐ๋ผ์ ์ด ์ง์ ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ ์์ฒด์ ์ด์ ์ฒด์ , ์ฆ R11e-LTE์์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ์ง์๋๋ ์ต๊ณ ์ ๋ชจ๋์ ๊ตฌ์ ํ์ต๋๋ค. ์ก์ธ์ค ํฌ์ธํธ๊ฐ ๋ถํด๋๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์๋ฆฌ์ ์ค์น๋์์ต๋๋ค (SIM ์นด๋๊ฐ ๋ชจ๋ ์๋์ ์๊ณ ๋ฉ์ธ ๋ณด๋๋ฅผ ์ ๊ฑฐํ์ง ์๊ณ ๋ ์ป์ ์ ์๋ค๋ ๊ฒ์ ์์์ผํ์ง๋ง). SIM ์นด๋์ ๊ธฐ๋ฅ์ ํ์ธํ์ญ์์ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ก์ธ์ค ํฌ์ธํธ๋ฅผ ์ฌ๋ฌ ๋ฒ ๋ถํดํด์ผ ํฉ๋๋ค.
๋ค์์ผ๋ก, ์ผ์ด์ค์ ๊ตฌ๋ฉ ๋์ด ๊ฐ๋ฅผ ๋ซ๊ณ 2๊ฐ์ ์ฐ๊ฒฐ์ ์ ์ค์นํ ํ ๋๋ถ๋ถ์ ๋ชจ๋์ ๊ณ ์ ํ์ต๋๋ค. ์์ฝ๊ฒ๋ ๊ทธ ๊ณผ์ ์ ๋ด์ ์ฌ์ง์ ๋จ์ ์์ง ์์ต๋๋ค. ๋ฐ๋ฉด์ ์๊ธฐ ๋ฒ ์ด์ค๊ฐ ์๋ ๋ฒ์ฉ ์ํ ๋๋ ๋์ ๋จธ๋ฆฌ์ ๋ถ์ฐฉ๋์์ต๋๋ค.
์ฃผ์ ์ค์ ๋จ๊ณ๋ ์ฌ์ํ ์ํธ ์์ฉ ๊ณต๋ฐฑ์ ์ ์ธํ๊ณ ๋ ์ธํฐ๋ท์ ๊ฝค ์ ์ค๋ช ๋์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, SMS ๋ฉ์์ง ์ค 5๊ฐ๊ฐ ๋์ฐฉํ๋ฉด ๋ชจ๋์ SMS ๋ฉ์์ง ์์ ์ ์ค๋จํ๊ณ ํด๋น ๋ฉ์์ง๊ฐ ๋ฐ์ ํธ์งํจ์ ์ ์ง๋ฉ๋๋ค. ๋ฉ์์ง๋ฅผ ์ง์ฐ๊ณ ๋ชจ๋์ ๋ค์ ์์ํด๋ ๋ฌธ์ ๊ฐ ํญ์ ํด๊ฒฐ๋๋ ๊ฒ์ ์๋๋๋ค. ํ์ง๋ง ๋ฒ์ 6.44.1์์๋ ์์ ์ด ๋ ์์ ์ ์ผ๋ก ์๋ํฉ๋๋ค. ๋ฐ์ ํธ์งํจ์๋ ๋ง์ง๋ง 4๊ฐ์ SMS๊ฐ ํ์๋๋ฉฐ ๋๋จธ์ง๋ ์๋์ผ๋ก ์ง์์ ธ ์ํ์ ์ง์ฅ์ ์ฃผ์ง ์์ต๋๋ค.
์คํ์ ์ฃผ์ ๋ชฉํ๋ ๋์ผํ ๋ฌผ๋ฆฌ์ ๋คํธ์ํฌ์ ์๋ ๋ ๋ผ์ฐํฐ์ ์ธํฐํ์ด์ค๋ฅผ ์ผ๊ณ ๋๋ ๊ฒ์ ๋๋ค. ๊ฐ์ฅ ํฐ ์ด๋ ค์์ 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. Mikrotik ํฌ๋ผ์์ routeros_api.class.php๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ์๋ฒ์ ์ก์ธ์ค ๊ฐ๋ฅํ ๋๋ ํฐ๋ฆฌ์ ๋ฐฐ์นํฉ๋๋ค.
sfp-sfpplus16 ๋์ ๋นํ์ฑํ/ํ์ฑํํ ์ธํฐํ์ด์ค์ ์ด๋ฆ์ ์ง์ ํด์ผ ํฉ๋๋ค.
์ด์ ๋ค์ ํ์์ ๋ฒํธ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ๋
:cmd ะกะะะ ะะขะะซะะะะ script enableiface
ะธะปะธ
:cmd ะกะะะ ะะขะะซะะะะ script disableiface
NETMETAL์ ํด๋น ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๊ณ , ๊ทธ๋ฌ๋ฉด ์น ์๋ฒ์์ ๋ช ๋ น์ด ์คํ๋ฉ๋๋ค.
SMS ์์ ์ ์์ ์๋๋ XNUMX์ด ๋ฏธ๋ง์ ๋๋ค. ์์ ์ ์ผ๋ก ์๋ํฉ๋๋ค.
๋ํ Zabbix ๋ชจ๋ํฐ๋ง ์์คํ
์ ํตํด ํด๋ํฐ์ผ๋ก SMS๋ฅผ ๋ณด๋ด๊ณ ๊ดํ ์ฅ์น์ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฐฑ์
์ธํฐ๋ท ์ฐ๊ฒฐ์ ์ฌ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์๋ง๋ ์ด๊ฒ์ ์ด ๊ธฐ์ฌ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๊ฒ ์ง๋ง, SMS๋ฅผ ๋ณด๋ผ ๋ ๊ทธ ๊ธธ์ด๋ ํ ๋ฉ์์ง์ ํ์ค ํฌ๊ธฐ์ ๋ง์์ผ ํ๋ค๋ ์ ์ ๋ฐ๋ก ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. Mikrotik์ ์ด๋ฅผ ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ๋๋์ง ์์ผ๋ฉฐ, ๊ธด ๋ฉ์์ง๊ฐ ๋์ฐฉํ๋ฉด ๋จ์ํ ์ ์กํ์ง ์์ต๋๋ค. ๋ํ ๋ฉ์์ง์์ ์ ์ก๋๋ ๋ฌธ์๋ฅผ ํํฐ๋งํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด SMS๊ฐ ์ ์ก๋์ง ์์ต๋๋ค.
์ถ์ฒ : habr.com