Dnsmasq/it

Dnsmasq è un semplice server DHCP/DNS che può essere utilizzato per reti locali fino a 1000 client. Le sue features chiave sono facilità di configurazione ed un basso impiego di risorse. Supporta anche IPv6.

USE flags
L'installazione di dnsmasq è pienamente supportata dal gestore di pacchetti e dall'albero dei portage. Come prima cosa, selezionare le flag USE appropriate.

Emerge
Poi, installare ed aggiungerlo al runlevel default nel caso sia necessario avviarlo automaticamente.

Configurazione
Ci sono molteplici risorse che possono essere modificare il comportamento di dnsmasq. Queste includono
 * le opzioni a riga di comando passate attraverso
 * il file di configurazione principale

OpenRC
Add dnsmasq to the default runlevel if it needs to be started automatically:

To start the service now:

Configurazione del servizio
In possono essere configurate le opzioni a riga di comando passate al demone dnsmasq in fase di avvio.

File di configurazione principale
La configurazione di dnsmasq viene effettuata principalmente attraverso il suo file di configurazione,. Il file ha una sintassi, quello fornito dal pacchetto è ben documentato ed è raccomandata la sua lettura. E'possibile referenziare risorse aggiuntive (come un hosts file DHCP) nel file o attraverso le opzioni a riga di comando.

Di seguito un esempio di configurazione:

Dopo ogni modifica al fiole di configurazione, il servizio deve essere riavviato. Il reloading è supportato, ma per altre risorse.

Hosts file
Dnsmasq utilizza il file come una delle sorgenti per fornire il servizio DNS, a meno che non sia avviato con l'opzione

Se il file viene modificato, il servizio dnsmasq deve ricevere un SIGHUP per ricaricare le impostazioni. Questo è fattibile anche utilizzando lo script di init con il comando reload:

Questo comportamento può essere disabilitato anche introducendo il parametro  nel file di configurazione.

File hosts aggiuntivo
E'possibile far riferimento ad un file hosts (aggiuntivo) come sorgente per le query DNS. Per fare ciò, aggiungere l'opzione   ai parametri a riga di comando. Indicando una directory, tutti i file al suo interno saranno trattati come file hosts aggiuntivi.

Come per il file hosts standard, un segnale SIGHUP ricarica il file.

Questo comportamento può essere impostato con il parametro  nel file di configurazione

Server DNS upstream
Per default, dnsmasq utilizza i server indicati in come server DNS upstream.

Un file differente può essere indicato con l'opzione

Questo comportamento può essere impostato con il parametro  nel file di configurazione

Features
Dnsmasq supporta i servizi DNS, TFTP, PXE, router advertisements e DHCP services. Per questo, è uno strumento di gestione versatile per reti di piccole e medie dimensioni.

Servizi DNS
In modo da fornire (solamente) servizi DNS, prima identificate il "nameserver upstream" da utilizzare. Se questo è lo stesso server configurato in non è necessario definire altro. Altrimenti, puntare dnsmasq al file  appropriato, utilizzando l'opzione. La sintassi di quest'ultimo è la stessa a quella di, anche se dnsmasq considera soltanto le definizioni dei "nameserver".

Per esempio:

Poi puntare dnsmasq a questo file attraverso il file di configurazione:

Per verificare che il servizio sia attivo (dopo un restart, dato che il file di configurazione è stato modificato), usate il comando   (fornito con ), richiedendo al server DNS di risolvere un indirizzo locale o remoto:

DNSSEC
Dnsmasq può validare dati DNSSEC durante il loro passaggio. Questo può essere fatto aggiungendo le seguenti righe al file di configurazione:

dnssec-check-unsigned }}
 * 1) Replies which are not DNSSEC signed may be legitimate, because the domain
 * 2) is unsigned, or may be forgeries. Setting this option tells dnsmasq to
 * 3) check that an unsigned reply is OK, by finding a secure proof that a DS
 * 4) record somewhere between the root and the domain does not exist.
 * 5) The cost of setting this is that even queries in unsigned domains will need
 * 6) one or more extra DNS queries to verify.

La "trusted anchor" può essere trovata sul sito dello IANA.

Servizio DHCP
Per abilitare il servizio DHCP di dnsmasq, è necessario utilizare la configurazione.

Per esempio, per abilitare la configurazione di indirizzi IPv6 attraverso RA ed IPv4, entrambi con tempo di lease infinito:

E'possibile utilizzare definizioni statiche per host conosciuti, sia nel il file di configurazione principale che attraverso un file separato. Se viene utilizzato un file separato, aggiungete l'opzione  alla riga di comando di dnsmasq. Il vantaggio di quest'ultimo approccio è che basta mandare un segnale SIGHUP al processo per rileggere le entries, mentre ogni modifica del file di configurazione richiede un completo restart del servizio.

Per maggiori informazioni riguardo la sintassi del parametro  fate riferimento alla pagina man o al file di configurazione dato che la sua sintassi è molto ampia.

Utilizzo
Questa sezione illustra diversi scenari (task operativi e di manutenzione) riguardanti il servizio dnsmasq.

Reset delle allocazioni (leases)
I client che effettuano un update dell'interfaccia, ottenendo una modifica del loro indirizzo MAC, potrebbero non ottenere l'indirizzo IP voluto in modo immediato. Questo perchè dnsmasq ha fornito al vecchio MAC address lo stesso indirizzo IP, quindi aspetterà fino alla scadenza della lease prima di riassegnarlo

Il servizio dnsmasq memorizza le sue leases in. Nel caso sia necessaria una rimozione rapida, è sufficiente spegnere il servizio dnsmasq, rimuovere le lease dal file e riavviare nuovamente il servizio

Reload delle configurazioni secondarie
Oltre al file, il servizio dnsmasq può utilizzare definizioni esterne per seguenti servizi:
 * Entry di configurazione host DHCP (utilizzando l'opzione )
 * Opzioni DHCP (utilizzando l'opzione )

Quando questi file sono modificati, è possibile ricaricarli mandando un segnale SIGHUP al processo dnsmasq