Скрипт проверки интернета в MikroTik
Заметки на полях. Скрипт для проверки доступности хостов с помощью icmp протокола, он же ping.
Перебираются по порядку все IP адреса из массива addr
, до того момента пока один из IP адресов не будет доступен. Как только адрес будет доступен, перестаёт идти проверка.
При наличии более одного провайдера у вас обязательно должна быть именована таблица маршрутизации которая замкнута “сама в себя” lookup-only-in-table.
Вы можете задавать различные параметры из названия можно понять за что отвечает тот или иной параметр.
### ----- start settings script ----- ###
:local addr [:toarray "8.8.8.8,8.8.4.4,77.88.8.8,77.88.8.1,77.88.8.88,77.88.8.2"];
:local Table "ISP1";
:local CheckPingCount 3;
:local CheckPingTtl 64;
:local CheckPingInterval 1;
### ----- end settings script ----- ###
:local InternetIsset false;
:foreach ipp in $addr do={
:if ($InternetIsset=false) do={
:if ([/ping address=$ipp count=$CheckPingCount routing-table=$Table interval=$CheckPingInterval ttl=$CheckPingTtl] = 0) do={
/log warning message="Internet test fail for address $ipp In table $Table";
} else={
/log warning message="Internet test success for $ipp In table $Table";
:set InternetIsset true;
}
}
}
:if ($InternetIsset=false) do={
#test failed
/log warning message="Internet fail In table $Table";
}else={
#test success
}
Если вам необходимо выполнять какие-либо действия по результатам проверки, в сам конце скрипта находиться два блока if/else. Первый блок отвечает за выполнение при отрицательном результате, второй блок соответственно за положительный результат.
Поделиться
Обсуждение
Лицензия
Текст данной статьи распространяется под общедоступной лицензией CC BY-NC-ND 4.0, ознакомиться с тектом лицензии вы можете на данной странице.