Aggiornare il proprio record su DuckDNS tramite Raspberry Pi OS - inDomus.it (2024)

SCOPI DELLA GUIDA:
  • Tenere automaticamente aggiornato il proprio record DNS presso DuckDNS
  • Livello di difficoltà: medio/basso
CONCETTI AFFRONTATI:
  • installazione e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
  • DuckDNS
PREREQUISITI:
  • Rete Wifi connessa ad Internet
  • Raspberry Pi configurato e funzionante con Raspberry Pi OS (Raspbian)
DISPOSITIVI FISICI UTILIZZATI:
  • Raspberry Pi
GUIDA MAGGIORMENTE INDICATA PER:

Aggiornare il proprio record su DuckDNS tramite Raspberry Pi OS - inDomus.it (1)

NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fadecadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione guida: 3.1

😊 QUESTA GUIDA È ANCHE PARTE DEL NOSTRO PERCORSO GUIDATO ALL’INSTALLAZIONE E CONFIGURAZIONE
di HOME ASSISTANT su RASPBERRY PI.

Abstract

DuckDNS è un servizio gratuito che permette di ottenere un nome host (definito dall’utente) associato al corretto IP del proprio modem.

Viene utilizzato spesso e volentieri da utenti Home Assistantper accedere remotamente alla propria domotica personale; talvolta capita però (specialmente nella versione stand-alone su Raspberry Pi OS) che, a fronte di un riavvio del modem, la piattaforma di integrazione non provveda all’update e, essendo possibilmente cambiato l’IP WAN associato al router, non sia più possibile raggiungere il proprio ambiente.

A prescindere dall’uso in domotica, la possibilità di conoscere sempre il proprio IP tramite la risoluzione diun nome host FQDN perennemente aggiornato è un vantaggio in termini di gestione, perché può essere utile per esempio avere accesso SSH (o altre modalità) al proprio Raspberry.

Questa guida propone tre diverse modalità di aggiornamento:

  • tramite un’esecuzione ciclica di crontab su Raspberry Pi OS
  • tramite un container Docker
  • tramite una semplice automazione Home Assistant.

Si parte

  • Assunti
  • Metodo classico
    • Funzionamento
    • Implementazione
    • TEST
  • Metodo Docker
    • Installare Docker
    • Container
  • Metodo Home Assistant

Assunti

Assumeremo per questa guida che l’utente sia già iscritto a duckdns.org e abbia creato un proprio FQDN, che per questa guida assumeremo essere:

miodominio.ducksdns.org

Qualora così non fosse, provvedere ad iscriversi al sito e definire un proprio FQDN.

Metodo Classico

Funzionamento

Il meccanismo di funzionamento è molto semplice. È infatti sufficiente contattare un determinato URL Internet per far sì che il proprio record venga aggiornato; tale URL è formattato in modo da contenere una chiave personale (o “token”) e il nome del nome dominio da aggiornare, nonché il nuovo indirizzo IP da associare.

Quel che faremo è definire un processo automatico che, una volta ogni ora, invii la richiesta di (eventuale) aggiornamento verso DuckDNS.

Implementazione

In primis è necessario collegarsi via SSH al proprio Raspberry Pi.
Una volta connessi, eseguire i seguenti tre comandi:

mkdir duckdnscd duckdnssudo nano duck.sh

A questo punto è necessario inserire una stringa nell’editor che sarà comparso. Tale stringa sostanzialmente evoca il servizio online segnalando l’IP del nostro router in modo che possa essere associato al proprio FQDN (laddove sia cambiato dall’ultima chiamata).

Tale stringa è essenzialmente la seguente (tutto in una sola riga):

echo url="https://www.duckdns.org/update?domains=<tuo-dominio>&token=<tuo-token>&ip=" | curl -k -o ~/duckdns/duck.log -K -

dove:

  • <tuo-dominio>è il nome del tuo dominio, inteso come terzo livello, quindi nel caso sopra solo “miodominio“;
  • <tuo-token> è il token assegnato al proprio dominio.

Per scoprire il token è sufficiente collegarsi su DuckDNS e leggere la scheda che appare:

