Vai al contenuto

Impostare il caching di dns con Bind su Tiger. (+ velocità x navigazione)


alekc

Messaggi raccomandati

Forse non tutti sanno che se usate il caching di dns localmente sul vostro pc potete aumentare (e a volte non di poco) la navigazione su internet visto che una volta che avete visitato un sito BIND (già installato nel osx ma disabilitato su tiger) memorizzerà indirizzo ip che corrisponde a quel dominio e per le richieste successive non dovrete attendere la risposta dal vostro dns server di fiducia (telecom, opendns, aruba etc) ma recupererete ip a cui collegarsi in modo pressoché istantaneo (pochi ms)

La presente guida è praticamente un copia incolla dal post sul mio blog, quindi non fateci caso sulla formattazione (siccome sono veramente pigro non ho voglia di riformattare tutto da capo :sediata:)

P.s. Tale tutorial presuppone che voi non avete paura di usare il terminal e sapete come si fa ad usare vim (o un altro editor testuale come per es. pico)

Ecco la procedura :

1) Entrate in modalità root soto il terminal:

sudo -s

2) Settare il sistema per usare il bind

vim /etc/hostconfig

Aggiungete alla fine del file

DNSSERVER=-YES-

3) Aggiungete i file di configurazione RNDC

touch /etc/rndc.conf

touch /etc/rndc.conf

4) Settate i file RNDC precedentemente creati

rndc-confgen -p 54

Vi dovrebbe scrivere una cosa del genere

# Start of rndc.conf

key "rndc-key" {

algorithm hmac-md5;

secret "tamY3wYmfNwBuPezMYddcg==";

};

options {

default-key "rndc-key";

default-server 127.0.0.1;

default-port 54;

};

# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:

# key "rndc-key" {

# algorithm hmac-md5;

# secret "tamY3wYmfNwBuPezMYddcg==";

# };

#

# controls {

# inet 127.0.0.1 port 54

# allow { 127.0.0.1; } keys { "rndc-key"; };

# };

# End of named.conf

Aggiungete la sezione key{} e option{} in /etc/rncd.conf, e /etc/rndc.key solo con la parte key{}

5) Aggiungete i forwarders. In pratica se il dns del sito che volete visitare non c'è nel db di Bind, allora lui userà ip che avete nel forwarder per risolverli e aggiungere indirizzo al suo db.

vim /etc/named.conf

All'interno della sezione options{} aggiungete i forwarders in modo che risulti qualcosa del tipo

options {

directory "/var/named";

forwarders {

195.110.128.1;

151.99.125.2;

};

..........

}

