DNS (con cache) con dnsmasq

A volte potrebbe essere necessario avere un piccolo server dns sulla propria rete, ma senza volersi impegnare nella gestione del BIND. La soluzione è dnsmasq. Come configurarlo in modo rapido?

Dopo l'installazione ("yum install -y dnsmasq" su CentOS/Scientific Linux/RedHat oppure "apt-get install dnsmasq" su Debian/ubuntu), basta editare il file /etc/dnsmasq.conf, avendo cura di avere almeno le seguenti linee di configurazione attive:

no-resolv
server=208.67.222.222
interface=eth0
no-dhcp-interface=eth0

nelle prime due righe istruiamo il daemon a non usare il nameserver indicato nel resolv.conf ma quello specificato nella stringa "server" (in questo caso, un server di OpenDNS), a utilizzare l'interfaccia di rete eth0 e a non avviare la parte di gestione del dhcp (dnsmasq può fungere anche da dhcp e tftp server all'occorrenza). Per servire i nomi ai client basterà inserire le entry apposite nel file /etc/hosts e impostare come dns il server appena configurato. Sul server si potrà inserire nel resolv.conf "nameserver 127.0.0.1".
Non dimenticate di far partire il servizio: /etc/init.d/dnsmasq start.