Dynamic DNS script

Il servizio di DNS dinamico è comodo in tutti i casi in cui si vuole raggiungere un proprio dispositivo della rete privata attraverso Internet e non si dispone di un IP pubblico statico.
In questo caso l’IP pubblico della connessione può cambiare secondo le esigenze del provider.


I router ADSL hanno, generalmente, una funzionalità di DDNS client che, una volta configurata, abbina un nome all’indirizzo IP pubblico, qualunque questo sia. In questo caso, basta utilizzare il nome per raggiungere il router dall’esterno e da questo ad un dispositivo interno, se il NAT è configurato correttamente.
Purtroppo, in alcuni casi, la porta pubblica del router (WAN, quella connessa al provider) ha un indirizzo IP privato. È il caso, ad esempio, di fornitori quali Eolo o COMeSER. In questo caso anche se il provider consente il raggiungere della porta WAN, il servizio DDNS del router non sempre fornisce l’IP pubblico della WAN

Il problema può essere ovviato utilizzando un client DDNS non del router, ma di un dispositivo interno. I vari fornitori di DDNS forniscono client allo scopo e per varie piattaforme (Linux, Windows o Mac). Forniscono anche API (Application Program Interface) comode per implementare una propria funzione DDNS cliente personalizzata per i propri scopi.

Ad esempio www.noip.com mette a disposizione API HTML che con poche righe di script risolvono il problema.

Ad esempio, su un sistema Linux, si può configurare il Cron per inviare ogni 30 minuti il proprio IP al servizio DDNS. Questo si può fare con una sola riga di cron con il comando curl:

cron -e */30 * * * * curl -u user:password 'http://dynupdate.no-ip.com/nic/update?hostname=il_mio_nome_di_dominio'

Ovviamente, user, password e il_mio_nome_di_dominio vanno sostituiti con i propri dati.
Una soluzione più completa può essere realizzata con una script bash, che va a controllare se il proprio IP è cambiato e aggiornare il DDNS solo in questo caso.

 

Categoria: 

Tags: 

Mi piace: 

0
No votes yet