Найти тему
MHelp.pro

MikroTik Скрипт: Уведомление при изменении внешнего IP адреса роутера

Оглавление

Уведомление при изменении внешнего IP адреса роутера MikroTik. Отправка сообщения на электронную почту или в Telegram.

Скрипт создает глобальную переменную CurrentIP, для хранения текущего внешнего IP адреса роутера MikroTik.

Скрипт использует API сервиса ipify.org, для получения внешнего IP адреса.

Для отправки сообщения на электронную почту используется функция: MikroTik Скрипты: Отправить письмо и файл на почту (функция).

Для отправки Telegram сообщения используется функция: MikroTik Скрипты: Отправка сообщения в Telegram (функция).

Пример электронного письма с уведомлением о изменении внешнего IP адреса
Пример электронного письма с уведомлением о изменении внешнего IP адреса

Создать скрипт

[System] -> [Scripts] -> [+] -> [Name: CheckChangeExternalAdress] -> [Policy: read, write, policy, test]

Код скрипта

:global CurrentIP;
:local NewIP ([/tool fetch url=http://api.ipify.org/ as-value output=user] -> "data")

:if ($NewIP != $CurrentIP) do={
# Variables
:local Time [/system clock get time];
:local Date [/system clock get date];
:local DeviceName [/system identity get name];
:local Text "New IP: $NewIP, Previous IP: $CurrentIP";
:set CurrentIP $NewIP;

# START Send Telegram Module
:local MessageText "\F0\9F\9F\A2 <b>$DeviceName: External IP address has changed.</b> $Text";
:local SendTelegramMessage [:parse [/system script get MyTGBotSendMessage source]];
$SendTelegramMessage MessageText=$MessageText;
# END Send Telegram Module

# START Send Email Module
:local SendTo "test@mhelp.pro";
:local Subject "\F0\9F\9F\A2 INFO: $DeviceName [$Date $Time] External IP address has changed.";
:local MessageText $Text;
:local FileName "";
:local SendEmail [:parse [/system script get SendEmailFunction source]];
$SendEmail SendTo=$SendTo TextMail=$MessageText Subject=$Subject FileName=$FileName;
# END Send Email Module
};

Добавить скрипт в Планировщик MikroTik

Для работы скрипта необходимо установить следующие разрешения: read, write, policy, test.

[System] -> [Schedule] -> [+] -> [Name: CheckPowerOn script] - > [Interval: 00:05:00] -> [Policy: read, write, policy, test]

Код скрипта:

/system script run CheckChangeExternalAdress;

-2

Комментарии и источник: https://mhelp.pro/ru/mikrotik-skripty-uvedomlenie-pri-izmenenii-vneshnego-ip-adresa-routera/

-3