Scripts MikroTik: Notification lorsque l’adresse IP externe du routeur change

Notification lorsque l’adresse IP externe du routeur MikroTik change. Envoi d’un message à un e-mail ou à un Telegram.

Le script crée une variable globale CurrentIP pour stocker l’adresse IP externe actuelle du routeur MikroTik.

Le script utilise l’API du service ipify.org pour obtenir une adresse IP externe.

Pour envoyer un e-mail, utilisez la fonction: Scripts MikroTik: envoi de notifications et de fichiers par courrier électronique (fonction)

Pour envoyer un message Telegram, la fonction est utilisée: Scripts MikroTik: Envoi d’un message à Telegram (fonction)

Exemple de notification par e-mail d'un changement d'adresse IP externe
Exemple de notification par e-mail d’un changement d’adresse IP externe

Article dans d’autres langues:
?? – 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 адреса роутера
?? – MikroTik-Skripte: Benachrichtigung, wenn sich die externe IP-Adresse des Routers ändert
?? – MikroTik-scripts: Melding wanneer het externe IP-adres van de router verandert

Créer un script

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

Code de script

: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
};

Ajouter un script au planificateur MikroTik

Pour que le script fonctionne, vous devez définir les autorisations suivantes: read, write, policy, test.

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

Code de script:

/system script run CheckChangeExternalAdress;
MicroTik Script Notification when the external IP address of the router changes

? La notification de script Mikrotik concernant la modification de l’adresse IP externe du routeur a été abordée dans cet article. J’espère maintenant que le changement de l’adresse IP externe de l’appareil MikroTik ne sera pas inattendu. Cependant, si vous rencontrez des problèmes lors de la configuration, n’hésitez pas à écrire dans les commentaires. J’essaierai d’aider.

Le script est vérifié: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (stable).

2 réflexions au sujet de “Scripts MikroTik: Notification lorsque l’adresse IP externe du routeur change”

  1. Hello je débute
    Et avant tout merci pour ce partage que vous faites.
    Je débute sur Mikrotik, et je suis en train de développer mes premiers scripts.
    Je souhaiterais savoir ou sur Winbox je dois entrer cette commande pour l’exécution du script svp?

    « /system script run CheckChangeExternalAdress; »

    Merci

    Répondre

Laisser un commentaire