Dns Dinamico
Introduzione al Dns Dinamico (Dynamic Dns)
Ogni computer collegato a Internet ha un indirizzo IP. L'operazione di traduzione (o di risoluzione) del nome è il processo che mette in relazione un nome (come 'www.google.com') a un indirizzo IP (come '74 .125.19.103 ') in modo che un sito web (o altro servizio) in un computer possa accedere utilizzando un nome facile da ricordare, piuttosto che il numero relativo all'indirizzo IP del computer. La traduzione (o risoluzione) dei nomi viene attuato tramite un database distribuito conosciuto come Domain Name System.
Questo database viene implementato su Internet dai server dei nomi DNS che tengono traccia sia dei record DNS sia dello scambio di informazioni tra di loro per mantenere la coerenza. Ogni richiesta per un nome (ad esempio un browser web), è quindi diretto a uno di questi server. La maggior parte dei server su Internet hanno un indirizzo IP fisso (statico) che non cambia mai. Il record DNS per questo nodo cambia solo di rado. Tuttavia, molti utenti domestici viene assegnato un indirizzo IP che cambia più frequentemente. Questi indirizzi IP dinamici vengono assegnati da un ISP. Questo rende più complicata la risoluzione dell'indirizzo IP da parte del server DNS. Alcuni server dei nomi DNS offrono un metodo per aggiornare il database DNS dinamico con risoluzione del nome in indirizzo IP. L'operazione viene eseguita utilizzando una piccola utility software sul proprio computer o un router locale.
Questi servizi DNS dinamici consentono all'utente di scegliere un 'hostname' e impostare un indirizzo IP iniziale corrispondente a quel hostname. Il software di utilità poi periodicamente controlla se è avvenuto un cambiamento di indirizzo IP del computer, e quando viene trovato un nuovo indirizzo IP, aggiorna il database DNS dinamico per riflettere tale modifica.
Registrarsi con un provider di servizi Dns Dinamico
I server DNS necessitano che un server da qualche parte su Internet, tenga traccia di 'dove sei'(cioè il tuo attuale indirizzo IP). Cioè, il suo database deve sempre essere aggiornato per assicurarsi che il proprio 'hostname' corrisponda sempre al tuo attuale indirizzo IP. Al fine di utilizzare uno di questi servizi di DNS dinamico, è richiesta per prima cosa la registrazione. Ecco una selezione di questi servizi:
Al momento della registrazione, potrete scegliere un nome utente e password, così come un 'hostname' che verrà utilizzato come nome DNS (per consentire l'accesso esterno al vostro computer utilizzando il nome host).
Molti provider di DNS dinamici offrono una selezione di nomi di host disponibili per l'uso gratuito del loro servizio. Tuttavia, con un piano a pagamento, ogni hostname (compreso il vostro nome di dominio registrato) può essere utilizzato.
Configurazione degli aggiornamenti del servizio DNS Dinamico
Dopo aver scelto un provider di servizi di DNS dinamico, è necessario impostare la modalità con cui il vostro record di indirizzo IP verrà aggiornato ogni volta che viene modificato. Ci sono due modi per farlo:
- utilizzando una utility software per la gestione del servizio DNS dinamico che puoi installare sul tuo computer
- utilizzando la funzionalità 'built-in' del modem via cavo / DSL / router in tuo possesso.
Molti router/modem supportano la notifica/segnalazione/aggiornamento del servizio DNS dinamico direttamente. Se la configurazione del router è accessibile da un browser Web, provare l'accesso accedendo al l'indirizzo IP locale del router (per esempio, http://10.1.1.1/ http://192.168.0.1/) e cercare la pagina relativa alle impostazioni Dynamic DNS (DDNS). Tuttavia, anche se il modem/router non supporta la gestione del servizio di DNS dinamico, si può usare una utility software installata sul vostro computer per gestire gli aggiornamenti, soprattutto se:
- si utilizzano diversi servizi Dynamic DNS in una volta (la maggior parte dei router possono gestire solo un servizio alla volta)
- il router non supporta il tuo servizio DNS dinamico
- il server è in un computer portatile (laptop ad esempio) che non è sempre collegato alla stessa rete/router/modem.
Utilizzando un software di utilità per eseguire aggiornamenti dinamici DNS
Ci sono diverse utility disponibili. Ogni servizio Dynamic DNS può funzionare meglio con un programma di utilità particolare. (Potrebbe essere necessario aggiungere l'Universo di Ubuntu per il set di repository software da installare alcune di queste utility. Vedere Installare programmi.)
Utilizzo di un software di utilità per eseguire gli aggiornamenti del DNS Dinamico
Ci sono diverse utility disponibili. Ogni servizio Dynamic DNS può funzionare meglio con un programma di utilità particolare. (Potrebbe essere necessario aggiungere Ubuntu Universe per ottenere il set di repository software con cui installare alcune di queste utility.)
ddclient
ddclient è l'utility originale di Linux per gli aggiornamenti dinamici del DNS. Il wiki ddclient elenca alcune configurazioni per diversi servizi di DNS dinamico. La sezione seguente è stato adattato dalla guida ufficiale (http://ubuntuguide.org/wiki/Dynamic_IP_servers)
- Installare ddclient utilizzando un gestore di pacchetti software, oppure utilizzando l'interfaccia della riga di comando:
sudo apt-get install ddclient
Se questa è la prima volta che si installa ddclient, verrà richiesto dallo script di fornire l'hostname (s) che è stato registrato su DynDNS (o altro servizio DNS dinamico). Vi verrà anche chiesto il nome utente e la password registrati con il servizio Dynamic DNS. Infine, vi verrà chiesto quale porta Ethernet si utilizza principalmente per la connessione a internet (di solito eth0 per rete cablata o wlan0 per il wireless.). In linea di massima questo è tutto ciò che è necessario fare per far funzionare correttamente l'utility.
È anche possibile in seguito modificare il file di configurazione del ddclient in base alle proprie specifiche esigenze (o se si apportano modifiche al servizio, all' hostname o ad altre variabili).
- Modificare il file di configurazione di ddclient:
sudo gedit /etc/ddclient.conf
- Per impostare il numero di secondi tra gli aggiornamenti, posso aggiungere la riga:
daemon=3600
(nell'esempio qui sopra viene impostato un aggiornamento ogni 3600 secondi = un ora)
- Per utilizzare la comunicazione sicura SSL, si può aggiungere la riga:
ssl=yes
- Per utilizzare il servizio 'DynDNS checkip' (che rileverà il tuo attuale indirizzo IP), si può aggiungere la riga:
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
Un esempio di un file di configurazione potrebbe essere:
# Configuration file for ddclient generated by debconf # # /etc/ddclient.conf # # Check the current IP address. Either check the eth0 port for its current IP address (can't be used on a LAN), # or use the DynDNS IP checking service. daemon=3600 pid=/var/run/ddclient.pid #use=if, if=eth0 use=web, web=checkip.dyndns.com/, web-skip='IP Address' # # Login and change the values at the DynDNS site, using SSL. protocol=dyndns2 ssl=yes server=members.dyndns.org login=myDynDNSusername password='myDynDNSuserpassword' mysite_1.dynds.org,mysite_2.dyndns.org,mysite_3.dyndns.org
Nota: se questo non funziona, prova a cambiare 'web-skip' con 'Current Address'
E' importante notare che la password deve essere racchiusa tra virgolette, ad esempio 'myDynDNSuserpassword' per DynDNS.
- Assicurarsi che la configurazione funzioni usando:
sudo ddclient -daemon=0 -debug -verbose -noquiet
Si noti anche che è possibile aggiungere ulteriori servizi e/o nomi di dominio da aggiornare semplicemente aggiungendo un ulteriore blocco al file di configurazione (adeguato per il servizio). Ecco un esempio :
protocol=otherDDNSservice server=whatever.ddnsservice.org login=MyOtherDDNSserviceusername password=MyOtherDDNSservicepassword mysite4.dnsservice.org, mysite5.dnsservice.org
Risoluzione dei problemi
Qui di seguito vengono riportati alcuni esempi di risoluzione dei problemi utilizzati per ripristinare un setup di ddclient.
- Rimuovere/eliminare tutti i tentativi di installazione precedente:
sudo apt-get remove --purge ddclient
- Installare 'ssh' e 'ssh socket' in modo che sia possibile inviare la password tramite ssh invece di in chiaro:
sudo apt-get install ssh libio-socket-ssl-perl
"Nota: 'ssh w/ddclient' non funzionerà senza 'libio-socket-ssl-perl', quindi assicuratevi di installarla anche se avete già installato ssh."
- Reinstallare un pacchetto corrente ddclient dai repository:
sudo apt-get install ddclient
Al prompt digitare i valori appropriati, ad esempio:
- Dynamic DNS fornitore di servizi: www.dyndns.com
- DynDNS nomi di dominio completi: il-tuo-hostname.dyndns.org
- Nome utente per servizio DNS dinamico: il-tuo-username
- Password per servizio DNS dinamico: la-tua-password
- Interfaccia utilizzata per servizio DNS dinamico: web
- Modificare il file / etc / ddclient.conf per inviare la password usando ssh e di verificare correttamente l'indirizzo IP:
sudo gedit /etc/ddclient.conf
Aggiungere le voci di "demone", "ssl" e sostituire "use=if, if=Web" con "use=web" in modo che corrisponda al seguente esempio:
# Configuration file for ddclient generated by debconf # # /etc/ddclient.conf daemon=300 pid=/var/run/ddclient.pid ssl=yes use=web, web=checkip.dyndns.com/, web-skip='IP Address' login=your-username password=your-password protocol=dyndns2 server=members.dyndns.org your-hostname.dyndns.org
Si faccia riferimento per aggiornamenti sicuri: (https://www.dyndns.com/support/kb/using_ddclient_with_dyndns_services.html)
Ora ddclient è impostato per essere eseguito come un demone.
Visto che potresti aver avuto altre configurazioni ddclient in precedenza, controllare:
sudo gedit /etc/default/ddclient
- e controlla che contenga le seguenti linee:
run_ipup="false" run_daemon="true" daemon_interval="300"
Nota: è possibile impostare un intervallo più o meno lungo, ma se viene fatto, occorre reimpostare anche il file '/etc/ddclient.conf' affinchè csia concorde. https://bugs.launchpad.net/ubuntu/+source/ddclient/+bug/152875
Ora, giusto per essere sicuri che tutto funzionisarebbe bene riavviare, quindi controllare lo stato del ddclient subito dopo digitando:
sudo /etc/init.d/ddclient status
Si dovrebbe vedere:
Status of Dynamic DNS service update utility: ddclient is running
Tuttavia, ciò non può sempre evidenziare i problemi nel file 'ddclient.conf', perciò digitate:
sudo /etc/init.d/ddclient restart
Se non si ottiene un errore simile al seguente probabilmente le impostazioni sono valide:
WARNING: file /etc/ddclient.conf, line x
Dopo la fase di impostazione, per effettuare una verifica, si può ottenere un nuovo indirizzo IP dal provider di servizi internet (per esempio spegnendo e riaccendendo il modem/router, il provider riceverà una nuova richiesta di connessione assegnando un nuovo IP) e si provvederà a controllare https://www.dyndns.com/account/services/hosts/ per vedere se DynDNS ha eseguito la modifica. Si può controllare anche '/var/log/syslog' per vedere i cambiamenti.
Si noti inoltre che vi è una limitazione sulla lunghezza della password.
Non è certo ma le password> = 64 caratteri in lunghezza sembrano inadeguate. Se si dispone di una password più lunga, provare a cambiarla temporaneamente con qualcosa di più breve (esempio provare con 8 caratteri) per vedere se il problema è questo.
- == no-ip ==
Questo è un altro client per DNS dinamici di riferimento. Installare il pacchetto 'noip2' da un gestore di pacchetti software, o attraverso l'interfaccia della riga di comando digitando:
sudo apt-get install noip2
- Eseguire, quindi, 'no-ip' e seguire le istruzioni di installazione:
sudo no-ip -C Please enter the login/email string for no-ip.com: <your_login> Please enter the password for user 'your_login': <your_password> Please enter an update interval:[30] <interval time in minutes> Do you wish to run something at successful update?[N] <N>
- Avviare il client 'no-ip':
sudo no-ip
inadyn
- Installare il pacchetto inadyn utilizzando un gestore di pacchetti software, o attraverso l'interfaccia della riga di comando digitando:
sudo apt-get install inadyn
- Modificare il file /etc/inadyn.conf:ù
sudo gedit /etc/inadyn.conf
Dovrebbe contenere qualcosa come:
--username myusername --password mypassword --update_period 60000 --alias myhost.dyndns.org --background
- Controllare che funzioni:
sudo /usr/sbin/inadyn
- aggiungi inadyn al tuo 'crontab':
export EDITOR=gedit && sudo crontab -e
modifica il file aggiungendo la seguente linea:
@reboot /usr/sbin/inadyn
- verifica con:
sudo crontab -l
- Quando verrà riavviato, si dovrebbe vedere inadyn elencati quando si digita:
ps -A | grep inadyn
Dovreste essere in grado di accedere al sito Web del provider di DNS dinamico e verificare che la voce DNS è in fase di aggiornamento. Questo è possibile con www.dyndns.org, in ogni caso. In alternativa è possibile digitare il vostro hostname in un servizio come http://www.dnsstuff.com/.
Utilizzare il modem/router per eseguire aggiornamenti del servizio Dynamic DNS
Ecco alcuni screenshot di esempio dal router wireless che supportano gli aggiornamenti di servizi di DNS dinamici:
Esempio del router NETGEAR:
attachment:netgear.png
Esempio del Router D-Link:
attachment:Dlink.png
Eempio del router Linksys:
attachment:Linksys.png
Reindirizzamento di un 'hostname' registrato ad un nome DNS Dinamico
Un utente potrebbe già avere un 'hostname' registrato con un server che non dispone di funzionalità di DNS dinamico. La maggior parte dei servizi di DNS permettono di 'fowardare' la richiesta. Questo rende possibile la creazione di un libero servizio DNS dinamico (utilizzando le istruzioni sopra).
Ad esempio, ho creato un Dynamic DNS hostname gratuito a DynDNS.com che è 'foobar.dyndns.org'. Ho impostato il mio programma di gestione per aggiornare costantemente il database DNS dinamico per 'foobar.dyndns.org'.
Poi ho usato 'example.myoriginalfoobar.com' come un hostname registrato per anni, con un servizio di DNS statico (DinosaurDNS.org) che non dispone di funzionalità di DNS dinamico. Una volta loggato su DinosaurDNS.org ho impostato il mio record DNS su 'example.myoriginalfoobar.com' per trasmettere (utilizzando un CNAME (Alias) record)) verso foobar.dyndns.org.
Ora, chiunque tenti di accedere 'example.myoriginalfoobar.com' verrà reindirizzato all'indirizzo 'foobar.dyndns.org', che poi li reindirizza a qualsiasi indirizzo IP dinamico di mia utilità come specificato nell'aggiornamento del DNS.
Altre risorse
- Ubuntuguide.org Dynamic IP servers -- informazioni sul settaggio di un indirizzo dinamico di un IP Webserver con ddclient