Melding wanneer het externe IP-adres van de MikroTik-router verandert. Een bericht sturen naar e-mail of Telegram.
Het script maakt een globale variabele CurrentIP om het huidige externe IP-adres van de MikroTik-router op te slaan.
Het script gebruikt de API van de ipify.org-service om een extern IP-adres te krijgen.
Gebruik de functie om een e-mailbericht te verzenden: MikroTik-scripts: E-mail en bestand naar e-mail verzenden (functie).
Om een Telegram-bericht te verzenden, wordt de functie gebruikt: MikroTik-scripts: Een bericht naar Telegram sturen (functie).
Artikel in andere talen:
?? – MikroTik Scripts: Notification when the external IP address of the router changes
?? – MikroTik Scripts: notificación cuando cambia la dirección IP externa del enrutador
?? – MikroTik Скрипты: Уведомление при изменении внешнего IP адреса роутера
?? – Scripts MikroTik: Notification lorsque l’adresse IP externe du routeur change
?? – MikroTik-Skripte: Benachrichtigung, wenn sich die externe IP-Adresse des Routers ändert
Maak een script
[System] -> [Scripts] -> [+] -> [Name: CheckChangeExternalAdress] -> [Policy: read, write, policy, test]
Script code
: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
};
Voeg script toe aan MikroTik Scheduler
Om het script te laten werken, moet u de volgende machtigingen instellen: read, write, policy, test.
[System] -> [Schedule] -> [+] -> [Name: CheckChangeExternalAdress] - > [Interval: 00:05:00] -> [Policy: read, write, policy, test]
Script code:
/system script run CheckChangeExternalAdress;
? Het Mikrotik-script “Melding van een wijziging in het externe IP-adres van de router” werd in dit artikel besproken. Ik hoop dat de verandering van het externe IP-adres van het MikroTik-apparaat nu niet onverwacht zal zijn. Als u echter problemen ondervindt tijdens het instellen, kunt u in de opmerkingen schrijven. Ik zal proberen te helpen.
Het script wordt gecontroleerd: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (stabiel).