Aggiornare il proprio record su DuckDNS tramite Raspberry Pi OS - inDomus.it (2)

La voce è appunto “token” e il token stesso è la lunga stringa che segue.

Una volta modellata opportunamente la stringa, è necessario copia-incollarla dentro l’editor.
Successivamente, salvare e uscire (CTRL+X, Y, Invio).

Fatto questo, eseguire i seguenti due comandi:

sudo chmod 777 duck.shexport VISUAL=nano; crontab -e

Posizionarsi in fondo all’editor che apparirà e inserire la seguente stringa:

*/60 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Questo farà sì che l’aggiornamento (o meglio, la verifica e quindi l’eventuale aggiornamento) avvenga automaticamente ogni 60 minuti.

N.b. Per personalizzare il lasso di tempo di verifica, si consiglia di utilizzare questo tool online.

Infine, eseguire il seguente comando:

sudo service cron start

TEST

Per verificare che l’aggiornamento funzioni, eseguire i seguenti due comandi:

cd duckdns./duck.shcat duck.log

Se apparirà “OK“, signfica che la comunicazione verso DuckDNS è stata effettuata e l’aggiornamento richiesto correttamente.

Metodo Docker

Installare Docker

Installare Docker su Raspberry Pi dotato di sistema operativo Raspberry Pi OS (Raspbian) è piuttosto semplice, esiste una procedura completamente automatica e una manuale. Entrambe le procedure sono illustrate in dettaglio in questa breve guida.

Se si ha già provveduto all’installazione di Docker, va da sé che questo passaggio possa essere saltato.

Istanziare il container DuckDNS

Istanziamo un container Docker ad hoc che contenga una mini-app concepita a tal scopo.
Per farlo, eseguire il seguente comando:

sudo docker run -d --name=duckdns -e TZ=Europe/Rome -e SUBDOMAINS=NOME_DOMINIO -e TOKEN=MIO_TOKEN_DUCKDNS --restart unless-stopped ghcr.io/linuxserver/duckdns

sostituendo nel comando le stringhe indicate come segue:

NOME_DOMINIOnome dominio definito sul servizio DuckDNS (inteso come terzo livello, quindi nel caso sopra solo “casamia“)
MIO_TOKEN_DUCKDNStoker fornito da DuckDNS

Eseguito il comando, il container verrà scaricato ed istanziato. Al termina, verificare tramite il comando:

sudo docker logs duckdns

che i log riportino qualcosa tipo:

Your IP was updated at Thu Gen 1 00:00:00 CET 1980

il che indica un corretto avvio dell’applicazione container e dell’avvenuto aggiornamento dell’associazione IP/FQDN.
Diversamente, un errore tipo:

Something went wrong, please check your settings Thu Gen 1 00:00:00 CET 1980

indica che qualche errore è stato commesso nella formulazione del comando di cui sopra (verificare nome dominio e token).

Una volta attuata correttamente tale configurazione, DuckDNS conoscerà in tempo (quasi) reale l’IP del vostro modem/router, e con lui, voi e chi interrogherà tale FQDN.

Metodo Home Assistant

Se invece, come è probabile, si possiede Home Assistant, è possibile evitare l’aggiornamento via Raspberry Pi OS o tramite Docker utilizzando una semplice automazione, come spiegato nella seguente guida:

Aggiornare il proprio record su DuckDNS tramite automazione Home Assistant

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.

Correlati

Aggiornare il proprio record su DuckDNS tramite Raspberry Pi OS - inDomus.it (2024)
Top Articles
Latest Posts
Article information

Author: Kimberely Baumbach CPA

Last Updated:

Views: 5657

Rating: 4 / 5 (41 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Kimberely Baumbach CPA

Birthday: 1996-01-14

Address: 8381 Boyce Course, Imeldachester, ND 74681

Phone: +3571286597580

Job: Product Banking Analyst

Hobby: Cosplaying, Inline skating, Amateur radio, Baton twirling, Mountaineering, Flying, Archery

Introduction: My name is Kimberely Baumbach CPA, I am a gorgeous, bright, charming, encouraging, zealous, lively, good person who loves writing and wants to share my knowledge and understanding with you.