534
contributi
Wtf (discussione | contributi) (Creata pagina con '== Introduzione == Sottoscrivere un servizio di DNS dinamico risulta molto utile per coloro i quali desiderano rendere raggiungibile uno o più computer da internet, perché per...') |
m (Estesa a googledns) |
||
(23 versioni intermedie di 6 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Squeeze|Wheezy|Jessie|Stretch|Buster}}{{Gateway-Router}} | |||
== Introduzione == | == Introduzione == | ||
Sottoscrivere un servizio di DNS dinamico risulta molto utile per coloro i quali desiderano rendere raggiungibile uno o più computer da internet, perché per esempio hanno installato un webserver come apache o perché vogliono monitorare da remoto un programma di file sharing, ecc. | Sottoscrivere un servizio di DNS dinamico risulta molto utile per coloro i quali desiderano rendere raggiungibile uno o più computer da internet, perché per esempio hanno installato un webserver come apache o perché vogliono monitorare da remoto un programma di file sharing, ecc. | ||
Come noto un servizio DNS permette di associare ad un indirizzo IP un nome o alias o [ | Come noto un servizio DNS permette di associare ad un indirizzo IP un nome o [[alias]] o [[FQDN]], ovvero permette di accedere alle varie pagine di un sito web digitandone il nome invece che un numero IP.<BR> | ||
Nel caso di IP statici quest'associazione può evidentemente essere fatta un'unica volta, viceversa deve essere ripetuta ad ogni cambio di IP nel caso di assegnazione dinamica dal proprio ISP. Quest'ultimo è il caso tipico di utenti domestici e piccole imprese/uffici, ai quali tra l'altro non viene automaticamente assegnato un | Nel caso di IP statici quest'associazione può evidentemente essere fatta un'unica volta, viceversa deve essere ripetuta ad ogni cambio di IP nel caso di assegnazione dinamica dal proprio ISP. Quest'ultimo è il caso tipico di utenti domestici e piccole imprese/uffici, ai quali tra l'altro non viene automaticamente assegnato un FQDN.<BR> | ||
Tutto ciò implica che tali utenti non possono sperare di connettersi sempre con successo alla propria macchina usando l'indirizzo IP associatogli in un certo momento, poiché questo è destinato prima poi a cambiare. Associando invece un | Tutto ciò implica che tali utenti non possono sperare di connettersi sempre con successo alla propria macchina usando l'indirizzo IP associatogli in un certo momento, poiché questo è destinato prima poi a cambiare. Associando invece un FQDN ad una macchina o LAN ed installando un apposito applicativo (o possedendo un router adeguato) che tenga traccia delle variazioni di IP è possibile collegarsi alla propria macchina/LAN digitando sempre lo stesso FQDN.<BR> | ||
Esistono società che offrono gratuitamente, previa registrazione sempre gratuita, a chiunque la possibilità di dotarsi di un proprio | Esistono società che offrono gratuitamente, previa registrazione sempre gratuita, a chiunque la possibilità di dotarsi di un proprio FQDN (in genere la prima parte del dominio è fissa, l'utente può scegliere solo l'ultima parte), come ad esempio dyndns<sup>[[#Collegamenti esterni| [1]]]</sup>. | ||
In genere la soluzione che preveda l'utilizzo di un router per l'aggiornamento dell' | In genere la soluzione che preveda l'utilizzo di un router per l'aggiornamento dell'IP è sconsigliata, poiché non è garantito che la funzione integrata in un router rimanga compatibile nel tempo col servizio offerto dalle varie società. | ||
== ddclient == | == ddclient == | ||
Uno degli applicativi atti ad ottenere quanto descritto nell'introduzione è <code>ddclient</code>; naturalmente ai fini di questa guida si assume che il lettore abbia sottoscritto un servizio compatibile con questo programma. Una volta che l'utente si è registrato ed ha ottenuto un proprio | Uno degli applicativi atti ad ottenere quanto descritto nell'introduzione è <code>ddclient</code>; naturalmente ai fini di questa guida si assume che il lettore abbia sottoscritto un servizio compatibile con questo programma. Una volta che l'utente si è registrato ed ha ottenuto un proprio FQDN può procedere all'installazione del programma, disponibile da repository:<BR> | ||
<pre># apt-get install ddclient</pre> | <pre># apt-get install ddclient</pre> | ||
Nel caso di LAN evidentemente si sceglierà per l'installazione del programma la macchina che rimane accesa più spesso e/o a lungo. Si noti che detto programma non determina l'accessibilità della macchina o della LAN dall'esterno, aspetto che dipende da una corretta configurazione del proprio router/modem, ma come già scritto garantisce solo che i dati inviati dall'esterno ed indirizzati al proprio | Nel caso di LAN evidentemente si sceglierà per l'installazione del programma la macchina che rimane accesa più spesso e/o a lungo. Si noti che detto programma non determina l'accessibilità della macchina o della LAN dall'esterno, aspetto che dipende da una corretta configurazione del proprio router/modem, ma come già scritto garantisce solo che i dati inviati dall'esterno ed indirizzati al proprio FQDN raggiungano effettivamente il nostro modem/router, cui saranno collegati una o più macchine.<BR> | ||
Durante l'installazione verranno chiesti i nomi registrati, l'utenza e la password del servizio sottoscritto, tutti parametri necessari al programma per contattare il fornitore di servizi e mantenere aggiornato l' | Durante l'installazione verranno chiesti i nomi registrati, l'utenza e la password del servizio sottoscritto, tutti parametri necessari al programma per contattare il fornitore di servizi e mantenere aggiornato l'IP associato all'alias. | ||
{{Box|Client configurator|Nel caso si sia sottoscritto il servizio offerto da dyndns<sup>[[#Collegamenti esterni| [1]]]</sup> è possibile generare automaticamente un'apposita configurazione da inserire nel file <code>ddclient.conf</code> a quest'indirizzo<sup>[[#Collegamenti esterni| [3]]]</sup>.}} | |||
A prescindere dal servizio sottoscritto <code>ddclient</code> risulta già funzionante al termine dell'installazione e già configurato per l'avvio automatico al boot di sistema. Per il suo funzionamento non è necessario aprire alcuna porta aggiuntiva sul proprio modem/router.<BR> | A prescindere dal servizio sottoscritto <code>ddclient</code> risulta già funzionante al termine dell'installazione e già configurato per l'avvio automatico al boot di sistema. Per il suo funzionamento non è necessario aprire alcuna porta aggiuntiva sul proprio modem/router.<BR> | ||
È possibile testare il funzionamento di <code>ddclient</code> digitando da terminale: | È possibile testare il funzionamento di <code>ddclient</code> digitando da terminale: | ||
<pre># ddclient -daemon=0 -debug -verbose -noquiet</pre> | <pre># ddclient -daemon=0 -debug -verbose -noquiet</pre> | ||
Qualora si volesse abilitare la crittografia SSL sulle comunicazioni è sufficiente aggiungere la riga: | |||
<pre>ssl=yes</pre> | |||
al file <code>ddclient.conf</code> ed assicurarsi di avere installato <code>ssh</code> e <code>libio-socket-ssl-perl</code>. | |||
=== /etc/default/ddclient === | |||
Se si desidera far girare il servizio come [[demone]] è necessario editare il file <code>/etc/default/ddclient</code> cambiando due variabili come indicato qui di seguito: | |||
<pre> | |||
run_ipup="false" | |||
run_daemon="true" | |||
</pre> | |||
=== Esempio /etc/ddclient.conf generico === | |||
<pre> | |||
daemon=300 # Controlla ogni 300 secondi (o 5 minuti). | |||
syslog=yes # Scrivi log in syslog. | |||
mail=root # Invia tutti i messaggi a root | |||
mail-failure=root | |||
pid=/var/run/ddclient.pid # Registra PID in un file. | |||
ssl=yes # Usa ssl-support, richiede ssl-library. | |||
# Usa direttamente l'IP associato all'interfaccia che comunica col provider internet, per esempio ppp0 | |||
#use=if, if=ppp0 | |||
# oppure contatta un server esterno (cambiare "indirizzo_web" con quello fornito dal proprio DNS provider) | |||
use=web, web=indirizzo_web/, web-skip='IP Address' # Indirizzo del server da cui prendere il proprio IP pubblico | |||
# oppure ancora usa uno script dedicato che restituisce un IP formattato correttamente (es.: 104.15.7.189) | |||
#use=cmd, cmd=/percorso/script/nome_script.sh | |||
# IP del server che aggiorna i DNS (cambiare "indirizzo_server" con quello fornito dal proprio DNS provider) | |||
server=indirizzo_server | |||
protocol=dyndns2 | |||
login=nome_utente # Nome utente | |||
password=password_servizio # Password in chiaro o password "in formato" MD5 | |||
# Elencare i FQDN da aggiornare (cioè che puntano alla macchina dove è in esecusione ddclient), uno per riga | |||
dominio1 | |||
dominio2 | |||
... | |||
</pre> | |||
=== Esempio /etc/ddclient.conf per domains.google.com === | |||
Dopo aver effettuato le modifiche al file /etc/default/ddclient come indicato sopra è sufficiente sostituire il file /etc/ddclient.conf con quanto segue | |||
<pre> | |||
ssl=yes | |||
use=web | |||
protocol=googledomains | |||
login=LOGIN_TOKEN | |||
password=PASSWORD | |||
iltuodominio | |||
</pre> | |||
Dove LOGIN_TOKEN è il "Nome utente" generato nell'interfaccia di [https://domains.google.com google domain] andando sul proprio sito => DNS => DNS dinamico. Mentre PASSWORD è la password generata nella medesima interfaccia. | |||
Inoltre iltuodominio va sostituito con il nome del dominio che si sta gestendo. | |||
A questo punto per rendere effettive le modifiche è possibile riavviare il servizio ddclient con | |||
<pre>service ddclient restart</pre> | |||
Per testare che la configurazione sia corretta si può lanciare manualmente | |||
<pre>ddclient -query</pre> | |||
=== Esempi di script per estrarre l'IP pubblico dal router === | |||
==== Fritz!Box ==== | |||
Quello che segue è un esempio di script per interrogare il proprio router e ottenere l'IP pubblico associato alla sua WAN. | |||
<pre> | |||
#!/bin/bash | |||
# | |||
# Script to fetch external IP from Fritz!Box router, it can be used in the | |||
# configuration of ddclient by adding | |||
# | |||
# use=cmd, cmd=/path/to/script/nome_script.sh | |||
# | |||
# Since you need to declare both a username and password in this script, | |||
# restrict file permissions to "600". | |||
# Do not forget to: | |||
# * make this script executable; | |||
# * make sure that both "TR-064" and "UPnP" protocols are enabled in the router; | |||
# "Network --> Network settings --> Access Settings in the Home Network". | |||
# * create a dedicated user on the fritzbox router | |||
# "System --> Fritz!Box users". | |||
# You can substitute your actual router LAN IP to "http://fritz.box" if necessary. | |||
# | |||
curl --anyauth --user nome_utente:password_utente http://fritz.box:49000/upnp/control/wanpppconn1 -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:dslforum-org:service:WANPPPConnection:1#GetExternalIPAddress" -d "<?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Body> <u:GetExternalIPAddress xmlns:u='urn:dslforum-org:service:WANPPPConnection:1'></u:GetExternalIPAddress> </s:Body> </s:Envelope>" | sed -n -e 's#^.*<NewExternalIPAddress>\(.*\)</NewExternalIPAddress>.*$#\1#p' | |||
</pre> | |||
'''NOTE''' | |||
* Sostituire nel soprastante script il nome utente e la password creati per permettere al presente script di interrogare il router. Tali credenziali sono ovviamente associate all'utente "nome_utente" che si suppone essere già stato creato con l'apposità funzionalità del router ("Sistema --> Utenti FRITZ!Box"). | |||
* Nel router devono essere spuntate entrambe le seguenti opzioni "Consentire l'accesso alle applicazioni" e "Trasmettere le informazioni di stato tramite UPnP" ("Rete domestica --> Schema rete --> Impostazioni rete") | |||
* Script testato con "''Fritz!Box 7530''" (''Fritz!OS 7.02''). | |||
* Altri script utili per i router Fritz!Box disponibili [https://github.com/elbosso/FritzBoxShell qui] | |||
== Approfondimenti == | |||
=== Collegamenti esterni === | |||
[1] [http://www.dyndns.com dyndns home]<br> | |||
[2] [http://dyndns.it/2011/12/configurazione-di-ddclient/ dyndns.it], guida rapida in italiano sul sito ufficiale<br> | |||
[3] [https://help.dyn.com/ddclient/ ddclient], guida sul sito ufficiale con collegamento al client configurator<br> | |||
[4] [https://help.ubuntu.com/community/DynamicDNS DynamicDNS] su Ubuntu | |||
{{Autori | |||
|Autore = [[Utente:Wtf|Wtf]] 22:39, 11 ago 2011 (CEST) | |||
|Estesa_da = | |||
: [[Utente:Marcomg|marcomg]] ([[Discussioni utente:Marcomg|discussioni]]) | |||
|Verificata_da= | |||
: [[Utente:Marcomg|marcomg]] ([[Discussioni utente:Marcomg|discussioni]]) | |||
|Numero_revisori = 2 | |||
}} | |||
[[Categoria:DNS e DHCP]] |