community italiana di domotica personale
 
Aggiornare il proprio record su DuckDNS tramite Linux Debian

Aggiornare il proprio record su DuckDNS tramite Linux Debian

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:
  • Sistema operativo Linux Debian
  • DuckDNS
PREREQUISITI:
  • Rete connessa ad Internet
  • Un’installazione Linux Debian configurata e funzionante
DISPOSITIVI FISICI UTILIZZATI:
  • Il computer ospitante il sistema operativo Debian
GUIDA MAGGIORMENTE INDICATA PER:

Logo Linux

NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed 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 fa decadere 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;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In presenza di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat.
Revisione guida: 1.0

Abstract

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

Tale risoluzione viene utilizzata spesso e volentieri dagli utenti per accedere remotamente ai propri sistemi; talvolta infatti capita che l’indirizzo IP ad essi associati, per diversi motivi, vari nel tempo. La possibilità di conoscere sempre il proprio IP tramite la risoluzione di un nome host FQDN perennemente aggiornato è un vantaggio in termini di gestione, perché può essere utile per esempio avere accesso SSH (o altre modalità) ai propri sistemi.

Questa guida propone una semplice modalità che consenta a un comune host Linux Debian di aggiornare dinamicamente l’associazione IP WAN (definito a valle del proprio gateway) con un proprio FQDN presso il servizio gratuito DDNS (ovvero Dynamic DNS) chiamato DuckDNS.

Si parte

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:

casamia.ducksdns.org

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

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.

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

Implementazione

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

mkdir duckdns
cd duckdns
touch duck.sh
chmod +x duck.sh
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 “casamia“;
  • <tuo-token> è il token assegnato al proprio dominio.

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

duckdns token

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:

export VISUAL=nano; crontab -e

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

*/5 * * * * ~/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:

./duck.sh
cat duck.log

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

Dicci la tua o poni la tua domanda nei commenti qui sotto!

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. Se ti sei perso, a tua disposizione c'è la mappa.
Telegram News Channel