Skip to main content
DDNS su mikrotik

Router Mikrotik e dynDNS.it

In questo articolo vediamo come configurare il DDNS su router Mikrotik utilizzando il servizio offerto da dyndns.it. Il tutto in 3 semplici passi.

La configurazione qui presentata si applica a tutti i modelli di router Mikrotik che utilizzando il routerOS.

1. Creazione Hostname

Se non sei ancora registrato a dyndns.it devi creare un account e un host (indirizzo dinamico) per raggiungere il modem da remoto. Se hai già un host nativo dyndns.it, puoi saltare questo passo.

Usa il Wizard per creare il giusto tipo di host per il tuo modem Apri Wizard

2. Configurazione Router

Dopo aver creato un host è possibile configurare il router Mikrotik utilizzando lo script qui riportato e creando un cronjob che lo richiami.

Lo script

Questo è lo script che si occupa del check dell’IP e dell’invio dell’aggiornamento quando l’IP cambia.

Deve essere personalizzato inserendo le proprie credenziali e il nome dell’host che si desidera aggiornare.

# Set the following values from your dyndns.it account
:local username "YOURUSERNAME"
:local password "YOURPASSWORD"
:local hostname "YOURHOSTNAME"

## no need to modify after this line.

:global dyndnsForce
:global previousIP

# print some debug info
:log info ("UpdateDynDNS: username = $username")
:log info ("UpdateDynDNS: password = $password")
:log info ("UpdateDynDNS: hostname = $hostname")
:log info ("UpdateDynDNS: previousIP = $previousIP")

# get the current IP address from the internet (in case of double-nat)
/tool fetch mode=http address="checkip.dyndns.it" src-path="/" dst-path="/dyndns.checkip.html"
:delay 1
:local result [/file get dyndns.checkip.html contents]

# parse the current IP result
:local resultLen [:len $result]
:local startLoc [:find $result ": " -1]
:set startLoc ($startLoc + 2)
:local endLoc [:find $result "</body>" -1]
:local currentIP [:pick $result $startLoc $endLoc]
:log info "UpdateDynDNS: currentIP = $currentIP"

# Remove the # on next line to force an update every single time - useful for debugging,
# but you could end up getting blacklisted by DynDNS!

#:set dyndnsForce true

# Determine if dyndns update is needed
:if (($currentIP != $previousIP) || ($dyndnsForce = true)) do={
:set dyndnsForce false
:set previousIP $currentIP
:log info "$currentIP or $previousIP"
/tool fetch user=$username password=$password mode=http address="update.dyndns.it" \
src-path="nic/update?hostname=$hostname&myip=$currentIP" \
dst-path="/dyndns.txt"
:delay 1
:local result [/file get dyndns.txt contents]
:log info ("UpdateDynDNS: Dyndns update needed")
:log info ("UpdateDynDNS: Dyndns Update Result: ".$result)
:put ("Dyndns Update Result: ".$result)
} else={
:log info ("UpdateDynDNS: No dyndns update needed")
}
Puoi vedere le credenziali del tuo host nella pagina Gestione

Nota per gli utenti registrati: al posto del nome utente e della password per accedere a dyndns.it, è possibile anche utilizzare il nome utente e la password definiti per il singolo host

Il Cron Job

Questo scheduler richiama ogni 5 minuti lo script per controllare il cambio dell’IP della connessione.

/system scheduler add comment="Update DDNS" interval=5m name=ddns_sheduler \
on-event="/system script run DDNS\r\n" policy=read,write,test start-time=startup

Come inserire lo script

L’inserimento dello script varia a seconda che si utilizzi un terminale oppure l’applicazione Winbox

Se si usa Winbox

Incollare lo script usando l’opzione del menu System->Script

Se si usa un Terminale

Occorre per prima cosa creare un system script usando i seguenti comandi:

/system script
add name=DDNS
policy=read,write,test

in seguito è possibile incollare lo script.

3. Verifica dyndns

Dopo alcuni secondi dalla configurazione, il modem prova subito ad inviare un aggiornamento dell’IP alla nostra piattaforma.

Non è facile vedere l’errore router Mikrotik in caso di mancato aggiornamento.

Il modo più semplice per verificare che la configurazione sia stata accettata e sia funzionante, è spegnere il modem, attendere qualche minuto e riaccenderlo. Quindi controllare nella pagina del sito dyndns.it nel dettaglio dell’host che l’IP a cui punta l’host sia cambiato.

Prossimi Passi

A questo punto la configurazione del dynDNS è completata e il proprio nome host punterà in qualsiasi momento all’IP corrente della connessione.

Dopo questa configurazione è quindi possibile configurare il port forwarding sul modem come se si disponesse di un IP Statico ed utilizzare il nome host al posto dell’IP della connessione per accedere da remoto.

Staff dynDNS.it

Staff ufficiale del sito dyndns.it, impegnati a fornire informazioni e indicazioni agli utenti dall'Aprile del 2001