![Rendi Firefox simile al browser Web GNOME (perché no, giusto?)](/f/0e093b8952f87d1764cf706b6e71eb1a.png?width=100&height=100)
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 richiederebbe molto tempo.
E se avessimo bisogno di visitare più siti Web o utilizzare diverse applicazioni che risiedono nella stessa macchina o host virtuale? Sarebbe uno dei peggiori mal di testa a cui riesco a pensare, per non parlare della possibilità che l'indirizzo IP associato a un sito Web o un'applicazione possa essere modificato senza preavviso.
Il solo pensiero sarebbe una ragione sufficiente per smettere di usare Internet o le reti interne dopo un po'.
Questo è esattamente ciò che un mondo senza Domain Name System (conosciuto anche come DNS) sarebbe. Fortunatamente, questo servizio risolve tutti i problemi sopra menzionati, anche se la relazione tra un indirizzo IP e un nome cambia.
Per questo, in questo articolo, impareremo a configurare e utilizzare un semplice server DNS, un servizio che consentirà di tradurre i nomi di dominio in indirizzi IP e viceversa.
Per le piccole reti che non sono soggette a frequenti modifiche, il /etc/hosts file può essere utilizzato come metodo rudimentale del nome di dominio per la risoluzione dell'indirizzo IP.
Con una sintassi molto semplice, questo file ci permette di associare un nome (e/o un alias) ad un indirizzo IP come segue:
[Indirizzo IP] [nome] [alias (es)]
Per esempio,
192.168.0.1 gateway gateway.miodominio.com. 192.168.0.2 web web.miodominio.com.
Quindi, puoi raggiungere la macchina web sia con il suo nome, il web.miodominio.com alias o il suo indirizzo IP.
Per reti più grandi o soggette a frequenti modifiche, utilizzare il /etc/hosts file 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, a DNS il server interroga un grande database sotto forma di albero, che inizia dalla radice (“.”)
zona.
L'immagine seguente ci aiuterà a illustrare:
Nell'immagine sopra, la radice (.)
la zona contiene come, edu, e rete domini. Ciascuno di questi domini è (o può essere) gestito da diverse organizzazioni per evitare di dipendere da uno 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 punta la query al server dei nomi nel .com
zona.
Questo, a sua volta, invia la query al server dei nomi di livello successivo (nel me.com
zona), e poi a vendite.me.com
. Questo processo viene ripetuto tutte le volte necessarie fino a quando FQDN (Nome di dominio pienamente 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 vendite.me.com.
risponde all'indirizzo web1.sales.me.com
e restituisce l'associazione nome di dominio-IP desiderata e anche altre informazioni (se configurate per farlo).
Tutte queste informazioni vengono inviate al server DNS originale, che le restituisce quindi 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 ricorsivo, cache del server DNS.