image hosting by Twango

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:


Related Posts Plugin for WordPress, Blogger...

Il tuo indirizzo ip:
38.107.179.230

Valutazione 3.00 su 5
Categories: Senza categoria

Commenti via Facebook:


19 Responses so far.


  1. *Gian* UNITED KINGDOM scrive:

    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ì…

      Quota

  2. *Gian* UNITED KINGDOM scrive:

    No scusa sono pirla io…cancella pure ora testo!A dopo

      Quota

  3. charlie ITALY scrive:

    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)

      Quota

  4. *Gian* UNITED KINGDOM scrive:

    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!

      Quota

  5. divilinu ITALY scrive:

    @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.

      Quota

  6. ZanzarastA ITALY scrive:

    E se non usassi il DHCP, ma un IP fisso?

      Quota

  7. divilinu ITALY scrive:

    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..;)

      Quota

  8. Fochetta ITALY scrive:

    Funziona anche con tor?

      Quota

  9. divilinu ITALY scrive:

    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)..

      Quota

  10. divilinu ITALY scrive:

    per fare un esempio..questi sono i tempi di open-dns

    Query time: 287 msec

      Quota

  11. notoriousxl ITALY scrive:

    Ma è utile anche se si possiede un router hardware (che da quello che so dovrebbe fare un minimo di cache sui DNS)?

      Quota

  12. divilinu ITALY scrive:

    @notoriusxl
    ..i router comuni hanno vari servizi tra cui il dns,dns dinamico,nat e dhcp..ma non funzionano da server dns cache..

      Quota

  13. notoriousxl ITALY scrive:

    Grazie, quando ho tempo allora lo provo ;)
    … peccato per l’obbligo del dhcp :(

      Quota

  14. divilinu ITALY scrive:

    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.. ;)

      Quota

  15. KaBaL ITALY scrive:

    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.

      Quota

  16. notoriousxl ITALY scrive:

    @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! :mrgreen:
    Comunque ti ringrazio per la guida e soprattutto per la segnalazione, utilissima! (la configurazione di pdnsd è praticamente identica) ;-)

      Quota

  17. notoriousxl ITALY scrive:

    @kabal
    dnsmasq dovrebbe essere anche un server dhcp, dovresti disattivare il server che usavi prima e impostare (ma non chiedermi come si fa :mrgreen: ) 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…)

      Quota

  18. fabioamd87 ITALY scrive:

    GRAZIEEEEE DA 91 a 45!!

      Quota

  19. Lex ITALY Mozilla Firefox Linux scrive:

    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

      Quota

Leave a Reply