Dynamic DNS
Il servizio Dynamic DNS GiDiNet consente di associare un hostname
a un indirizzo IP che può cambiare nel tempo.
L'aggiornamento utilizza il protocollo DynDNS2 (dyndns2)
tramite connessione HTTPS.
Per effettuare gli aggiornamenti è possibile utilizzare un client Dynamic DNS
compatibile con il protocollo dyndns2 oppure inviare direttamente le richieste
HTTPS previste dal servizio.
Utilizzo con ddclient
ddclient è un software open source per la gestione dei servizi
Dynamic DNS, utilizzato principalmente su sistemi Linux e Unix.
Una volta configurato, ddclient può rilevare periodicamente l'indirizzo IP
pubblico e comunicare automaticamente al servizio Dynamic DNS le eventuali
variazioni.
ddclient supporta il protocollo
dyndns2 utilizzato da
GiDiNet e può quindi essere utilizzato senza software proprietario
dedicato.
Per Ubuntu è disponibile una guida specifica che descrive installazione,
configurazione e avvio automatico del servizio.
Configurare il Dynamic DNS su Ubuntu con ddclient
Per sistemi Windows è possibile utilizzare
ddclient-nsis,
un progetto open source che permette di installare e utilizzare ddclient
come servizio Windows.
È disponibile una guida specifica che descrive l'installazione e la
configurazione di ddclient-nsis per il servizio Dynamic DNS.
Configurare ddclient su Windows con ddclient-nsis
Testare il servizio con curl o wget
È possibile verificare direttamente il funzionamento del servizio utilizzando
curl o
wget.
Questi strumenti possono essere utilizzati anche per realizzare script
personalizzati, ad esempio quando non si desidera installare un client
Dynamic DNS dedicato.
Per effettuare la richiesta sono necessari:
- Username: il nome utente del servizio Dynamic DNS;
- Password: la password del servizio Dynamic DNS;
- Hostname: il nome DNS che deve essere aggiornato;
-
Indirizzo IP: opzionale; può essere indicato esplicitamente
oppure rilevato automaticamente dal server.
Aggiornamento indicando l'indirizzo IP
Se si conosce l'indirizzo IPv4 da associare all'hostname, è possibile
specificarlo tramite il parametro myip.
Esempio con curl
curl -u "usernamequi:passwordqui" "https://api.quickservicebox.com/nic/update?system=dyndns&hostname=hostname.example.ext&myip=indirizzoipqui"
Sostituire:
usernamequi con lo username Dynamic DNS;
passwordqui con la password Dynamic DNS;
hostname.example.ext con l'hostname da aggiornare;
indirizzoipqui con l'indirizzo IPv4 da associare all'hostname.
Esempio con wget
wget -qO- --auth-no-challenge --user="usernamequi" --password="passwordqui" "https://api.quickservicebox.com/nic/update?system=dyndns&hostname=hostname.example.ext&myip=indirizzoipqui"
Il parametro
-qO- evita di salvare la risposta in un file e
mostra direttamente nel terminale la risposta restituita dal servizio.
Aggiornamento con rilevamento automatico dell'indirizzo IP
Il parametro myip è opzionale.
Se non viene specificato, il server utilizza automaticamente l'indirizzo IP
dal quale riceve la richiesta di aggiornamento.
Questa modalità è particolarmente comoda quando il comando viene eseguito
direttamente dalla connessione Internet alla quale deve essere associato
l'hostname.
Esempio con curl
curl -u "usernamequi:passwordqui" "https://api.quickservicebox.com/nic/update?system=dyndns&hostname=hostname.example.ext"
Esempio con wget
wget -qO- --auth-no-challenge --user="usernamequi" --password="passwordqui" "https://api.quickservicebox.com/nic/update?system=dyndns&hostname=hostname.example.ext"
Utilizzo negli script
Le stesse richieste possono essere utilizzate all'interno di script propri.
Ad esempio, uno script può eseguire periodicamente una richiesta senza il
parametro myip, lasciando al server il compito di rilevare
automaticamente l'indirizzo IP pubblico.
Il servizio può ricevere richieste periodiche anche quando l'indirizzo IP
non è cambiato: se non è necessario modificare il record DNS, non viene
effettuato alcun aggiornamento.
I comandi mostrati negli esempi includono la password direttamente nella riga di comando e sono quindi destinati principalmente a test e verifiche.
Se vengono utilizzati all'interno di script permanenti, è necessario
proteggere adeguatamente il file che contiene le credenziali e limitarne
l'accesso agli utenti autorizzati.