DNS Beacon
DashboardAccedi

DynDNS su MikroTik RouterOS: configurazione passo dopo passo

I router MikroTik non includono un client DynDNS2: la funzione IP Cloud dialoga solo con il servizio proprietario di MikroTik. Con un piccolo script RouterOS e lo scheduler il tuo router richiama comunque da solo l'aggiornamento di DNS Beacon e resta raggiungibile con un hostname permanente, anche quando l'IP WAN cambia. Ecco come configurarlo.

Passo dopo passo

  1. In WinBox, sotto System → Scripts (o nel terminale con /system script add), crea un nuovo script chiamato dnsbeacon con le policy read, write, test. Incolla come source le due righe di script dalla tabella qui sotto e sostituisci ether1 con la tua interfaccia WAN, e <email> e <api-key> con l'email del tuo account e una chiave API dalla dashboard.
  2. Sotto System → Scheduler aggiungi una pianificazione che esegua lo script ogni 5 minuti: il comando scheduler della tabella lo fa in una sola riga nel terminale. Lo scheduler richiede le stesse policy dello script.
  3. Esegui lo script una volta manualmente (Run Script oppure /system script run dnsbeacon). Nel log compare «dnsbeacon: good <IP>», oppure nochg se l'IP è già corretto. Da questo momento lo scheduler mantiene l'hostname aggiornato automaticamente.

Valori da inserire

System → Scripts e System → Scheduler (WinBox o terminale)

Interfaccia WAN:
interfaccia con l'IP pubblico, ad es. ether1 o pppoe-out1 (da inserire nello script al posto di ether1)
Hostname:
myhouse.dnsfollowme.uk
Nome utente:
il tuo indirizzo email (<email> nello script)
Password:
la tua chiave API (<api-key> nello script)
Script, riga 1:
:local a [/ip address get [find interface=ether1] address]; :local ip [:pick $a 0 [:find $a "/"]]
Script, riga 2:
:local r [/tool fetch url="https://api.dnsbeacon.com/nic/update?hostname=myhouse.dnsfollowme.uk&myip=$ip" user="<email>" password="<api-key>" output=user as-value]; :log info ("dnsbeacon: " . ($r->"data"))
Scheduler:
/system scheduler add name=dnsbeacon interval=5m on-event=dnsbeacon policy=read,write,test
IPv6:
Nella riga 1 sostituisci /ip address con /ipv6 address e [find interface=ether1] con [find interface=ether1 global]; nella riga 2 invia &myipv6=$ip al posto di &myip=$ip.

RouterOS non ha un client DynDNS2 integrato: IP Cloud dialoga solo con il servizio proprietario di MikroTik. L'aggiornamento è quindi affidato a uno script di due righe: la riga 1 legge l'IP dell'interfaccia WAN, la riga 2 chiama /nic/update tramite /tool fetch con autenticazione HTTP basic e scrive la risposta nel log. Con DSL/PPPoE l'interfaccia WAN si chiama di solito pppoe-out1. Dietro CGNAT/DS-Lite l'IP WAN è privato e comunque irraggiungibile via IPv4: in tal caso invia myipv6 con l'indirizzo IPv6 globale. Vale per RouterOS 7 (e 6.45+).

IPv4 o IPv6?

I valori qui sopra aggiornano l'indirizzo IPv4 (record A), il caso normale su connessioni con IPv4 pubblico proprio. Per IPv6 (record AAAA) il dispositivo invia in aggiunta o al posto di esso il parametro &myipv6=<IPv6>. Come farlo su questo dispositivo è indicato nella riga «IPv6» della tabella.

DS-Lite o CGNAT (molte connessioni via cavo e fibra): il router non ha un IPv4 pubblico e il servizio rifiuta un indirizzo WAN privato con «abuse». In tal caso invia solo myipv6, oppure usa il client DNS Beacon direttamente sul dispositivo di destinazione, che rileva da solo entrambe le famiglie di indirizzi.

Non hai ancora un hostname gratuito?

Crea un account DNS Beacon gratuito, aggiungi un hostname e genera una chiave API, poi torna qui e completa la configurazione sopra.

Crea un account gratuito

Torna a tutte le guide