Archivi per la categoria ‘DNS’

Impostare BIND: DNS locale su Leopard.

giovedì, 19 marzo 2009

dns Impostare BIND: DNS locale su Leopard.Premetto che non so che cosa ho fatto di preciso, ma giuro a me stesso che approfondirò questo argomento, anche perchè pare funzionare alla grande!

Molto spesso ci capita di lamentarci della lentezza delle nostre connessioni a banda larga, ma non sempre tutto questo è dovuto al brand del fornitore di servizi internet, o meglio, solo in parte.

Occhio che sto per scrivere una frase riscrita milioni di volte negli anni: ad ogni indirizzo web corrisponde un indirizzo IP quindi scrivere nella barra indirizzi del browser http://www.google.com o http://74.125.43.103/ è esattamente la stessa cosa, ma col vantaggio che il caricamento del secondo indirizzo sarà più immediato del primo.

Se moltiplichiamo tutti i piccoli ritardi accumulati nel surfing giornaliero ci accorgiamo che clicka di qua e clicka di là, alla fine della giornata abbiamo passato 1/5 del nostro tempo aspettando il caricamento delle pagine (stima un tantino esagerata, comunque, dai, fate i bravi, un bloger deve esagerare, è risaputo! Lo fanno tutti i blog fighi).

In pratica se ci ricordassimo l’indirizzo IP di tutti i siti che frequentiamo saremmo a cavallo, ma dovremmo anche linkare i siti inserendone l’IP e poi….insomma, sarebbe un’incubo! E’ qui che ci vengono incontro i server DNS (Domain Name System), che memorizzano per noi tutte le coppie NomeDominio-IP presenti nel WEB. Ogni ISP consiglia i suoi server DNS, una massa incolore di nerd pseudo-geek spinge per l’adozione in massa dei famosi OpenDNS (che ogni tanto rallentano talmente tanto la navigazione da ricordare i “vecchi tempi”…..ma è solo un’esperienza personale, in giro c’è gente entusiasta).

Quello che qui mi accingo a descrivere è l’impostazione di un Servizio di Domain Name proprio sul nostro mac, in modo che le coppie nome-numero vengano memorizzate in locale, per un accesso praticamente istantaneo, senza interrogare DNS esterni, che devono poi interrogare altri DNS e così via.

Cominciamo allora, per me ha funzionato, poi magari cercherò pure di capire cosa ho fatto icon biggrin Impostare BIND: DNS locale su Leopard.

Creiamo prima di tutto una chiave rndc col seguente comando in terminale

$ sudo rndc-confgen -a

ci verrà richiesta la password da amministratore e la inseriremo. Fatto il primo passo, ora, visto che abbiamo il terminale aperto e la maggior parte del lavoro va fatto qui, usiamo anche l’editor di testo nano così poco preso in considerazione, in modo da far tutto nel terminale.

Prima trasformiamoci nell’onnipotente root

$ sudo su -

Inseriamo la nostra password

$ cd /System/Library/StartupItems

$ mkdir BIND
$ cd BIND
$ nano -w BIND

Ora siamo in nano e stiamo creando il file BIND che riempiremo con le seguenti righe:

#!/bin/sh

. /etc/rc.common

if [ "${DNSSERVER}" = "-YES-" ]; then
ConsoleMessage “Starting BIND DNS Server”
/usr/sbin/named
fi

Chiudiamo con ctrl-X e salviamo il file con Y e poi INVIO. Ora ci serve un’altro file, che prontamente andremo a creare:

$ nano -w StartupParameters.plist

aggiungendo queste righe:

{
Description = “Local DNS”;
Provides = (”DNS Server”);
OrderPreference = “None”;
Messages =
{
start = “Starting DNS Server”;
stop = “Stopping DNS Server”;
};
}

Rendiamo il file eseguibile:

$ chmod +x BIND

E assicuriamoci che si avvii ad ogni reboot del mac:

$ nano -w /etc/hostconfig

E aggiungiamo questa riga alla fine, se non esiste già:

DNSSERVER=-YES-

Se esiste già nel file avrà valore -NO-, quindi cambiamo -NO- con -YES- ed abbandoniamo la condizione di root:

$ exit

Ora lanciamo il nostro script:

$ sudo /System/Library/StartupItems/BIND/BIND

Adesso possiamo uscire dal terminale, abbiamo attivato il servizio locale di DomainName BIND, ma non è ancora finita, perchè dobbiamo utilizzarlo:

andiamo in Preferenze > Network
Cancelliamo i DNS presenti e inseriamo 127.0.0.1.

FATTO!

Per verificare che il DNS in uso sia effettivamente quello locale ricorriamo nuovamente al terminale:

$ nslookup www.apple.com
Server:        127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
www.apple.com    canonical name = www.apple.com.akadns.net.
Name:    www.apple.com.akadns.net
Address: 17.149.160.10

Sinceramente ho notato un miglioramento che definirei bestiale, davvero non me l’aspettavo!

[Fontissima!]