bind dhcp ddns

17
Bind9 e Dhcp3: DDNS Installazione Per prima cosa è necessario installare bind9, uno dei server DNS più diffusi sul pianeta. Diamo il seguente comando al prompt del nostro server: apt-get install bind9 il sistema di gestione dei pacchetti di Debian ci chiederà conferma dell'installazione e indicherà quali pacchetti aggiuntivi (se necessari) devono essere installati: Webmin Per non dover configurare in maniera completamente manuale il servizio DNS installiamo ora una comoda interfaccia web per l'interazione con alcuni dei servizi in funzione sul nostro server. Il pacchetto in questione è Webmin ed è scaricabile dal sito: http://www.webmin.com

Upload: dhzian

Post on 15-Jun-2015

619 views

Category:

Documents


0 download

DESCRIPTION

Configurare bind

TRANSCRIPT

Page 1: Bind Dhcp DDns

Bind9 e Dhcp3: DDNS

Installazione

Per prima cosa è necessario installare bind9, uno dei server DNS più diffusi sul pianeta. Diamo il seguente comando al prompt del nostro server:

apt-get install bind9

il sistema di gestione dei pacchetti di Debian ci chiederà conferma dell'installazione e indicherà quali pacchetti aggiuntivi (se necessari) devono essere installati:

Webmin

Per non dover configurare in maniera completamente manuale il servizio DNS installiamo ora una comoda interfaccia web per l'interazione con alcuni dei servizi in funzione sul nostro server. Il pacchetto in questione è Webmin ed è scaricabile dal sito: http://www.webmin.com

Page 2: Bind Dhcp DDns

selezioniamo Debian Package e copiamo l'URI del file da scaricare. Per scaricare il pacchetto per l'installazione all'interno del server utilizzeremo il comando wget disponibile dalla shell:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.441_all.deb

una volta scaricato il file inseriamolo nel sistema con il comando dpkg che nei sistemi Debian e Debian-like gestisce i pacchetti (ma non le loro dipendenze):

dpkg -i webmin_1.441_all.deb

molto probabilmente non sono presenti all'interno del nostro server alcuni pacchetti necessari per il corretto funzionamento di webmin. Dpkg ci avvertirà dicendo che non è in grado di configurare il programma e che la sua installazione è temporaneamente sospesa. Per ovviare a questo problema utilizziamo il gestore delle dipendenze apt e costringiamolo a scaricare dai repository remoti tutti i pacchetti mancanti:

apt-get -f install

cambiamo ora la password amministrativa di webmin. Il procedimento di installazione appena compiuto ha create la directory /usr/share/webmin all'interno della quale è presente lo script changepass.pl. Diamo il comando:

cd /usr/share/webmin

per entrare nella directory dove risiedono i file di webmin e successivamente il comando:

./changepass.pl /etc/webmin root <nuova password>

Blocchiamo ora il server DNS appena installato per creare una chiave di comunicazione che utilizzeremo successivamente per mettere in comunicazione BIND con DHCP3.

Page 3: Bind Dhcp DDns

/etc/init.d/bind9 stop

generiamo ora la chiave rndc (remote name daemon control):

rndc-confgen -a -k rndc-key

quindi riattiviamo il server dns:

/etc/init.d/bind9 start

Possiamo ora collegarci a webmin digitando nella barra degli indirizzi del nostro browser:

https://<server ip>:10000

comparirà la maschera di login di webmin:

inseriamo lo username e la password create precedentemente ed entriamo in webmin.

Nota: non rendete mai disponibile webmin all'esterno della vostra rete!

Per accedere alla configurazione di bind andiamo su servers->BIND DNS Server

Configurazione di base

Page 4: Bind Dhcp DDns

come prima cosa dobbiamo creare una zona master per i computer della scuola. Siccome il DNS non sarà pubblico possiamo scegliere un nome a piacere, ovviamente se utilizzeremo questo DNS per risolvere anche domini esterni dovremo prima controllare che il nome della zona che abbiamo creato non esista. Possiamo fare questo in modo estremamente rapido con il comando whois. Se ad esempio abbiamo deciso di chiamare il dominio acanto.edu possiamo controllare la sua esistenza scrivendo al prompt:

whois acanto.edu

otterremo come risposta:

Page 5: Bind Dhcp DDns

chiaramente avremmo potuto utilizzare un nome immaginario del tipo scuola.media. Per creare la zona master scegliamo la voce Create Master Zone:

andremo a creare una zona di tipo forward ovvero che mappa nomi ad indirizzi ip. I parametri che dovranno essere inseriti per il nostro esempio sono:

