Benachrichtigung, wenn sich die externe IP-Adresse des MikroTik-Routers ändert. Senden einer Nachricht an E-Mail oder Telegram.
Das Skript erstellt eine globale Variable CurrentIP, um die aktuelle externe IP-Adresse des MikroTik-Routers zu speichern.
Das Skript verwendet die API des Dienstes ipify.org, um eine externe IP-Adresse abzurufen.
Verwenden Sie die folgende Funktion, um eine E-Mail-Nachricht zu senden: MikroTik-Skripte: Senden von benachrichtigungen und daten an E-mails (funktion)
Um eine Telegram Nachricht zu senden, wird die Funktion verwendet: MikroTik-Skripte: Senden einer Nachricht an Telegram (funktion)
Artikel in anderen Sprachen:
?? – 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-scripts: Melding wanneer het externe IP-adres van de router verandert
Skript erstellen
[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
};
Skript zum MikroTik Scheduler hinzufügen
Damit das Skript funktioniert, müssen Sie die folgenden Berechtigungen festlegen: read, write, policy, test.
[System] -> [Schedule] -> [+] -> [Name:CheckChangeExternalAdress] - > [Interval: 00:05:00] -> [Policy: read, write, policy, test]
Script code:
/system script run CheckChangeExternalAdress;
? Das Mikrotik-Skript „Benachrichtigung über eine Änderung der externen IP-Adresse des Routers“ wurde in diesem Artikel erläutert. Ich hoffe, dass das Ändern der externen IP-Adresse von MikroTik jetzt nicht unerwartet ist. Wenn Sie jedoch beim Stimmen auf Probleme stoßen, können Sie gerne in Stein schreiben. Ich werde versuchen zu helfen.
Das Skript wird überprüft: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (stable).