
Dynamic DNS a costo zero
Dovete pubblicare un sito o collegarvi sempre e ovunque al vostro PC e vi serve un indirizzo IP fisso? Noi vi mostriamo come farlo senza spendere soldi
(pagina 5 di 6)
Passiamo al client
Abbiamo visto che, per tenere aggiornate le informazioni sugli
indirizzi IP delle varie macchine client, gli utenti si dovrebbero
caricare periodicamente l’home page del web server ed eseguire
l’autenticazione. Questo modo d’uso non è proponibile ma naturalmente
possiamo automatizzare queste operazioni usando il semplice
script Bash ddns.sh.
Vediamo come è strutturato: nelle prime righe vengono definite
delle variabili che contengono le credenziali per la connessione al
server e che andranno personalizzate con i dati ottenuti dalla
registrazione
al servizio (vedi tutorial “Configurare la parte client”).
A questo punto vengono eseguiti due controlli: il primo, compreso
tra le righe 9 e 13, serve a verificare con il comando whoami che
l’utente che ha lanciato lo script è root; la seconda verifica (righe
15-19) serve per accertarsi che il pacchetto curl sia installato (vedi
tutorial “Il client all’opera”). Con le successive righe 21-24 si
controlla
l’esistenza di una copia di backup del file /etc/hosts: se la
copia di riserva /etc/hosts.bak non esiste allora viene creata. Siamo
infine arrivati al punto nevralgico dello script: il file hosts viene
ricreato copiandolo dal backup (riga 25) e poi gli viene accodato
il risultato dei comandi riportati nelle righe 26 e 27: vediamoli in
dettaglio. Viene invocato innanzitutto curl passandogli come parametri
le credenziali per l’accesso e l’indirizzo del server; curl non
farà altro che caricare la pagina index.php del server e compilare la
form di accesso. In questo modo il server aggiornerà se necessario il
database con l’indirizzo IP del client e poi, come abbiamo visto nel
paragrafo precedente, invierà in output l’elenco degli altri account
e dei relativi indirizzi IP. Queste informazioni vengono passate con
la pipe (|) da curl a grep che filtrerà le sole righe che contengono
la stringa <<
>> scartando di fatto i possibili messaggi
di errore generati dal web server. Di nuovo queste informazioni
vengono passate al programma successivo, sed, che provvede ad
eliminare da ogni riga la stringa <<>>. Il testo ottenuto
rispetta la formattazione tipica del file hosts (nome host seguito da
una tabulazione e poi dal relativo indirizzo IP) e quindi può essere
tranquillamente aggiunto alla fine del file usando il simbolo della
redirezione (>>). Questo è tutto: le macchine in cui lo script viene
installato come illustrato nei tutorial potranno “contattarsi” fra loro
usando al posto degli indirizzi IP semplicemente lo username specificato dall’utente durante la registrazione.
Commenta
Prima di pubblicare un tuo commento assicurati che:- sia in tema e contribuisca alla discussione in corso
- non abbia contenuto razzista o sessista
- non sia offensivo, calunnioso o diffamante
La redazione con i controlli a campione si riserva di cancellare qualsiasi contenuto ingiurioso, volgare, illegale o contrario alla policy.