/*

(cambiate ip con i dns server che preferite)

6) Lanciate il demone Bind:

launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist

Questo dovrebbe creare nuova configurazione, salvarla ed avviare il demone.

7 ) Testate il Bind

host
127.0.0.1

Se tutto va bene dovreste avere un output come seguente

Using domain server:

Name: 127.0.0.1

Address: 127.0.0.1#53

Aliases:

has address 212.48.10.150

8) Se tutto è andato bene nel punto 7, allora andate in System Preferences->Network->Configure (scheda di rete con cui siete connessi), e settate il valore di DNS server su 127.0.0.1

A questo punto tutto quanto dovrebbe essere ok :devil:

<dsully> please describe web 2.0 to me in 2 sentences or less.

<jwb> you make all the content. they keep all the revenue.

Link al commento
Condividi su altri siti

interessante e che bello finalmente script bash..

ma come fa a memorizzare i dns? nel senso che rimangono in cache di cosa??.. non ho ben capito..

cioe la richiesta al server via dns devi farla comunque.. senò appunto dove rimangono in cache ?

poi basterebbe salvare nei bookmarks invece che il sito url l'ip e dovrebbe andare comunque tranquillamente uguale..

chiedo perchè non so.. :lol: grazie! :ghghgh:

Big power, sticky tyres, no neons, and suspension harder than multiplying in roman numerals ....PMSL =D

Link al commento
Condividi su altri siti

Alluora alcune precisazioni: non sono sicuro del dove di preciso lo salvi ma funziona + o meno in questo modo:

Si imposta il mac in modo che cerchi di risolvere i dns presso 127.0.0.1

Per la prima volta vai su www.msn.it Tiger fa la richiesta su 127.0.0.1 per tradurre www.msn.it in suo indirizzo ip, BIND che è in ascolto accetta la richiesta e controlla il suo database interno. Non trovando "www.msn.it" interroga i server dns inseriti nel passo numero 5, riceve ip, lo memorizza nel suo database, e restituisce il risultato al browser che finalmente si connette su www.msn.it

E fino a qui avere il BIND non è influente al fine di velocità, i tempi sono uguali a quelli che oterresti con navigazione normale.

Vai per la seconda volta su www.msn.it Il sistema cerca di risolvere il dominio su 127.0.0.1, BIND controlla il suo database alla ricerca di www.msn.it, trova il suo ip, e lo restituisce direttamente.

In questo caso, si ottiene ip desiderato nel giro di un paio di ms, e non c'è più bisogno di aspettare la risposta da parte del dns server con risparmio nei tempi nel caricamento delle pagine & immagini

<dsully> please describe web 2.0 to me in 2 sentences or less.

<jwb> you make all the content. they keep all the revenue.

Link al commento
Condividi su altri siti

(mi piace l'alluora :ghghgh: )

comunque sei sicuro che sia realmente piu veloce? deve pur sempre interrogare un db interno..

se io mi salvo il bookmarks in IP come dicevo? il dns non lavora mica..

Big power, sticky tyres, no neons, and suspension harder than multiplying in roman numerals ....PMSL =D

Link al commento
Condividi su altri siti

E' piu veloce perche il ritardo durante un interrogazione locale è veramente minimo (2-3ms)

Per esempio:

Prima interrogazione di un sito (msn.de)

macbook:~ alekc$ dig www.msn.de

Risultato

........

;; Query time: 452 msec

........

Seconda interrogazione

;; Query time: 1 msec

Spegnendo il caching sulla macchina ed interrogando google.de

Primo risultato:

........

;; Query time: 157 msec

.......

Secondo risultato:

......

;; Query time: 121 msec

.......

Il risparmio c'è sempre ma non è cosi grande come per il caching locale

Rispondendo alla seconda parte della tua domanda:

Questo sarebbe in teoria possibile se nel mondo ad ogni indirizzo ip corrispondesse un sito, il che (per fortuna) non è cosi. Infatti ti serve ip per connetterti alla macchina che ospita il sito, ed il nome del sito per dire alla macchina quale dei siti che contiene vuoi vedere :ghghgh:

<dsully> please describe web 2.0 to me in 2 sentences or less.

<jwb> you make all the content. they keep all the revenue.

Link al commento
Condividi su altri siti

Aggiungete la sezione key{} e option{} in /etc/rncd.conf, e /etc/rndc.key solo con la parte key{}

scusami, ma non ho capito bene questo passaggio, puoi spiegarmelo?

edit: ok, ho capito, era solo un po' contorta la frase.

...ma alla fine connection timed out quando testo il bind :DD

non so cosa posso avere sbagliato :mad:

This is the supper of the mighty one.

Link al commento
Condividi su altri siti

Infatti ti serve ip per connetterti alla macchina che ospita il sito, ed il nome del sito per dire alla macchina quale dei siti che contiene vuoi vedere :ciao:

ma sei veramente sicuro??

il nome del sito non è nient'altro che un alias di un indirizzo ip

ad un ip possono corrispondere più nomi

ma a un nome può corrispondere un solo ip a meno che il server principale non sia configurato per diramare le connessioni su altri server per smaltire il traffico di rete.

Le mie foto Flickr

Link al commento
Condividi su altri siti

1) @psiche:

Suppongo che intendi timeout con commando "host sito 127.0.0.1"

In questo caso prima prova a vedere se il bind è in esecuzione con

macbook:~ alekc$ ps ax | grep named

Ti dovrebbe uscire fuori qualcosa del genere:

45 ?? Ss 0:05.59 /usr/sbin/named -f

7801 p1 R+ 0:00.00 grep named

Se la seconda riga non è presente, allora il demone non è esecuzione (named è il nome del demone per bind). In questo caso prova a rifare la procedura.

Se il demone è in esecuzione, ma non riesci a risolvere indirizzi, allora potrebbe dipendere dai forwarder che hai ipostati. Per sicurezza prova a mettere indirizzi di opendns (08.67.222.222 and 208.67.220.220 )

@karmax: huh? ed io che ho detto o.0? Cercavo di fare un discorso terra terra in modo da farmi capire anche da coloro che non sanno che cosa sia il dns, forse ho esagerato un po il che si è tradotto in un incompressione :P

<dsully> please describe web 2.0 to me in 2 sentences or less.

<jwb> you make all the content. they keep all the revenue.

Link al commento
Condividi su altri siti

Credo che aggiorni il dns quando scade il suo TTL (time to live). Tutt'ora non ho riscontrato questo problema.

@psiche: si chiedevo se avevi impostato i forwarders validi, cmq se hai risolto tanto meglio :ghghgh:

<dsully> please describe web 2.0 to me in 2 sentences or less.

<jwb> you make all the content. they keep all the revenue.

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...