Ricerca nel sito web

Configura un server DNS di memorizzazione nella cache ricorsiva di base e configura le zone per il dominio


Immagina come sarebbe se dovessimo ricordare gli indirizzi IP di tutti i siti web che utilizziamo quotidianamente. Anche se avessimo una memoria prodigiosa, il processo per navigare in un sito web sarebbe ridicolmente lento e dispendioso in termini di tempo.

E se avessimo bisogno di visitare più siti web o utilizzare più applicazioni che risiedono nella stessa macchina o host virtuale? Sarebbe uno dei peggiori grattacapi a cui riesco a pensare, per non parlare della possibilità che l’indirizzo IP associato a un sito Web o a un’applicazione possa essere modificato senza preavviso.

Il solo pensiero sarebbe una ragione sufficiente per desistere dall'uso di Internet o delle reti interne dopo un po'.

Questo è esattamente ciò che sarebbe un mondo senza Domain Name System (noto anche come DNS). Fortunatamente, questo servizio risolve tutti i problemi sopra menzionati, anche se cambia la relazione tra un indirizzo IP e un nome.

Per questo motivo, in questo articolo impareremo come configurare e utilizzare un semplice server DNS, un servizio che permetterà di tradurre i nomi di dominio in indirizzi IP e viceversa.

Presentazione della risoluzione dei nomi DNS

Per le reti di piccole dimensioni che non sono soggette a modifiche frequenti, il file /etc/hosts può essere utilizzato come metodo rudimentale per la risoluzione del nome di dominio e dell'indirizzo IP.

Con una sintassi molto semplice, questo file ci permette di associare un nome (e/o un alias) ad un indirizzo IP nel modo seguente:

[IP address] [name] [alias(es)]

Per esempio,

192.168.0.1 gateway gateway.mydomain.com
192.168.0.2 web web.mydomain.com

Pertanto, puoi raggiungere la macchina web tramite il suo nome, l'alias web.miodominio.com o il suo indirizzo IP.

Per reti più grandi o soggette a frequenti modifiche, l'utilizzo del file /etc/hosts per risolvere i nomi di dominio in indirizzi IP non sarebbe una soluzione accettabile. È qui che entra in gioco la necessità di un servizio dedicato.

Sotto il cofano, un server DNS interroga un grande database sotto forma di albero, che inizia nella zona (“. ”) radice.

L’immagine seguente ci aiuterà a illustrare:

Nell'immagine sopra, la zona (.) radice contiene i domini com, edu e net. Ciascuno di questi domini è (o può essere) gestito da organizzazioni diverse per evitare di dipendere da una grande e centrale. Ciò consente di distribuire correttamente le richieste in modo gerarchico.

Vediamo cosa succede sotto il cofano:

1. Quando un client effettua una query a un server DNS per web1.sales.me.com, il server invia la query al server DNS principale (root), che indirizza la query al server dei nomi nella zona .com.

Questo, a sua volta, invia la query al server dei nomi di livello successivo (nella zona me.com), quindi a sales.me.com. Questo processo viene ripetuto tutte le volte necessarie fino all'FQDN (Nome di dominio completamente qualificato, web1.sales.me.com in questo esempio) viene restituito dal name server della zona a cui appartiene.

2. In questo esempio, il server dei nomi in sales.me.com. risponde all'indirizzo web1.sales.me.com e restituisce l'associazione nome di dominio-IP desiderata e anche altre informazioni (se configurato per farlo).

Tutte queste informazioni vengono inviate al server DNS originale, che poi le restituisce al client che le ha richieste per primo. Per evitare di ripetere gli stessi passaggi per future query identiche, i risultati della query vengono archiviati nel server DNS.

Questi sono i motivi per cui questo tipo di configurazione è comunemente noto come server DNS ricorsivo e con memorizzazione nella cache.