DNS-O-Matic

IP dinamici

Se avete una macchina Linux spesso vi sarà venuta voglia di far funzionare qualche tipo di server (SSH, controller remoto bittorrent, FreeNX, FTP, HTTP, ecc...). Nella maggior parte dei casi il server dovrà essere accessibile esternamente alla vostra rete LAN. Per poter accedere al vostro PC, dovete conoscere il suo IP (o l'IP della rete LAN se ne avete una, forwardando opportunamente le porte). Se l'IP è dinamico, come spesso accade, raggiungere il vostro PC sarò impresa ardua. Ci sono servizi che vi permetteno, gratuitamente, di registrare un nome del tipo macchina.pippo.org che punta all'IP del vostro server. Ora potrete usare l'url macchina.pippo.org per connettervi al vostro server. Chiaramente avere un nome non risolve la questione dell'IP dinamico. Dovreste andare sul sito che vi fornisce il servizio e, tutte le volte che il vostro server cambia IP, cambiare nelle preferenze l'IP associato all'url macchina.pippo.org. Chiaramente esistono degli strumenti automatici per farlo, tra questi DNS-O-Matic.

DNS-O-Matic

Esiste un modo automatico per dire ad OpenDNS quale è il nostro nuovo IP ogni volta che questo cambia? Esiste un modo automatico per dire a DynDNS quale è il nuovo IP che deve associare all'url da noi registrato per il nostro server, ogni volta che quest'ultimo ottiene un nuovo IP? La risposta è sì e si chiama DNS-O-Matic.

Sia OpenDNS, che DynDNS (come altri servizi analoghi) hanno bisogno di conoscere il nostro IP ogni volta che cambia. Molti router permettono di specificare nelle loro preferenze alcuni di questi servizi in modo che, una volta specificato username, password e poco altro, si occuperanno di tutto loro ogni volta che l'IP della nostra LAN cambierà. Purtroppo però molti router supportano un solo servizio alla volta (qui abbiamo parlato di due servizi) e solitamente OpenDNS, essendo più recente, non è quasi mai supportato.

Qui entra in gioco DNS-O-Matic. È un servizio messo a punto dagli inventori di OpenDNS e, dopo essersi registrati (se siete registrati ad OpenDNS non servirà un'altra registrazione) si occuperà lui di comunicare ad OpenDNS, DynDNS, ecc... il vostro nuovo IP! Quindi il vostro lavoro ora sarà ridotto a trovare un modo per comunicare il vostro IP a DNS-O-Matic, dopodiché sarà lui ad occuparsi di trasmetterlo a tutti i servizi che volete.

Come comunicare però il vostro IP, in automatico, a DNS-O-Matic? Sebbene già alcuni router supportino questo servizio (presto diventerà l'unico servizio supportato dai router dato che tutti gli altri possono essere gestiti automaticamente da DNS-O-Matic), questi sono pochi. Se però avete un computer sempre acceso nella vostra LAN, e spesso è così, allora questo computer può, tramite opportuni programmi, fare le veci del router e comunicare di volta in volta il nuovo IP a DNS-O-Matic.

Per Linux esiste l'ottimo ddclient ove dd sta per dynamic dns, mentre per Windows ne trovate moltissimi, suggeriti anche nel sito di DNS-O-Matic. Questi piccoli programmini ovviamente possono gestire molti servizi di DNS dinamici ma noi vedremo solamente l'uso di ddclient per aggiornare DNS-O-Matic, che, ripetiamo, può gestire tutti gli altri servizi.

Installare ddclient
emerge ddclient

Bisogna poi configurare il programma per essere usato con DNS-O-Matic. (Cambiate i permessi in 640 sul file di configurazione per motivi di sicurezza, dato che all'interno ci sono le vostre password)

Configurare ddclient: /etc/ddclient/ddclient.conf
daemon=300                         # check every 300 seconds
syslog=yes                         # log update msgs to syslog
#mail=root                         # mail all msgs to root
mail-failure=root                  # mail failed update msgs to root
ssl=yes                            # use ssl-support.
wildcard=yes

# how to obtain the current IP address
use=web, web=myip.dnsomatic.com

## DNS O MATIC
server=updates.dnsomatic.com, protocol=dyndns2, \
login=login, password=password \
all.dnsomatic.com

Ora è sufficiente far partire il demone e aggiungerlo al runlevel di default:

/etc/init.d/ddclient start
rc-update add ddclient default