Differenze tra le versioni di "DNS Dinamico"

Da Linux User Group Scandiano.
Riga 37: Riga 37:
 
In questo modo ogni 10 minuti il sistema controllerà l'indirizzo (sostituiamo ''user'' con l'account dell'utente che usiamo sul PC).
 
In questo modo ogni 10 minuti il sistema controllerà l'indirizzo (sostituiamo ''user'' con l'account dell'utente che usiamo sul PC).
  
 +
== Note ==
 +
<references/>
 
[[Categoria: Guide]]
 
[[Categoria: Guide]]

Versione delle 13:42, 20 giu 2013

Questa pagina ha lo scopo di aiutare chi volesse utilizzare un servizio di DNS Dinamico sul proprio PC di casa con GNU/Linux. Questo servizio permette di assegnare un host al proprio IP anche se questo cambia.

Per ottenere un host ci sono vari servizi in rete che lo permettono, alcuni gratuiti. In questo esempio viene utilizzato www.dtdns.com: basta registrarsi e si hanno a disposizione 5 host. Si può scegliere l'hostname a piacere e il dominio a scelta tra quelli proposti.

Questo è uno script[1]. è utile per mantenere aggiornata l'assegnazione dell'IP. Funziona in questo modo: controlla sul servizio icanhazip.com l'IP attuale e lo confronta con un DNS (quindi l'ultima registrazione valida), se gli indirizzi non coincidono richiede l'aggiornamento e scrive un log in /var/log/messages. Attenzione: i vari servizi sono soggetti a modifiche, quindi è necessario controllare che tutto continui a funzionare. Nell'esempio utilizziamo come indirizzo fittizio hostname.dominio.com.

#!/bin/bash

IPADDR=$(curl icanhazip.com)

#LASTIP=`nslookup canth.dtdns.net ns1.darktech.org | grep -A1 canth |
LASTIP=$(nslookup hostname.dominio.com ns1.darktech.org | grep -A1 hostname | grep Address | awk '{print $2 }')

TAG="NEW-IP"

echo -n "`date` - "

if [ "$IPADDR" != "$LASTIP" ]; then
  echo -e "GET /api/autodns.cfm?id=HOSTNAME&pw=PASSWORD&client=BSD HTTP/1.1\nHost: www.dtdns.com\nUser-Agent: bash\n\n" | \
         nc www.dtdns.com 80 > /dev/null 2>&1
  echo "Posted IP change from $LASTIP to $IPADDR"
  logger IP cambiato "$IPADDR" -t $TAG ;
else
  echo "IP still $IPADDR"
fi

Sostituiamo l'hostname, l'indirizzo e la password con quelli ottenuti. Possiamo salvare lo script nella cartella /usr/local/bin e poi lo rendiamo eseguibile (in questo caso è stato nominato "ddns"):

chmod 755 /usr/local/bin/ddns

Automatizziamo il tutto mettendo una riga all'interno di /etc/crontab:

*/10 * * * *   user      ddns >/dev/null 2>&1

In questo modo ogni 10 minuti il sistema controllerà l'indirizzo (sostituiamo user con l'account dell'utente che usiamo sul PC).

Note

  1. Da [[1]]