Alcuni giorni or sono, Andrea scriveva di quanto sono buoni e belli i server di OpenDNS, invitando a passarvi le proprie macchine. Gli indirizzi dei server DNS di OpenDNS sono:
-
208.67.222.222
-
208.67.220.220
Se avete un ip statico, nessun problema, basta indicare il tutto nel file resolv.conf
:
nameserver 208.67.222.222
nameserver 208.67.220.220
Se utilizzate dhclient, invece, il discorso si complica dato che il file che contiene la lista dei dns da utilizzare per la risoluzione dei nomi da parte del sistema, ovvero resolv.conf, viene rigenerato a ogni acquisizione di un nuovo lease (semplificando, ogni volta che ottenere un indirizzo dinamico), utilizzando le informazioni inviate dal server dhcp.
Questo comportamento è governato dal file dhclient.conf
, tramite il quale è possibile intervenire sul meccanismo di acquisizione dei dns, imponendo una scelta predeterminata. Si osservi il seguente blocco di istruzioni contenuto in dhclient.conf:
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;
E’ fra le opzioni del file di configurazione di dhclient che si nasconde la chiave per risolvere il problema. Basterà eliminare l’istruzione che forza la richiesta dell’elenco dei server DNS, rimuovendo domain.name-servers, preponendo nel contempo alle informazioni fornite dal server dhcpd la nostra lista di server DNS:
prepend domain-name-servers 208.67.222.222, 208.67.220.220;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, host-name,
netbios-name-servers, netbios-scope;
In pratica, l’istruzione domain-name-servers è stata spostata al di fuori del blocco di richieste effettuate al server dhcp ed è stata istanziata con dei valori predefiniti dall’utente.
Qual’è l’effetto finale?
Semplicemente, il file resolv.conf verrà rigenerato a ogni riacquisizione di lease, utilizzando gli indirizzi dei server OpenDNS indicati dalla direttiva prepend domain-name-server in dhclient.conf.