In questo semplice tutorial, ti mostreremo come attivare e configurare DuckDNS sul tuo Raspberry Pi o qualsiasi altra board/mini-PC.
DuckDNS è un provider DNS dinamico semplice da usare e completamente gratuito. Ti consente di creare fino a 5 sottodomini che puntano dinamicamente al tuo indirizzo IP (o quello che decidi tu).
In pratica possiamo ottenere un sottodominio come “risposteinformatiche.duckdns.org” che punterà all’indirizzo IP pubblico di casa nostra per accedere così ai vari servizi che teniamo attivi (per esempio se abbiamo un server domestico su cui hostiamo dei files come un’istanza di NextCloud, oppure abbiamo delle videocamere di sorveglianza e vogliamo accedervi da remoto senza doverci ricordare il nostro indirizzo IP pubblico, che può variare se non abbiamo un IP statico).
Il vantaggio di utilizzare un provider DNS dinamico è avere un dominio che punta continuamente al nostro indirizzo IP. La maggior parte dei provider Internet non rilascia indirizzi IP dedicati e, quando lo fanno, ha un costo aggiuntivo.
Con questo strumento, quindi, possiamo comunicare per esempio ai nostri amici il sottodominio da noi registrato su DuckDNS, per invitarli sul nostro server Minecraft domestico, senza doverci preoccupare di dover comunicare ogni volta il nostro indirizzo IP pubblico.
Oltretutto, per aggiornare l’indirizzo IP sul nostro sottodominio DuckDNS basta una semplice richiesta tramite cURL (quindi non dovremo preoccuparsi di utilizzare software come ddclient e simili), il che lo rende il servizio DynDNS più semplice e veloce di tutti!
Requisiti
- Raspberry PI o equivalente, va bene un qualsiasi computer, board ecc. in grado di eseguire richieste http su Internet;
- Scheda SD/Micro-SD da almeno 8 GB (se utilizzate una board come il Raspberry PI);
- Raspberry PI OS, Debian, Ubuntu o qualsiasi altra distribuzione GNU/Linux;
- Connettività a Internet;
Attivazione di DuckDNS
In questa sezione, scoprirai come registrarti su DuckDNS, registrare un sottodominio gratuito, ottenere un token (richiesto per aggiornare l’indirizzo IP associato al tuo sottodominio) ed attivare lo script che si occupa di aggiornare automaticamente il record DNS associato al tuo sottodominio, con il tuo indirizzo IP pubblico.
Alla fine, il tuo indirizzo IP verrà aggiornato automaticamente ogni cinque minuti con questo servizio di DNS dinamico (Dynamic Host / DynHost / DynDNS).
Registrazione al servizio e recupero Token
1. Per poter procedere al recupero del Token che ci permetterà l’accesso alle API di DuckDNS, abbiamo bisogno di registrarci sul sito web ufficiale del servizio.
Visitiamo quindi il sito Web di Duck DNS con il link che trovate qui.
Una volta aperta la homepage di Duck DNS, scegli uno dei servizi per effettuare l’accesso, ad esempio GitHub (se possiedi un account su GitHub) o Google.
2. Una volta effettuato l’accesso, ti verrà richiesto di completare un captcha. Questo captcha serve ad impedire ai bot di abusare del servizio gratuito.
Procediamo quindi facendo click sul tasto “reCaptcha“:
3. Ora possiamo procedere copiando il token che ci permetterà di accedere alle API di DuckDNS, così come alla registrazione di un sottodominio.
Questo ci servirà per impostare sul sottodominio che registreremo, il nostro indirizzo IP pubblico.
Creare un sotto-dominio su DuckDNS
4. Dopo aver ottenuto il token per utilizzare il servizio DNS Duck, è necessario creare il nostro primo sottodominio.
Digita nella casella di testo il sottodominio che vuoi registrare, dopodiché clicca il tasto “add domain” per procedere alla registrazione.
Appuntati il sottodominio registrato, poiché ci servirà per configurarlo sullo script di aggiornamento automatico.
5. Come vedi dall’immagine qui sopra, abbiamo registrato con successo il sottodominio risposteinformatiche.duckdns.org e in automatico DuckDNS lo ha fatto puntare già al nostro indirizzo IP pubblico.
Installazione del necessario per DuckDNS su GNU/Linux
6. Una volta creato il tuo account DuckDNS, ottenuto un token e creato il tuo sottodominio, possiamo configurare il nostro Raspberry Pi o qualsiasi altro computer equipaggiato con il Pinguino, per aggiornare continuamente il record DNS con il nostro indirizzo IP.
Prima di farlo, assicuriamoci che tutto sia aggiornato utilizzando i seguenti comandi concatenati (daremo per scontato che tu stia utilizzando un sistema Debian-based, come Raspberry PI OS, Debian e Ubuntu):
sudo apt update && sudo apt upgrade -y
7. Dopo aver terminato l’aggiornamento del tuo sistema, dobbiamo assicurarci che il pacchetto cURL sia installato. In genere, questo pacchetto è preinstallato su Raspberry Pi OS.
Useremo cURL per inviare una richiesta a DuckDNS così da fargli aggiornare il puntamento del record DNS con il nostro indirizzo IP.
sudo apt install curl -y
Creazione script di aggiornamento automatico per DuckDNS
8. Procediamo quindi con la creazione di uno script bash per aggiornare automaticamente il record DNS associato al nostro sottodominio DuckDNS con l’indirizzo IP pubblico che abbiamo attualmente.
Iniziamo a scrivere questo script eseguendo il seguente comando nel terminale:
nano ~/aggiornaDuckDNS.sh
9. Incolliamo quindi il contenuto che trovi di seguito, nel file appena aperto con l’editor di testo nano.
Assicurati di sostituire “<DOMIMINIO>
” con quello che ha registrato prima e “<TOKEN>
“ con il token che hai recuperato dall’interfaccia di DuckDNS.
#!/bin/bash
echo url="https://www.duckdns.org/update?domains=<DOMINIO>&token=<TOKEN>&ip=" | curl -k -o ~/ultimoAggiornamentoDuckDNS.log -K -
10. Dopo aver aggiunto queste righe al file, salviamo e usciamo premendo CTRL + X, quindi Y e poi il tasto ENTER.
11. Rendiamo lo script eseguibile tramite il comando chmod. Digitiamo quindi:
chmod +x ~/aggiornaDuckDNS.sh
12. Proviamo quindi lo script, lanciandolo con il comando:
bash ~/aggiornaDuckDNS.sh
Impostazione del Cron Job per eseguire lo script automaticamente
13. Il nostro prossimo passo è modificare il crontab per eseguire periodicamente lo script di DuckDNS appena creato.
Questo manterrà allineato il record DNS registrato su DuckDNS con il nostro indirizzo IP pubblico attuale.
crontab -e
Se ti viene chiesto di scegliere l’editor di testo che desideri utilizzare, seleziona “nano
“, poiché è uno dei più facili da usare.
14. Nella parte inferiore di questo file, aggiungiamo la riga seguente.
Questa riga eseguirà lo script ogni 5 minuti.
*/5 * * * * ~/aggiornaDuckDNS.sh >/dev/null 2>&1
15. Dopo aver aggiunto la linea sopra, salviamo e usciamo premendo CTRL+ X, quindi Y e poi ENTER.
16. Attendi cinque minuti, dopodiché controlla dall’interfaccia di DuckDNS se l’indirizzo IP è stato impostato correttamente (casomai, prima modificalo, mettendone uno a caso, tipo 127.0.0.1 da interfaccia web e poi verifica che venga sostituito).
È tutto! In teoria, dovresti aver configurato correttamente l’aggiornamento automatico su DuckDNS.
Il tuo computer / Raspberry PI sincronizzerà automaticamente il tuo indirizzo IP Pubblico con Duck DNS ogni 5 minuti. Questo dovrebbe garantire che l’IP sia sempre aggiornato.
Se reputi che DuckDNS sia un servizio utile, casomai, valuta di sostenerlo tramite Patreon.
In caso di dubbi, problemi e quant’altro, lascia pure un commento qui sotto o esplora i nostri altri progetti!