Lo so lo so, la cosa è nota, ma le informazioni che ho trovato sono sparse qui e la e un po frammentarie. Così le ho assiemate tutte e applicate a Gentoo Linux.

Di cosa parliamo ?
Semplicemente, si tratta di utilizzare una cache per memorizzare gli indirizzi IP dei siti che visitiamo, così da non dover interrogare il nostro DNS (ovviamente intendo quello fornito dal nostro provider) tutte le volte che digitiamo un indirizzo, facendoci guadagnare anche diversi secondi nella navigazione.

Procedura
Installiamo dnsmasq

gentoo $ sudo emerge dnsmasq

Ora configuriamolo. Io ho semplicemente variato il numero massimo di elementi memorizzabili. L’impostazione standard è insufficiente per un uso ottimale. Basta modificare /etc/dnsmasq.conf decommentando cache-size e inserendo un valore ragionevole (io sono *sborone* e ho inserito 10000, equivalente a 10000 indirizzi memorizzabili in cache)

cache-size=10000

Ora aggiungiamo il servizio allo startup e avviamolo:

gentoo $ sudo rc-update add dnsmasq default
gentoo $ sudo /etc/init.d/dnsmasq start

Aggiungiamo infine questa riga a /etc/resolv.conf. Attenzione la riga deve essere la prima del file

nameserver 127.0.0.1

!!! Attenzione !!!
Se utilizzate un server DHCP per ottenere l’indirizzo IP (per esempio con il client dhcpcd) il file /etc/resolv.conf viene riscritto quindi perdereste le impostazioni tutte le volte. Per evitare questo problema inserite la riga nameserver che vi ho appena accennato nel file /etc/resolv.conf.head invece che in /etc/resolv.conf.

Per verificare che tutto sta funzionando possiamo utilizzare dig.

gentoo $ sudo emerge bind-tools

e ora testiamo -)

gentoo $ dig gentoo.it

in risposta avremo qualcosa di simile (taglio per brevità)

[ ... ]
;; Query time: 543 msec
[ ... ]

che indica che ci è voluto circa mezzo secondo per ottenere dal DNS l’indirizzo IP che ci serve. Ora ridiamo il comando dig:

gentoo $ dig gentoo.it

e …. cosa accade ?

[ ... ]
;; Query time: 0 msec
[ ... ]

Il tempo di risposta è ora zero, poichè gentoo.it è stato memorizzato localmente nella nostra bella cache DNS ;)
Il risparmio diventa notevole soprattutto su connessioni con latenza elevata, e comunque su qualsiasi tipo di connessione.

Enjoy P

convert this post to pdf.