MikroTik – konfiguracja usługi DynDNS (korzystając z serwera changeip.com)

W przypadku publicznego dynamicznego adresu IP usługa DynDNS jest bardzo pomocna a niekiedy wręcz niezbędna. Poniżej przedstawiony jest skrypt konfiguracyjny do MikroTika 6.24, używający serwera changeip.com.

{:delay 10};
:local ddnsuser "login_do_konta_na_changeip.com"
:local ddnspass "haslo_do_konta_na_changeip.com"
:local ddnshost "skonfigurowana_domena_na_changeip.com_np:domena.dynamic-dns.net"
:local ddnsinterface "interfejs_MT_ktory_korzysta_z_dyndns_np:pppoe-out1"
:global ddnslastip
:global ddnsip [ /ip address get [find interface=$ddnsinterface disabled=no] address ]
:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip 0.0.0.0/0 }
:if ([ :typeof $ddnsip ] = nil ) do={
:log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.") } else={
:if ($ddnsip != $ddnslastip) do={
:log info "DDNS: Sending UPDATE!"
:log info [ /tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ]
:global ddnslastip $ddnsip } else={
:log info "DDNS: No change" }
}

Należy również skonfigurować Scheduler tak aby uruchamiał skrypt co kilka minut.

/system scheduler
add comment="Update No-IP DDNS" disabled=no interval=5m name=\
    changeip_ddns_update on-event=nazwa_powyższego_skryptu_np:no-ip_ddns_update policy=read,write,test \
    start-time=startup

Skrypt ze strony: https://aacable.wordpress.com/tag/changeip-com/

UWAGA!
Od wersji ok 6.38 polisy skryptu i wpis schedulera muszą być takie same, inaczej skrypt automatycznie się nie wykona.
Komenda {:delay 10}; powoduje uruchomienie skryptu 10 sek. po starcie systemu a następnie nawiązaniu połączenia PPPoE (nawiązanie połączenia może trwać nawet kilkanaście sekund w zależności od stanu łącza).