• Zone type: Forward (Names to Addresses)• Domain name / Network: acanto.edu ( o qualsiasi altra cosa vogliate)• Records file: selezioniamo il radio button per l'inserimento di un file personalizzato ed

inseriamo /var/lib/bind/acanto.edu.db questo è necessario per non andare in conflitto con le impostazioni predefinite di Apparmor

• Master server: <nome del server dns>.acanto.edu mettiamo la spunta su Add NS record for master server

• Email address: l'indirizzo mail del gestore del server

Dopo la creazione della zona di forward dobbiamo creare una zona che effettua l'operazione inversa, ovvero attribuisce ad un indirizzo ip un nome.

Page 6: Bind Dhcp DDns

Come abbiamo fatto precedentemente inseriamo i seguenti dati nella form di configurazione di webmin:

• Zone type: Reverse(Addresses to Names)• Domain name/ Network: 192.168.0 • Records file: /var/lib/bind/0.168.192.in-addr.arpa.db• Master server: <nome del server dns>.acanto.edu mettiamo la spunta su Add NS record for

master server • Email address: l'indirizzo email del gestore del server

Possiamo ora editare la zona master acanto.edu. Webmin ci permette di creare record di tipo:• A• NS• CNAME• MX• TXT• WKS• SRV

Inizieremo con il creare un record A (address) per il nostro server DNS

Page 7: Bind Dhcp DDns

Selezionamo la voce Address:

ed inseriamo il nome della macchina il cui indirizzo vogliamo risolvere tramite DNS e il suo ip. Lasciamo selezionato il radio button Update reverse. In questo modo webmin aggiungerà automaticamente un record PTR nella zona Reverse che abbiamo creato precedentemente.

Page 8: Bind Dhcp DDns

Se navighiamo all'interno della zona 0.168.192.in-addr.arpa vediamo che è stato creato un indirizzo per la risoluzione inversa:

La prima parte della configurazione del server è finita. Vediamo ora come creare un DNS server secondario. È importante disporre di una struttura ridondante per poter continuare ad offrire il servizio DNS anche nel caso in cui il server DNS principale non sia più in funzione.

Installiamo su una seconda macchina bind e webmin ma non creiamo due zone master, andremo invece a creare due zone slave il cui contenuto verrà automaticamente caricato dalle zone master del server DNS primario:

Inseriamo i valori:• Zone Type: Forward• Domain name/ Network: acanto.edu• Record file: /var/lib/bind/acanto.edu.db• Master servers: l'indirizzo ip del server DNS principale

La stessa cosa per la zona Reverse:• Zone Type: Reverse• Domain name/ Network: 192.168.0• Record file: /var/lib/bind/0.168.192.in-addr.arpa.db• Master servers: l'indirizzo ip del server DNS principale

ATTENZIONE: con alcune versioni di webmin potrebbe essere necessario NON specificare la posizione del file in cui vengono memorizzate le informazioni della zona, infatti specificando una

Page 9: Bind Dhcp DDns

posizione personalizzata Webmin non crea il file di configurazione e tutte le informazioni trasferite allo slave sono presenti unicamente in RAM. Per specificare una posizione personalizzata dei file di configurazione delle zone slave dobbiamo modificare le impostazioni del modulo DNS:

e poi inserire la directory corretta in cui salvare i file di zona:

Possiamo modificare alcuni parametri della zona slave ed effettuare un caricamento manuale dei dati della zona:

Page 10: Bind Dhcp DDns

Dopo aver configurato le zone slave nel server DNS secondario torniamo sul server principale e nella configurazione della zona master acanto.edu creiamo un nuovo record NS in cui inseriremo i dati del nuovo server dns secondario che abbiamo appena creato:

Nota: dobbiamo ricordarci di creare anche un record A nella zona master per il nuovo server DNS

come ultima cosa configuriamo la zona master nel server DNS principale per permettere ai server secondari il trasferimento della zona, compiliamo il campo Allow transfers from (es 192.168.0.120, 192.168.0.0/24) e se vogliamo notificare la modifica della zona ad altri server slave compiliamo anche il campo Also notify slaves

Page 11: Bind Dhcp DDns

Forwarding

Spesso il provider internet fornisce dei server dns per l'utilizzo da parte dei clienti oppure l'amministratore di sistema potrebbe voler utilizzare dei sistemi di filtraggio simili a quelli forniti da OpenDns, per questi motivi risulta utile configurare un forwarder. Ogni qual volta richiediamo al nostro server DNS di risolvere un nome per cui esso non è autoritativo la richiesta viene passata al (ai) server DNS che specifichiamo nei file di configurazione, se il forwarder non è in grado di soddisfare la richiesta possiamo decidere di non risolvere il nome oppure di effettuare direttamente la risoluzione. Per configurare questa opzione con Webmin scegliamo Forwarding and transfers dalla pagina principale di configurazione del servizio DNS:

