
Un server DNS risolve il nome di dominio in un indirizzo IP.Quando parte una richiesta HTTP verso es. google.com ,il server DNS cerca nella propia cache (memoria) a quale indirizzo ip corrisponde GOOGLE.COM e invia una richiesta all’Authoritative server per sapere se google.com e’ veramente il nome di dominio per quell’indirizzo ip.
Una volta ricevuta l’autorizzazione,il server DNS ci invia finalmente la pagina web da scaricare via browser..
Per sapere quanto tempo impiega questa richiesta a tornare “indietro”:
$ dig google.com
DiG 9.3.4 google.com
global options: printcmd
Got answer:
-HEADER opcode: QUERY, status: NOERROR, id: 33758
flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
QUESTION SECTION:
google.com. IN A
ANSWER SECTION:
google.com. 58 IN A 64.233.167.99
google.com. 58 IN A 72.14.207.99
google.com. 58 IN A 64.233.187.99
Query time: 72 msec
SERVER: 151.99.0.100#53(151.99.0.100)
WHEN: Mon May 7 10:53:29 2007
MSG SIZE rcvd: 76
Il valore che ci interessa e’
Query time: 72 msec
Ed e’ quello che vogliamo abbassare.Come?
Utilizzando un server DNS locale,come ad esempio DNSmasq
sudo apt-get install dnsmasq
===========
Configurazione
===========
ATTENZIONE: Questo metodo funziona se utilizzate il DHCP
Apriamo i seguenti files:
/etc/dnsmasq.conf
/etc/dhcp3/dhclient.conf
sudo kate /etc/dnsmasq.conf
Aggiungiamo:
listen-address=127.0.0.1
Allo stesso modo,inseriamo il localhost anche nel file di configurazione del dhcp:
sudo kate /etc/dhcp3/dhclient.conf
E modifichiamo la seguente riga(abilitandola levando il simbolo ‘#’):
prepend domain-name-servers 127.0.0.1;
Questa modifica permette al file /etc/resolv.conf di aggiungere in cima alla lista
nameserver 127.0.0.1
nel caso non fosse cosi’..aggiungetelo voi
Nel mio caso il file /etc/resolv.conf si presenta cosi’:
nameserver 127.0.0.1
nameserver 192.168.0.1
Startiamo /etc/init.d/dnsmasq
sudo /etc/init.d/dnsmasq restart
Adesso lanciamo di nuovo
$ dig google.com
DiG 9.3.4 google.com
global options: printcmd
Got answer:
HEADER opcode: QUERY, status: NOERROR, id: 17752
flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
QUESTION SECTION:
google.com. IN A
ANSWER SECTION:
google.com. 157 IN A 72.14.207.99
google.com. 157 IN A 64.233.167.99
google.com. 157 IN A 64.233.187.99
Query time: 0 msec
SERVER: 127.0.0.1#53(127.0.0.1)
WHEN: Mon May 7 12:38:07 2007
MSG SIZE rcvd: 76
Abbiamo migliorato il Query-time (0 e’ un valore approssimativo)
Query time: 0 msec
SERVER: 127.0.0.1#53(127.0.0.1)
Utilizzando il server DNS cache locale.
Non sempre troveremo un query-time cosi’ basso,specie “diggando” per la prima volta un host (nell’esempio google.com).Deve entrare nella nostra cache adesso…
Ma l’incremento di velocita’ generale e’ palpabile,e non mette sottosopra nessuna impostazione precedente (fate un backup nel caso)..vale la pena di provare questo metodo.
Eccvo un video che mostra i miglioramenti:
Il tuo indirizzo ip:
38.107.179.230




on
on
on
Sui repository di Ubuntu non c’è DNSmasq…forse che per GNOME c’è una laternativa?
Hai qualche dritta?Ho mi scarico il deb e vado così…
*Gian*Quota
No scusa sono pirla io…cancella pure ora testo!A dopo
*Gian*Quota
possibile che nel mio caso sia più lento? con dnsmasq dig google.com mi dà 70 msec senza 50 msec (eseguito a distanza di 30 secondi)
charlieQuota
Funziona perfettamente scusa lo spam di post
Qui c’è una versione in inglese che conferma la tua procedura: http://www.ubuntugeek.com/local-dns-cache-for-faster-browsing-on-ubuntu-machine.html
GRAZIE PER LA DRITTA!
*Gian*Quota
@gian
si e’ simile..
L’ho letto su un vecchio articolo di linux pro..e ne ho fatto il riassunto..;)
Nella guida che mi hai segnalato…non so se sia corretto lasciare i vecchi dns..l’importante e’ che ci sia innanzitutto il gateway..(parlo di connessioni wifi o ethernet) e poi bisogna assicurarsi che dnsmasq invochi il localhost al posto dei dns.
divilinuQuota
E se non usassi il DHCP, ma un IP fisso?
ZanzarastAQuota
non so se si puo’ con dnsmasq..perche’ fa sia da server dns che server dhcp
infatti se usi questo metodo puoi anche disattivare lo script che invoca il dhcp (/etc/init.d/networking)
Ho provato qua in ufficio dove ho ip fisso..ma naturalmente non funziona..
le opzioni di dnsmasq sono tante..non credo si possa fare ma non e’ escluso..;)
divilinuQuota
Funziona anche con tor?
FochettaQuota
Non ho ancora provato..ma dovrebbe funzionare..
Ho dei dubbi su possibili attacchi di dns-spoofing..ma dal momento che gestiamo un dns locale non dovrebbero esserci problemi (spero)..
divilinuQuota
per fare un esempio..questi sono i tempi di open-dns
Query time: 287 msec
divilinuQuota
Ma è utile anche se si possiede un router hardware (che da quello che so dovrebbe fare un minimo di cache sui DNS)?
notoriousxlQuota
@notoriusxl
..i router comuni hanno vari servizi tra cui il dns,dns dinamico,nat e dhcp..ma non funzionano da server dns cache..
divilinuQuota
Grazie, quando ho tempo allora lo provo
… peccato per l’obbligo del dhcp
notoriousxlQuota
ma io non credo sia un obbligo
Nel mio piccolo,ho girato un riassunto di un riassunto trovato su una rivista..
dnsmasq ha un file di configurazione kilometrico..quindi immagino che gli scenari vadano ben oltre la rete ethernet o il dhcp..
divilinuQuota
Domanda, come faccio ad avere 2 indirizzi DNS, uno sul 127.0.0.1 ed uno dato dal file del dhcp3-server?
Altrimenti cosi funziona benissimo il gateway. ma i pc della lan che prima prendevano il DNS dal server-dns, ora prendono solo 127.0.0.1 mentre vorrei che puntassero sul secondo indirizzo DNS.
KaBaLQuota
@divilinu
alla fine ho messo pdnsd ( http://www.debian-administration.org/articles/390 ) , che fa solo da server dns, e ho lasciato gli ip statici. Solo che mi sa che già il router qualcosa faceva di suo: senza pdnsd, usando dig su un dominio mai visitato prima, passavo dai 100ms iniziali a 20ms… nonostante tutto, pdnsd ha contribuito a scendere a 5ms!
Comunque ti ringrazio per la guida e soprattutto per la segnalazione, utilissima! (la configurazione di pdnsd è praticamente identica)
notoriousxlQuota
@kabal
) dnsmasq. Oppure usi qualcosa come pdnds che fa solo da cache dns (i tuoi client puntano già al server come dns; FORSE ti basterà cambiare solo il resolv.conf del server per farlo puntare a localhost…)
dnsmasq dovrebbe essere anche un server dhcp, dovresti disattivare il server che usavi prima e impostare (ma non chiedermi come si fa
notoriousxlQuota
GRAZIEEEEE DA 91 a 45!!
fabioamd87Quota
Mi sono accorto ora di questo tuo articolo, ogni tanto mi faccio un giro sul tuo blog per leggere quello che non ho ancora letto
Sei un grande…..io ho fastweb e la velocità di navigazione è aumentata di uno sproposito!!!
In /etc/resolv.conf avevo:
search fastwebnet.it
nameserver 213.156.56.80
nameserver 213.156.56.81
ora ho messo
nameserver 127.0.0.1
nameserver 213.156.56.80
nameserver 213.156.56.81
Se lo sai, mi dici perchè tu hai 192.168.0.1 e io invece quei due indirizzi ip e sopratutto “search fastwebnet” cos’è?
Grazie come sempre
LexQuota