MikroTik-scripts: Melding wanneer het externe IP-adres van de router verandert

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).

Voorbeeld van een e-mail melding van een wijziging in het externe IP-adres
Voorbeeld van een e-mail melding van een wijziging in het externe IP-adres

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;
MicroTik Script Notification when the external IP address of the router changes

? 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).

Plaats een reactie