Dhcp

Il server Dhcp3 ci permette di configurare automaticamente i parametri di connessione alla rete locale, possiamo assegnare ai client l'indirizzo Ip, il gateway, l'indirizzo del server DNS etc. Utilizzeremo nel nostro sistema Debian o Debian Like il pacchetto dhcp3-server. Installiamolo con il comando standard:

apt-get install dhcp3-server

Page 12: Bind Dhcp DDns

poi copiamo all'interno della directory di configurazione del servizio la chiave rndc che abbiamo creato durante la configurazione di Bind :

cp /etc/bind/rndc.key /etc/dhcp3 chown dhcpd.dhcpd /etc/dhcp3/rndc.key

rigeneriamo poi la lista dei servizi disponibili tramite l'interfaccia di Webmin cliccando su Refresh Modules nella colonna di sinistra, nel gruppo servers comparirà la voce DHCP Server. Clicchiamoci e iniziamo a configurare Dhcp3-server:

creiamo una nuova subnet per i laboratori:

e abilitiamo le opzioni riguardanti Dynamic DNS.Impostiamo ora la configurazione generale per tutte le subnet cliccando nel menu principale della

Page 13: Bind Dhcp DDns

configurazione del server DHCP sul pulsante client options. Qui possiamo impostare i dati di default per tutte le sottoreti: server DNS, gateway, etc.

la configurazione base del server DHCP è conclusa, per abilitarlo dobbiamo impostare l'interfaccia di rete attraverso la quale vengono scambiati i pacchetti. Lo possiamo fare direttamente da Webmin tramite il pulsante Edit network interface nella pagina di configurazione principale del servizio Dhcp:

Configurazione Ddns

Per configurare il Dns dinamico, ovvero permettere alle macchine che entrano a far parte della rete di registrarsi automaticamente sul server Dns dobbiamo includere nel file di configurazione di Dhcp3 il file rndc.key che abbiamo copiato precedentemente dalla directory di Bind, clicchiamo sul pulsante Configfile :

Page 14: Bind Dhcp DDns

e aggiungiamo prima della definizione della nostra subnet la riga:

include “/etc/dhcp3/rndc.key”;

a questo punto possiamo aggiungere le due zone DNS corrispondenti alle zone master del dns primario (in questo esempio presupponiamo che il server DNS principale ed il server DHCP risiedano su una stessa macchina). Per farlo clicchiamo su Add new DNS zone:

notate che l'ip del server dns primario è 127.0.0.1 in quanto i due servizi risiedono sulla stessa macchina, se nella vostra configurazione di rete essi si trovano localizzati su macchine diverse dovrete riportare l'ip della macchina sui cui gira Bind9.Facciamo la stessa cosa per la zona Reverse:

L'ultima modifica delle impostazioni del sistema prima che tutto funzioni correttamente deve essere apportata alla definizione delle zone master del DNS principale. Torniamo sul menu di configurazione delle zone master e clicchiamo su Edit zone options assicuriamoci che nella casella Allow updates from sia presente la voce:

Page 15: Bind Dhcp DDns

key rndc-key

ATTENZIONE:

In alcune versioni di Webmin/Gnu Linux è necessario modificare il file di configurazione di Bind per permettere al sistema di leggere la chiave rndc creata precedentemente. In questi casi agiremo in maniera simile a quanto fatto per il server DHCP.Dalla pagina principale di controllo del server DNS scegliamo la voce Edit config file e nel menù a tendina scegliamo named.conf.local e nella posizione illustrata dall'immagine sotto riportata inseriamo il comando:

include "/etc/bind/rndc.key";

Page 16: Bind Dhcp DDns

Riavviamo Bind9 e Dhcpd3 e tutto dovrebbe funzionare correttamente! Se Webmin non dovesse essere in grado di avviare correttamente Bind9 potrebbe essere necessario configurare le impostazioni del modulo. Per far questo cliccare su Module Config nella pagina principale di configurazione del modulo DNS ed impostate l'utente ed il gruppo a cui appartiene il servizio, nel caso di Debian/Ubntu la coppia è bind/bind:

Ultima nota

Se volete modificare una zona ad aggiornamento dinamico dovete ricordavi di bloccare la zona con il comando:

rndc freeze acanto.edu

da console oppure tramite webmin:

finite le modifiche dovete ricordarvi di sbloccare la zona con il comando:

rndc unfreeze acanto.edu

Page 17: Bind Dhcp DDns

oppure tramite Webmin.

Nota: se modificate a mano una zona DOVETE ricordarvi di aumentare il suo numero di serie (webmin lo fa automaticamente)