Creazione di un sistema DDNS con Bind: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
m New page: E' possibile creare un sistema DDNS di aggiornamento dinamico dei nomi DNS con Bind 9.x, usando l'utility nsupdate da linux. ==Preparazione del Server== Il server deve essere già config...
 
Line 78: Line 78:
zone quindicirighe.com
zone quindicirighe.com
update delete ${NAME}.quindicirighe.com. A
update delete ${NAME}.quindicirighe.com. A
update add ${NAME}.quindicirighe.com. 86400 A $PPP_LOCAL
update add ${NAME}.quindicirighe.com. 60 A $PPP_LOCAL
show
show
send
send
Line 100: Line 100:
;; UPDATE SECTION:
;; UPDATE SECTION:
pv.quindicirighe.com.  0      ANY    A
pv.quindicirighe.com.  0      ANY    A
pv.quindicirighe.com.  86400  IN      A      62.11.253.159
pv.quindicirighe.com.  60      IN      A      62.11.253.159
</pre>
</pre>



Revision as of 10:37, 7 December 2007

E' possibile creare un sistema DDNS di aggiornamento dinamico dei nomi DNS con Bind 9.x, usando l'utility nsupdate da linux.

Preparazione del Server

Il server deve essere già configurato e funzionante con la gestione completa di una zona.

Generazione della chiave di aggiornamento

Questa chiave permetterà ai client di aggiornare il nome DNS sul server.

Si genera la chiave per un utente fittizio, usando un indirizzo email fittizio tipo gal-alert@rvmgroup.it:

dnssec-keygen -a HMAC-MD5 -b 512 -n USER gal-alert.rvmgroup.it.

Questo genera due files:

Kgal-alert.rvmgroup.it.+157+31772.key Kgal-alert.rvmgroup.it.+157+31772.private

Queste due chiavi andranno SPOSTATE poi sul client. I files non dovranno essere presenti sul server.

La .key è la chiave pubblica e la .private è quella privata, che per questo tipo di cifratura HMAC-MD5 sono le stesse, e cioè:

Comando per stampare la chiave:

cat Kgal-alert.rvmgroup.it.+157+31772.private | grep Key | cut -b6-

Chiave:

rD3UJquI5r1Rvd9MblnoMCc7uS9ZYgC49Z/fgS0QwGaLBMHgPPdjYZVAIqpZGHAg+NDulKhJ2d5Sf4na+Tkzng==

Configurazione della Zona sul DNS Server

  • Creazione del file di configurazione delle chiavi:
cat | sudo tee /etc/bind/ddns-keys.conf > /dev/null <<EOFile
key gal-alert.rvmgroup.it. {
        algorithm HMAC-MD5;
        secret "rD3UJquI5r1Rvd9MblnoMCc7uS9ZYgC49Z/fgS0QwGaLBMHgPPdjYZVAIqpZGHAg+NDulKhJ2d5Sf4na+Tkzng==";
};

sudo chown root:bind ddns-keys.conf
sudo chmod 640 ddns-keys.conf
  • Inclusione del file nella configurazione di bind:
sudoedit /etc/bind/named.conf.local
include "/etc/bind/ddns-keys.conf";
  • Riavvio di bind
sudo sudo /etc/init.d/bind9 restart

Configurazione del Client

Installazione delle chiavi

Cancellare le chiavi dal Server e copiarle sul client in /etc/bind/ddns-keys:

sudo mkdir -p /etc/bind/ddns-keys
sudo mv Kgal-alert.rvmgroup.it.+157+31772.key /etc/bind/ddns-keys
sudo mv Kgal-alert.rvmgroup.it.+157+31772.private /etc/bind/ddns-keys
sudo chown root:bind /etc/bind/ddns-keys/*
sudo chmod 640 /etc/bind/ddns-keys/*

Configurazione dello script di aggiornamento

Creaiamo lo script che ad ogni collegamento di PPP, aggiorni il nome DNS:

cat | sudo tee /etc/ppp/ip-up.d/05-sendipaddress > /dev/null <<'EOFscript'
#!/bin/sh -e
NAME=$(hostname | cut -b5-)
nsupdate -k /etc/bind/ddns-keys/Kgal-alert.rvmgroup.it.+157+31772.private -v <<EOFile
server ns1.quindicirighe.com
zone quindicirighe.com
update delete ${NAME}.quindicirighe.com. A
update add ${NAME}.quindicirighe.com. 60 A $PPP_LOCAL
show
send
EOFile

EOFscript
chmod +x /etc/ppp/ip-up.d/05-sendipaddress 

Provare ad eseguirlo, (NON TRAMITE SUDO PERCHE' NON FUNZIONA, quindi cambiando le permission delle chiavi) e se tutto è corretto, il nome verrà aggiornato al valore indicato:

sudo chmod a+r /etc/bind/ddns-keys/*
PPP_LOCAL=62.11.253.159 /etc/ppp/ip-up.d/05-sendipaddress 
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:      0
;; flags: ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
pv.quindicirighe.com.   0       ANY     A
pv.quindicirighe.com.   60      IN      A       62.11.253.159

Risistemare le permission delle chiavi:

sudo chmod 640 /etc/bind/ddns-keys/*

Testare:

host pv.quindicirighe.com
pv.quindicirighe.com has address 62.11.253.159


  • Script di scollegamento

Se esistesse la possibilità di eseguire uno script di PRE-DOWN, si potrebbe fare un delete del nome dns, ma non esiste ...

Riferimenti