La configurazione di un DHCP Server ISC avviene attraverso un file di configurazione strutturato in maniera particolare, la cui conoscenza è fondamentale per sfruttarne a pieno le caratteristiche.
La configurazione del server si basa sul file /etc/dhcpd.conf
, un file di testo, composto da istruzioni la cui sintassi è di tipo case insensitive e all'interno del quale è possibile lasciare linee vuote o inserire commenti i quali devono iniziare con il carattere #.
La struttura del file, ricorda dal punto di vista sintattico il linguaggio C, in quanto sono presenti blocchi di istruzioni, e istruzioni annidate, tra parantesi graffe. In particolare si possono individuare due categorie di istruzioni, i parametri (parameter statements) e le dichiarazioni (declaration). Mentre i parametri definiscono in che modo si deve comportare il server, le dichiarazioni vengono utilizzate per descrivere la topologia della rete.
La struttura del file è la seguente:
parametro valore;
parametro valore;
...
dichiarazione {
parametro valore;
...
sotto-dichiarazione {
parametro valore;
...
}
}
Le istruzioni in testa al file, al di fuori di ogni dichiarazione rappresentano i parametri globali. Essi sono validi in ogni sottorete utilizzata salvo una loro ridefinizione all'interno di successive direttive di dichiarazione. Le istruzioni all'interno di un blocco definito da parentesi graffe { } sono valide solamente per quel blocco in relazione all'oggetto (sottorete, host, gruppo di host ecc.) che definiscono.
Le direttive di dichiarazione sono:
subnet ip netmask sottorete {
: definisce la sottorete per la quale applicare i parametri definiti;
[parametro] valore;
}
shared-network nomerete {
: è utilizzata per il raggruppamento della configurazione di più sottoreti, in particolare quando si definiscono più sottoreti che condividono la medesima rete fisica;
[parametro] valore;
dichiarazione {
...
}
}
group {
: permette di definire un gruppo di host che hanno parametri di configurazione comune;
[parametro] valore;
}
La direttiva subnet riveste un particolare importanza perchè è la minima unità di informazione da inserire nel file dhcpd.conf. Senza la specificazione di almeno una subnet con un range di indirizzi validi non è possibile avviare il server.
Tra i parametri di configurazione più utilizzati abbiamo:
default-lease-time
secondi: definisce la durata della configurazione per l'interfaccia di rete;
max-lease-time
secondi: definisce il tempo massimo per la durata della configurazione per l'interfaccia di rete;
range indirizzo
ip iniziale indirizzo ip finale: definisce il pool di indirizzi utilizzabili da rilasciare ai client;
option subnet-mask
subnetmask: definisce la maschera di sottorete;
option broadcast-address
indirizzo di broadcast: definisce l'indirizzo di broadcast;
option routers
indirizzo ip del router: definisce l'indirizzo ip del gatway predefinito;
option domain-name-servers
indirizzo dns: definisce l'indirizzo ip del/dei server DNS;
option domain
nome dominio: definisce il nome di dominio della rete
Sotto la directory /usr/doc/
dell'applicazione è possibile trovare un esempio di dhcpd.conf.