Installare il client Dynamic DNS su Raspberry PI
Per raggiungere un server Raspberry PI (o linux generico) su internet, dietro ad una connessione ADSL con IP dinamico, è conveniente avere un servizio di Dynamic DNS o DynDNS ad esempio http://dyndns.it.
Quasi tutti i servizi forniscono gratuitamente 1 nome DNS, per averne altri bisogna sottoscrivere un abbonamento.
Il servizio DynDNS permette di mappare l'IP pubblico, ad esempio 10.45.1.10, assegnato della connessione ADSL su un nome DNS come ad esempio: mio-pi.dyndns.it.
Dato che l'IP di una connessione ADSL ogni "tot" cambia, è necessario comuncare al servizio che fornisce DynDNS il nuovo IP tempestivamente.
Questo può essere fatto manualmente tramite il sito del servizio. Ovviamente è un po' scomodo e poco pratico, quindi è meglio installare un servizio in background che fa questo per noi. Su linux il servizio è ddclient.
Prima di procedere assicuriamoci che il sistema sia aggiornato alle ultime versioni:
Installiamo ddclient (esempi basati su Rasbian Jessie e ddclient 3.8.2):
che darà un output tipo questo:
confermare con S per procedere.
Al termine il comando visualizza un wizard per la configurazione del servizio. Se il tuo servizio è tra quelli elencati, selezionalo o scegli altro e procedi con il wizard.
Scegliendo www.dyndns..com ti verràchiesto:
Per verificare se il servizio è in esecuzione:
mentre per verificare se il servizio funziona e si collega correttamente al servizio DynDNS configurato:
se tutto va a buon fine le ultime righe dovrebbero essere:
per eseguire nuovamente il wizard:
Il wizard crea un file di configurazione in /etc/ddclient.conf e può essere editato con:
che sarà simile a questo:
Per editare il file usa l'editor nano:
Quasi tutti i servizi forniscono gratuitamente 1 nome DNS, per averne altri bisogna sottoscrivere un abbonamento.
Il servizio DynDNS permette di mappare l'IP pubblico, ad esempio 10.45.1.10, assegnato della connessione ADSL su un nome DNS come ad esempio: mio-pi.dyndns.it.
Dato che l'IP di una connessione ADSL ogni "tot" cambia, è necessario comuncare al servizio che fornisce DynDNS il nuovo IP tempestivamente.
Questo può essere fatto manualmente tramite il sito del servizio. Ovviamente è un po' scomodo e poco pratico, quindi è meglio installare un servizio in background che fa questo per noi. Su linux il servizio è ddclient.
Prima di procedere assicuriamoci che il sistema sia aggiornato alle ultime versioni:
Bash
# aggiorna la lista dei pacchetti
sudo apt-get update
# aggiorna i pacchetti nel sistema
sudo apt-get upgrade
Bash
sudo apt-get install ddclient
Text
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
I seguenti pacchetti saranno inoltre installati:
libio-socket-ssl-perl libnet-libidn-perl libnet-ssleay-perl
I seguenti pacchetti NUOVI saranno installati:
ddclient libio-socket-ssl-perl libnet-libidn-perl libnet-ssleay-perl
0 aggiornati, 4 installati, 0 da rimuovere e 0 non aggiornati.
È necessario scaricare 531 kB di archivi.
Dopo quest'operazione, verranno occupati 1.759 kB di spazio su disco.
Continuare? [S/n]
Al termine il comando visualizza un wizard per la configurazione del servizio. Se il tuo servizio è tra quelli elencati, selezionalo o scegli altro e procedi con il wizard.
Scegliendo www.dyndns..com ti verràchiesto:
- il nome server (es. www.dyndns.it)
- nome utente del servizio DynDNS
- password del servizio DynDNS
- di nuovo la password per conferma
- verrà chiesto se trovare l'indirizzo IP pubblico con checkip.dyndns.com, rispondi Si
- alla domanda successiva seleziona Manualmente e inserisci il nome DynDNS (FQDN) (nel caso di host gratuito uno solo es. mio-pi.dyndns.it)
- alla richiesta di abilitare il PPP rispondi No
- successivamente verrà chiesto se eseguire ddclient come demone (servizio), rispondi Si
- imposta come intervallo fra le esecuzioni 600
Per verificare se il servizio è in esecuzione:
Bash
sudo /etc/init.d/ddclient status
Bash
sudo ddclient -daemon=0 -debug -verbose -noquiet
Text
RECEIVE:
RECEIVE: good nnn.nnn.nnn.nnn
SUCCESS: updating mio-pi.dyndns.it: good: IP address set to nnn.nnn.nnn.nnn
Bash
sudo dpkg-reconfigure ddclient
Bash
sudo nano /etc/ddclient.conf
Text
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
protocol=dyndns2
use=if, if=eth0
server=members.dyndns.org
login=mio-user
password='mia-passwod'
mio-pi.dyndns.it
Attenzione, la password va racchiusa tra virgolette singole
che poi ho modificato così:Text
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
daemon=300
cache=/tmp/ddclient.cache
pid=/var/run/ddclient.pid
ssl=yes
protocol=dyndns2
use=web, web=checkip.dyndns.it/, web-skip='IP Address'
server=members.dyndns.it
login=mio-user
password='mia-passwod'
mio-pi.dyndns.it
Bash
sudo nano /etc/ddclient.conf
se da problemi di connessione tipo:
WARNING: cannot connect to members.dyndns.it:443 socket: IO::Socket::IP configuration failed
prova a mettere ssl=no ... non è una soluzione ottimale in quanto viene inviata la password in chiaro ma al momento non ho trovato un altra soluzione.
dopo le modifiche manuali al file /etc/ddclient.config riavvia il servizio e ricontrolla:WARNING: cannot connect to members.dyndns.it:443 socket: IO::Socket::IP configuration failed
prova a mettere ssl=no ... non è una soluzione ottimale in quanto viene inviata la password in chiaro ma al momento non ho trovato un altra soluzione.
Bash
sudo /etc/init.d/ddclient restart
sudo ddclient -daemon=0 -debug -verbose -noquiet