Articles

Postfix – DNS

In postfix on novembre 9, 2010 by poyblog Messo il tag: , ,

La risoluzione dei nomi, ovvero il processo che permette di scovare un indirizzo IP dato un nome dominio è un aspetto molto importante che riguarda la “vita” di un e-mail server.

Sebbene nella fase di configurazione ed installazione del nostro MTA non c’è alcune bisogno di conoscere come funziona il mondo dei DNS (Domain name system) , diviene cruciale durante la fase di risoluzione dei problemi quando si comincia a notare che alcuni messaggi sebbene scritti ed indirizzati correttamente non arrivano al destinatario.

Spesse volte infatti il problema sta proprio nell’incapacità del nostro mail server di trovare l’host remoto di riferimento o viceversa.

I DNS adottano una struttura specifica ovvero quella di un database gerarchico distribuito. In questo modo che non c’è necessità che un server mantenga tutti i record esistenti, ma solo alcuni.

I sistemi che mantengono questi database si dicono DNS Server.

Per un client l’operazione di ottenere l’IP associato ad un nome è semplice, basta interrogare il server DNS a lui più vicino, solitamente quello fornito dal nostro Internet Service Provider, e questo restituirà il corretto indirizzo IP.

Come accennato in precedenza non è detto che il server interrogato abbia la risposta, ma tramite dei protocolli atti alla comunicazione fra DNS server al nostro host verrà consegnata una risposta.

La struttura DNS è una struttura gerarchica dove al livello superiore esistono dei domini relativi ai codici di nazione:

  • .it (italia)
  • .com (U.S.A organizzazioni commerciali)
  • .org (U.S.A organizzazioni no-profit)
  • .nl (olanda)
  • .de (germania)

e così via.

A loro volta i domini di primo livello sono divisi in più zone, detti anche sotto-domini.

All’interno di una zona possono esistere host diversi.

La gerarchia non si ferma a tre livelli, ma può scendere teoricamente all’infinito.

Ecco un esempio di come si sviluppa tale gerarchia:



Descriviamo ora tre possibili scenari che possono verificarsi quando si cerca di risolvere un nome in un IP univoco:

  1. Un pc che vuole comunicare con un altro nella stessa zona interroga il server DNS di zona locale, e questo fornisce la risposta direttamente all’host locale. E’ ovvio che il DNS server dovrebbe avere l’informazione relativa all’indirizzo IP della macchina destinatario.
  2. Nel caso in cui un pc presente in una zona volesse comunicare con un pc presente in una zona differente, interroga comunque il DNS server della propria zona. Il DNS server chiamato in causa realizza che la chiamata riguarda un host presente in una zona diversa, interpella quindi il DNS server presente ad un livello superiore ed attende una risposta da questo DNS “padre”. Così si risale fino alla cima nel caso in cui nessun DNS interpellato sia a conoscenza del nome cercato. A questo punto il DNS padre scende all’interno dell’albero fino a raggiungere il DNS responsabile della zona ricercata. Rintracciato l’IP del nome cercato viene restituita la risposta al DNS responsabile della zona dell’host chiamante che la fornisce a sua volta all’host stesso. Ovviamente tutti i server DNS adottano una politica di caching (basata su un Time To Live configurabile) degli indirizzi in modo tale che non è necessario ad ogni interrogazione attraversare la gerarchia del sistema DNS per fornire la risposta corretta. Il problema che ne deriva è che non sempre il cambio di IP per un nome host viene digerito istantaneamente da tutto il sistema DNS, quindi è necessario attendere almeno 24/48 ore
  3. Il terzo esempio riguarda proprio il classico metodo di caching dei server DNS. Supponiamo che come nell’esempio precedente il nostro host richiede l’ip di un nome presente in una zona diversa. Viene interpellato il DNS server di zona, il quale controlla nella propria cache. Se esiste l’ip dell’host ricercato ed il TTL non è ancora scaduto allora viene ritornato direttamente l’indirizzo IP dell’host remoto . In caso contrario si risale la gerarchia come è stato spiegato nel punto precedente.

All’interno dei DNS server vengono immagazzinati numerose migliaia di record (IP → host) che si distinguono per tipologia, ecco le più importanti:

  • A → Indirizzo Internet
  • NS → Nome del server
  • CNAME → nickname o Common Name
  • MX → Mail exchanger (server di posta)
  • PTR → puntatore al nome dominio (risoluzione inversa dato l’ip restituisce il nome)
  • SOA →Start of Authority (gestione della zona)

Ecco un esempio di record DNS:

Per concludere l’articolo vediamo come viene rintracciato un mail server all’interno della rete internet rispecchiando l’esempio della ricerca dei nomi trattato in precedenza:

  1. Se Si cerca un server di posta presente nella stessa zona, si interroga il DNS server locale che avrà un record MX con un indirizzo IP associato presente nella stessa zona, viene così restituito il corretto indirizzo
  2. Si cerca un server di posta in una zona diversa da quella locale. Si interroga il DNS server locale, il quale interroga il DNS server padre, che risale la scala gerarchica e poi scende fino alla zona corretta, a questo punto viene rintracciato il record MX di riferimento e l’indirizzo IP viene restituito al DNS server di zona dell’host richiedente
  3. Anche i record MX vengono messi in cache per un TTL pre-configurato, è quindi possibile che durante la fase di interrogazione di un server DNS locale per trovare un server di posta non di zona questo risponda immediatamente nel caso in cui tale record sia presente in cache.
Annunci

Una Risposta to “Postfix – DNS”

  1. […] DNS : la relazione tra DNS e posta elettronica, con le informazioni minime necessarie per poter gestire il nostro server Postfix con successo. […]

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: