Sei sulla pagina 1di 19

Tutorial Postfix

1. 2. 3. 4. 5. 6. 7. 8. Configurazione Server SMTP Postfix (esempio) Installazione e Configurazione Server SMTP con Postfix (tutorial) Guida a Bind in Gentoo (tutorial) Come installare e Configurare un Server DNS (tutorial) Lista DNS dei Principali Provider Italiani Scheda di rete con dns primario e secondario (esempio) Lista Tipi Record DNS Domini, Hosting e Dns (post Andrea Beggi)

Configurazione Server SMTP Postfix


Problema: Invia ma non riceve!! MANSON - E' gi da un p che recupero materiale e guide sull'argomento, ma non riesco a venirne a capo. In pratica riesco ad inviare email dalla mia LAN, esattamente dal server 192.168.0.2, verso l'esterno, per es. alicE, ma non riesco a riceverle dall'esterno LAN e dalla LAN LAN. Infatti il SERVER non solo NON riesce a ricevere email dai Client 2/3/etc.. e dall'esterno, ma anche da se stesso, infatti ho provato a mandarmi un'email: mail utenteserver@manson.homelinux.net Subject: prova invio 9.999.878.173 gfs . EOT provo a controllare la posta mailx, ma nulla Postfix risulta avviato Premetto che attivo il servizio DynDNS gestito dal router, che funziona correttamente. La mia LAN connessa ad uno swich e poi al router [192.168.0.1]: 1 SERVER 192.168.0.2 manson.homelinux.net 2 CLIENT 1 192.168.0.3 hostname1 3 CLIENT 2 192.168.0.4 hostname2 4 CLIENT 3 192.168.0.5 hostname3 5 CLIENT 4 192.168.0.6 hostname4 Questo il mio main.cf: # These are changed by postfix install script readme_directory = /usr/share/doc/postfix/README_FILES html_directory = /usr/share/doc/postfix/html sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop command_directory = /usr/sbin manpage_directory = /usr/share/man daemon_directory = /usr/lib/postfix data_directory = /var/lib/postfix

newaliases_path = /usr/bin/newaliases mailq_path = /usr/bin/mailq queue_directory = /var/spool/postfix mail_owner = postfix home_mailbox = Maildir/ # User configurable parameters myhostname = manson.homelinux.net #Il nome del mio server dove attivo il serverizio DynDNS ed anche il nome del myhostname mydomain = manson.homelinux.net # utilizzato al momento di invio della posta ed specificher il dominio di provenienza della mail myorigin = $myhostname inet_interfaces = all mydestination = $myhostname, $mydomain, localhost.localdomain, localhost mynetworks = 127.0.0.1, 192.168.0.0/24 relayhost = out.alice.it #delay_warning_time = 4h smtpd_delay_reject = no smtpd_banner = $myhostname ESMTP $myorigin smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_client, reject_invalid_hostname smtpd_helo_required = yes smtpd_soft_error_limit = 10 disable_verify_command = yes unknown_local_recipient_reject_code = 550 smtp-filter_destination_concurrency_limit = 2 lmtp-filter_destination_concurrency_limit = 2 recipient_delimiter = + alias_database = hash:/etc/postfix/aliases, hash:/var/lib/mailman/data/aliases alias_maps = hash:/etc/postfix/aliases, hash:/var/lib/mailman/data/aliases ************* Log error94132A4019: to=, relay=none, delay=1172, delays=1172/0.01/0.17/0, dsn=4.4.1, status=deferred (connect to manson.homelinux.net[87.X.XXX.XXX]:25: Connection refused) Drakfirewall disattivato e la porta 25 e 110 attivata sul router Qualcuno ha correttamente configurato postfix all'interno della sua rete? Mi piacerebbe trovare sul forum una bella guida sulla configurazione di Postfix per la ns. distribuzione ************* DARCO - anch'io st provando a metter su un serverino postfix usando un servizio dns dinamico... per le mail in uscita nessun problema... in entrata c' qualche magagna.. non riceve la posta.... come faccio a verificare che l'ISP non mi blocchi la porta 25? io ho fatto una prova da remoto a connettermi alla porta 25 in telnet e mi ha risposto postfix senza problemi... dovrebbe esser a posto il discorso giusto? ************* ARMANDO - mentre ti "diverti" nel configurare la posta all'interno della LAN ti consiglio di dare un'occhiata al sito www.no-ip.com, io ho registrato un dominio forwardando l'MX record verso il mio dominio e girando la porta 25 sulla 1025, in questo modo il mio server di posta riceve le mail dall'esterno. Invece per mandare posta dalla LAN verso l'esterno non hai bisogno di niente visto che la porta 25 aperta in uscita. Questo solo per ricevere la posta da Internet. Il secondo problema che

ho avuto che (nel mio caso libero) chiude le porte pop3 e imap verso la LAN, quindi nel server di posta ho configurato delle porte alternative. Ciao e buon lavoro. Armando ************* DARCO - Funziona tutto!! Il problema era che dyndns non mi crea il record MX per lo stesso host, quindi ho registrato un altro ddns(con no-ip) e ho impostato quell'host come MX. Poi ovviamente in realt era la stessa macchina. Grazie x l'aiuto!

Installazione e configurazione di un server SMTP con POSTFIX


1. Introduzione Puo' capitare, per qualunque motivo, di voler configurare la propria macchina per fare da server di posta. E si puo' volerlo fare anche senza nessun motivo particolare, cosi' solo per imparare qualcosa di nuovo!!! Grazie alla gigantesca comunita' linuxiana che e' reperibile su Internet ho raccolto una marea di informazioni che ho deciso di raccogliere in una guida organizzata e organica che ho pensato di postare su questo sito, visto che Mandriva e' la distribuzione che utilizzo e che, grazie appunto a Mandrivaitalia.org sono riuscito ad utilizzare con successo. Credo comunque che con qualche piccolo aggiornamento la procedura di configurazione di postfix sia la stessa per tutte le distros. Il sito ufficiale di postfix e' questo in cui trovate tutto quello che vi puo' servire e che non trovate qui (sorgenti, howtos, FAQ e quant'altro!). Infine sottolineo questa guida e' scritta da un newbye per i newbyes come me, per cui i guru mi perdonino le necessarie imperfezioni!!! Detto questo possiamo partire! 2. Prerequisiti In questa guida do per scontati i seguenti prerequisiti: - Installazione e configurazione del server Apache; - Installazione e configurazione di PHP; - Installazione e configurazione di MySQL; - Configurazione di urpmi per il download dei pacchetti con le fonti necessarie; 3. Installazione di tutto il necessario I pacchetti necessari sono i seguenti: - postfix - postfixadmin - postfix-mysql Lasciate risolvere a urpmi le dipendenze e godetevi il caffe'! Dopo pochi minuti sarete pronti a partire. 4. Configurazione principale di postfix Senza perderci troppo in fronzoli descrivero' brevemente le voci principali del file di configurazione di postfix. E' la configurazione minima con la quale sono riuscito a far funzionare tutto nella mia macchina, per cui non andro' oltre. Il file di configurazione in oggetto e' /etc/postfix/main.cf il

quale contiene gia' alcuni valori che modificheremo e ai quali aggiungeremo alcune voci necessarie a far funzionare il tutto. Nota: la modifica del file /etc/postfix/main.cf richiede i privilegi di amministratore. Righe da aggiungere al file /etc/postfix/main.cf La voce inet_interfaces permette di specificare l'interfaccia di rete su cui il sistema riceve la posta. Puo' anche essere specificato un indirizzo IP oppure "all" per indicare tutte le interfacce presenti nel sistema
inet_interfaces = localhost

Il parametro mynetwork_style determina la rete autorizzata a sfruttare postfix sulla vostra macchina e puo' assumere i valori subnet, con il quale si autorizzano tutti le macchine appartenenti alla stessa sottorete della macchina server, class, con il quale si autorizzano, invece tutte le macchine appartenenti alla stessa classe della macchina server, e host[/b ] con il quale si autorizza solo la macchina locale. [b]subnet e' il valore di default.
mynetworks_style = subnet

Con il parametro mynetworks si puo' specifica meglio la lista dei client SMTP autorizzati a consegnare la posta attraverso postfix. Si puo' indicare come valore un indirizzo IP. Se non e' specificato saranno considerati attendibili tutti i client appartenenti alla rete specificata nel parametro mynetwork_style.
mynetworks = XXX.XXX.XXX.XXX

Il parametro myhostname specifica il nome della macchina che fara' da mail server. E' un parametro molto importante e il suo valore viene usato come valore di default per molti altri parametri. Ovviamente metterete il valore che preferite al posto di quello indicato.
myhostname = mail.mioserver.it

Le seguenti due righe riguardano gli alias di posta elettronica del sistema e puntano a due files della medesima directory del file main.cf. Ci occuperemo in seguito della loro configurazione.
alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases

Il parametro mydestination permette di specificare la lista dei domini per i quali la macchina si considera la destinazione finale dei messaggi. Si puo' settarla come segue (il parametro $mydomain, se non diversamente specificato, ha lo stesso valore del parametro $myhostname meno la prma parte - nell'esempio mioserver.it)
mydestination = $myhostname, $mydomain

Il parametro relay_domains restringe la consegna della posta alle destinazioni specificate. I valori di seguito specificati permettono un corretto funzionamento del server in una rete locale e, volendo, di inviare posta dalla rete locale alla rete esterna.

relay_domains = $mydestination, $mydomain, localhost.$mydomain

La riga seguente va inserita se ci si connette per il tramite di un gateway/NAT o ci si trova dietro ad un proxy. Il parametro proxy_interfaces deve appunto assumere come valore l'indirizzo IP del gateway/NAT o del proxy.
proxy_interfaces = XXX.XXX.XXX.XXX

La riga seguente va inserita se si vuole inviare posta dalla LAN ad internet. Il parametro relayhost deve assumere come valore l'indirizzo di un server SMTP pubblico. Le righe che seguono sono necessarie qualora il server pubblico richieda l'autenticazione ed indicano anche i percorsi dei files che contengono i parametri necessari. Di questi file ci occuperemo in seguito (per l'ultimo parametro non deve essere specificato alcun valore) Nota: Per poter ottenere l'atenticazione presso il server SMTP publico occorre installare il pacchetto libsasl e relative dipendenze:
relayhost = [stmp.server.isp]:porta

NB: e' necessario specificare la porta solo se diversa da 25


smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options =

5. I file aliases e sasl_passwd Come detto sopra il file [/b]/etc/postfix/aliases contiene gli alias di posta elettronica nel nostro sistema. Per il nostro scopo (che, ricordo, consiste nel mettere in funzione il tutto) basta editarlo con i privilegi di amministratore, cercare la riga:
root XXXXXXX

e sostituire XXXXXXX con il nome di un account esistente nel vostro sistema. Cio' non fara' altro che ridirezionare tutta la posta nel vostro account mail utente. Quindi, da console e con i privilegi di amministratore digitate:
# /usr/bin/newaliases

che ricreera' il file /etc/postfix/aliases.db Fatto questo create (sempre con i privilegi di root) in /etc/postfix un nuovo file chiamandolo sasl_passwd. Editatelo inserendo le credenziali di accesso al server SMTP pubblico specificato al parametro relayhost in /etc/postfix/min.cf rispettando la seguente forma:
stmp.server.isp nomeutente:password

quindi digitate da console (sempre con i privilegi di root) i seguenti comandi:


# chmod 600 /etc/postfix/sasl_passwd # postmap /etc/postfix/sasl_passwd

che servono, rispettivamente, a modificare i diritti sul file evitando che altri leggano le vostre credenziali di accesso e a creare il file sasl_passwd.db.

6. Avvio (o riavvio) di postfix Concluse le suddette operazioni ci bastera' avviare (o riavviare) postfix per avere il nostro bel server di posta personale da utilizzare nella nostra LAN e per l'esterno. I comandi sono:
# service postfix start

per lanciare postfix oppure:


# service postfix reload

per il suo riavvio. 8. Conclusioni Spero che tale guida possa tornare utile a quanti hanno voglia o necessita' di imparare qualcosa di nuovo. Spero soprattutto di non aver scritto cose errate. Nel qual caso ringrazio gia' da ora mi segnalera' gli errori aiutandomi a migliorare la guida con correzioni ed integrazioni. Ciao e grazie.

Guida a BIND in Gentoo


Indice: 1. Introduzione Questo tutorial spiega come installare e configurare BIND, il server DNS pi utilizzato su internet. bind verr configurato per il proprio dominio utilizzando configurazioni differenti, una per la propria rete locale ed una per il resto del mondo. Per fare questo verranno utilizzate le viste. Una per la zona interna (la propria rete locale) ed un'altra per la zona esterna (il resto del mondo). 2. Dati utilizzati nell'esempio Keyword DOMINIO INDIRIZZO_IP IP_LOCALE RETE_LOCALE Spiegazione Il proprio nome dominio L'indirizzo ip pubblico assegnato dall'ISP L'indirizzo ip locale La propria rete locale Esempio gentoo.org 204.74.99.100 192.168.1.5 192.168.1.0/24

SERVER_DNS_SLAVE ADMIN MODIFICA

L'indirizzo ip del server DNS slave per il proprio 209.177.148.228 dominio. Il nome dell'amministratore del server DNS. root La data di modifica del file di zona, con l'aggiunta di un 2009062901 numero

Figura 2.1: Esempio di rete

3. Configurazione di BIND Installazione Per prima cosa, installare net-dns/bind. Codice 3.1: Installazione di bind
# emerge net-dns/bind

Configurazione di /etc/bind/named.conf La prima cosa da configurare il file /etc/bind/named.conf. La prima parte di questo passo consiste nello specificare la directory radice di bind, la porta di ascolto con gli indirizzi IP, il file pid, ed una riga relativa al protocollo ipv6. Codice 3.2: Sezione options
options { directory "/var/bind"; listen-on-v6 { none; }; listen-on port 53 { 127.0.0.1; IP_LOCALE; }; pid-file "/var/run/named/named.pid"; };

La seconda parte di named.conf la vista interna utilizzata per la propria rete locale.

Codice 3.3: Vista interna

view "internal" { match-clients { RETE_LOCALE; localhost; }; recursion yes; zone "DOMINIO" { type master; file "pri/DOMINIO.internal"; allow-transfer { any; }; }; };

La terza parte di named.conf la vista esterna utilizzata per risolvere il proprio nome dominio per il resto del mondo e per risolvere tutti gli altri nomi domini per il proprio host (e per chiunque voglia utilizzare questo server DNS). Codice 3.4: Vista esterna
view "external" { match-clients { any; }; recursion no; zone "." IN { type hint; file "named.ca"; }; zone "127.in-addr.arpa" IN { type master; file "pri/127.zone"; allow-update { none; }; notify no; }; zone "DOMINIO" { type master; file "pri/DOMINIO.external"; allow-query { any; }; allow-transfer { SERVER_DNS_SLAVE; }; };

};

La parte finale di named.conf la politica di logging. Codice 3.5: Vista esterna


logging { channel default_syslog { file "/var/log/named/named.log" versions 3 size 5m; severity debug; print-time yes; print-severity yes; print-category yes; }; category default { default_syslog; }; };

La cartella /var/log/named deve esistere ed essere inclusa in named: Codice 3.6: Creazione del file di log
# mkdir -p /var/log/named/

# # # # #

chmod touch chmod chown chgrp

770 /var/log/named/ /var/log/named/named.log 660 /var/log/named/named.log -R named /var/log/named/ -R named /var/log/named/

Creazione del file per la zona interna Saranno utilizzati i nomi host e gli indirizzi IP nell'immagine della rete di esempio. C' da notare che quasi tutti (non tutti) i domini finiscono con "." (punto). Codice 3.7: /var/bind/pri/DOMINIO.internal
$TTL 2d @ IN SOA ns.DOMINIO. ADMIN.DOMINIO. ( MODIFICATION ; serial 3h ; refresh 1h ; retry 1w ; expiry 1d ) ; minimum DOMINIO. DOMINIO. mx:mail.DOMINIO ~all" DOMINIO. DOMINIO. www.DOMINIO. ns.DOMINIO. posta.DOMINIO. router.DOMINIO. hell.DOMINIO. heaven.DOMINIO. desktop.DOMINIO. IN MX IN TXT IN IN IN IN IN IN IN IN IN NS NS A A A A A A A 0 mail.DOMINIO. "v=spf1 ip4:YOUR_PUBLIC_IP/32 mx ptr ns.DOMINIO. SERVER_DNS_SLAVE 192.168.1.3 192.168.1.5 192.168.1.3 192.168.1.1 192.168.1.3 192.168.1.5 192.168.1.4

Creazione del file per la zona esterna Ora qui ci sono soltanto i sottodomini da utilizzare per i client esterni (www, posta e ns). Codice 3.8: /var/bind/pri/DOMINIO.external
$TTL 2d @ IN SOA ns.DOMINIO. ADMIN.DOMINIO. ( MODIFICATION ;serial 3h ;refresh 1h ;retry 1w ;expiry 1d ) ;minimum DOMINIO. DOMINIO. mx:mail.DOMINIO ~all" DOMINIO. DOMINIO. www.DOMINIO. ns.DOMINIO. posta.DOMINIO. IN MX IN TXT IN IN IN IN IN NS NS A A A 0 mail.DOMINIO. "v=spf1 ip4:IP_PUBBLICO/32 mx ptr ns.DOMINIO. SERVER_DNS_SLAVE IP_PUBBLICO IP_PUBBLICO IP_PUBBLICO

Completamento della configurazione Il servizio named va aggiunto al runlevel di default:

Codice 3.9: Aggiunta al runlevel di default


# rc-update add named default

4. Configurazione dei client Ora possibile utilizzare il proprio server DNS su tutte le macchine della propria rete locale per risolvere i nomi domini. necessario modificare il file /etc/resolv.conf su tutte le macchine della propria rete locale. Codice 4.1: Modifica del file /etc/resolv.conf
search DOMINIO nameserver IP_SERVER_DNS

Notare che IP_SERVER_DNS lo stesso di IP_LOCALE utilizzato in questo documento. Nell'immagine l'esempio 192.168.1.5. 5. Verifica Possiamo finalmente testare il nostro nuovo server DNS. Per prima cosa, avviare il servizio. Codice 5.1: Avvio manuale del servizio
# /etc/init.d/named start

Verr invocato diverse volte il comando host su alcuni domini. possibile utilizzare qualsiasi computer della propria rete locale per effettuare questo test. Se net-dns/host non installato possibile utilizzare al suo posto ping. Altrimenti, eseguire prima emerge host. Codice 5.2: Esecuzione del test
$ host www.gentoo.org www.gentoo.org has address 209.177.148.228 www.gentoo.org has address 209.177.148.229 $ host hell hell.DOMINIO has address 192.168.1.3 $ host router router.DOMINIO has address 192.168.1.1

6. Protezione del server con iptables Se si utilizza iptables per proteggere il proprio server, possibile aggiungere queste regole per il servizio DNS. Codice 6.1: Regole iptables
iptables ACCEPT iptables iptables iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j -A INPUT -p udp --dport 53 -j ACCEPT -A INPUT -p tcp --sport 53 -j ACCEPT -A INPUT -p tcp --dport 53 -j ACCEPT

Come installare e configurare un server DNS


Il servizio DNS (Domain Name System) e' uno dei sistemi piu' importanti per il funzionamento di Internet stessa. Tutte le macchine che fanno parte della rete sono connesse tra di loro e sono in grado di comunicare poiche' ad ognuna di essa e' associato un indirizzo IP univoco. Questi indirizzi sono del tipo 212.25.170.148 ed immaginate quanto sarebbe difficile ricordare il nome di un sito in questo modo, tralasciando il fatto che poi ogni dominio puo' aver associato piu' di un indirizzo IP. www.google.it e' 209.85.229.103, ma anche 209.85.229.104, 209.85.229.105, 209.85.229.106 e 209.85.229.147. Il DNS consente di poter utilizzare nomi mnemonici (di gran lunga piu' facili da gestire) occupandosi quindi della conversione da nome macchina ad indirizzo IP. Per incrementare la visibilita' (in caso quindi in cui un dns non funzionasse correttamente) ogni sito puo' disporre di 3,4, o piu' DNS distinti ognuno situato in localita' geografiche differenti. Ogni sito deve avere almeno 2 DNS. La classica configurazione e' quella che prevede l'utilizzo di un DNS Master (primario) ed un DNS Slave (secondario). I termini "Master/primario" e "Slave/secondario" non stanno ad indicare la priorita' con il quale vengono interrogati, entrambi forniscono risposte autorevoli ed accettano le richieste con ordine casuale. Il dns master ha le informazioni relative ad un dominio scritte su file locali ed aggiorna quelle degli slave ogni qualvolta viene effettuata una modifica (ad esempio se viene creato un terzo livello del tipo segreteria.lucaercoli.it) oppure quando scade il tempo di vita (chiamato TTL) della zona. Possono coesistere piu' master ma ogni volta che viene editata una zona (ad esempio per modificare l'indirizzo ip del record www di un sito), dovra' essere modificata manualmente anche la zona presente sugli altri master (gli slave di aggiorneranno automaticamente). Possono esserci comunque molte configurazioni difatti i DNS possono essere di 5 tipi: - Master; - Slave; - Caching (Ottengono informazioni dai DNS autorevoli, quindi master e slave, memorizzando le informazioni localmente fino allo scadere del TTL. Nel frattempo se ricevono altre query per uno stesso sito, in risposta vengono comunicati i dati presenti in cache); -Forwarding (Sistemi che "smistano" le query ad un altro DNS, mantenendo in cache i risultati); - Stealth (Particolari name server il cui nome non viene visualizzato pubblicamente, utilizzati ad esempio per risolvere i nomi delle macchine interne di una societa' ed evitare che possano essere comunicati all'esterno); Vediamo adesso come installare e configurare il due server DNS BIND, uno master e l'altro slave. Nell'esempio verranno utilizzate le distribuzioni linux debian e centos: Debian Linux Tutti i comandi (se non diversamente specificato) dovranno essere processati sia sul server master che sullo slave. Installiamo il servizio con apt-get install bind9 bind9-host dnsutils

N.B. Basterebbe installare bind9 e bind9-host ma in dnsutils ci sono una serie di pacchetti che ci serviranno per fare dei test post installazione Aggiungere la direttiva recursion no; nel gruppo "options" presente nel file /etc/bind/named.conf.options Creiamo la directory che conterra tutte le zone per cui il nostro dns sara' autorevole mkdir /var/named Configurazione per il Master in /etc/bind/named.conf.local zone "lucaercoli.it" { type master; file "/var/named/lucaercoli.it.named"; allow-transfer {212.25.170.147;}; allow-update {212.25.170.147;}; }; N.B. Assegniate alla zona e al persorso del "file" quello del vostro sito e cambiate l'indirizzo ip 212.25.170.147 con quello del vostro server slave per consentire l'aggiornamento della zona quando viene modificata quella sul master in /var/named/lucaercoli.it.named $TTL 30m @ IN SOA dns.lucaercoli.it. dns2.lucaercoli.it. ( 2009100200 ;Serial 86400 ;refresh 7200 ;retry 2592000 ;expire 86400 ) ;minimum IN NS dns.lucaercoli.it. IN NS dns2.lucaercoli.it. IN MX 10 mail ;in house subnet www IN A 212.25.170.148 ftp IN CNAME www mail IN A 212.25.170.148 dns dns2 IN A 212.25.170.146 IN A 212.25.170.147

N.B. Modificate l'indirizzo ip impostando quello del vostro sito e cambiando ovviamente il nome/ip dei due dns. Fate attenzione ad indentare corrattamente il file. Gli spazi sono importanti difatti

bind potrebbe non leggere correttamente la zona. Dare quindi almeno uno spazio ad inizio riga di "IN NS" Riavviare il servizio /etc/init.d/bind9 restart Configurazione per il server Slave: in /etc/bind/named.conf.local zone "lucaercoli.it" { type slave; file "/var/named/lucaercoli.it.named"; masters { 212.25.170.146; }; }; N.B. Cambiate l'indirizzo ip 212.25.170.146 con quello del vostro server master e assegnate sia al nome della zona che al "file" quella associata al vostro sito Riavviare il servizio /etc/init.d/bind9 restart CentOS GNU/Linux Tutti i comandi (se non diversamente specificato) dovranno essere processati sia sul server master che sullo slave. Installiamo il servizio con yum install bind bind-libs bind-chroot bind-utils Creiamo il file /var/named/chroot/etc/named.conf con questo contenuto options { directory "/var/named"; pid-file "/var/run/named/named.pid"; recursion no; listen-on { 127.0.0.1; 212.25.170.148; }; }; N.B. In "listen-on" impostate l'indirizzo ip su cui il dns deve rispondere. Configurazione per il Master in /var/named/chroot/etc/named.conf aggiungere

zone "lucaercoli.it" IN { type master; file "data/lucaercoli.it.named"; allow-transfer {212.25.170.147;}; allow-update {212.25.170.147;};}; N.B. Assegniate alla zona e al persorso del file quello del vostro sito e cambiate l'indirizzo ip 212.25.170.147 con quello del vostro server slave per consentire l'aggiornamento della zona quando viene modificata quella sul master in /var/named/chroot/var/named/data/lucaercoli.it.named $TTL 30m @ IN SOA dns.lucaercoli.it. dns2.lucaercoli.it. ( 2009100200 ;Serial 86400 ;refresh 7200 ;retry 2592000 ;expire 86400 ) ;minimum IN NS dns.lucaercoli.it. IN NS dns2.lucaercoli.it. IN MX 10 mail ;in house subnet www IN A 212.25.170.148 ftp IN CNAME www mail IN A 212.25.170.148 dns dns2 IN A 212.25.170.146 IN A 212.25.170.147

N.B. Modificate lindirizzo ip impostando quello del vostro sito e cambiando ovviamente il nome/ip dei due
dns. Fate attenzione ad indentare corrattamente il file. Gli spazi sono importanti difatti bind potrebbe non leggere correttamente la zona. Dare quindi almeno uno spazio ad inizio riga di "IN NS"

Riavviare il servizio /etc/init.d/named restart Configurazione per lo Slave in /var/named/chroot/etc/named.conf aggiungere zone lucaercoli.it { type slave; file "data/lucaercoli.it.named"; masters { 212.25.170.146; }; };

N.B. Cambiate lindirizzo ip 212.25.170.146 con quello del vostro server master e assegnate sia al nome della zona che al file quella associata al vostro sito Riavviare il servizio /etc/init.d/named restart

Lista DNS dei Principali Provider Italiani


__Alice__ DNS Primario: 212.216.112.112 DNS Secondario: 212.216.172.62 __Alice Home__ DNS Primario: 85.37.17.7 DNS Secondario: 85.38.28.95 __Alice Home (Senza Funzione autosearch)__ DNS Primario: 62.211.69.170 DNS Secondario: 212.48.4.30 __Alice Business__ DNS Primario: 85.37.17.40 DNS Primario: 195.99.125.2 DNS Secondario: 195.99.125.3 __Tin__ DNS Primario: 194.243.154.62 DNS Secondario: 195.31.190.31 __Infostrada/Libero__ DNS Primario: 193.70.192.25 DNS Secondario: 193.70.152.25 __Fastweb__ DNS Primario: 213.140.2.12 DNS Secondario: 213.140.2.21 __Teletu__ DNS Primario: 208.67.222.222 DNS Secondario: 208.67.220.220 __Teletu__ DNS Primario: 208.67.222.222 DNS Secondario: 208.67.220.220 __Teletu Family Shield (Filtro Protezione Famiglia)__ DNS Primario: 208.67.222.123 DNS Secondario: 208.67.220.123

__Google DNS__ DNS Primario: 8.8.8.8 DNS Secondario: 8.8.4.4

Scheda di rete con DNS primario e secondario


Impostare un IP fisso. Su protocollo Internet versione 4 (tcp/ipv4) selezionare e cliccare su propriet, spunta su Utilizza il seguente indirizzo ip e inserire l'Indirizzo ip del pc, esempio: pc fisso 192.168.1.2 poi cliccare su subnet mask che sempre 255.255.255.0 poi in gateway predefinito mettere l'indirizzo del router 192.168.1.1 (metti il tuo) poi sotto spunta Utilizza i seguenti indirizzi server DNS mettere i dns primari e secondari del provider della adsl se ha alice mettere questi: dns primario: 212.216.112.112 dns secondario: 212.216.176.62 cliccare su ok e poi ancora ok adesso la scheda di rete configurata.

Lista Tipi di record DNS


Ad un nome DNS possono corrispondere diversi tipi di informazioni. Per questo motivo, esistono diversi tipi di record DNS. Ogni voce del database DNS deve essere caratterizzata da un tipo. I principali tipi sono:

Record A - Indica la corrispondenza tra un nome ed uno (o pi) indirizzi IP (per la precisione indirizzi IPv4, ovvero la versione attualmente in uso). Record MX - (Mail eXchange) indica a quali server debba essere inviata la posta elettronica per un certo dominio. Record CNAME - Sono usati per creare un alias, ovvero per fare in modo che lo stesso host sia noto con pi nomi. Uno degli utilizzi di questo tipo di record consiste nell'attribuire ad un host che offre pi servizi un nome per ciascun servizio. In questo modo, i servizi possono poi essere spostati su altri host senza dover riconfigurare i client, ma modificando solo il DNS. Record PTR - Il DNS viene utilizzato anche per realizzare la risoluzione inversa, ovvero per far corrispondere ad un indirizzo IP il corrispondente nome di

dominio. Per questo si usano i record di tipo "PTR" (e una apposita zona dello spazio dei nomi in-addr.arpa). Record AAAA - come il Record A ma lavora con l'IPv6 e restituisce un indirizzo IPv6. Record SRV - Identificano il server per un determinato servizio all'interno di un dominio. Possono essere considerati una generalizzazione dei record MX. Record TXT - Associano campi di testo arbitrari ad un dominio. Questi campi possono contenere una descrizione informativa oppure essere utilizzati per realizzare servizi.

Vi sono anche tipi di record "di servizio", necessari al funzionamento del database distribuito:

Record NS - Utilizzato per indicare quali siano i server DNS autorevoli per un certo dominio, ovvero per delegarne la gestione. Record SOA - (Start of Authority) usato per la gestione delle zone DNS.

Nel DNS possono essere immessi altri tipi di record, alcuni folcloristici, come "LOC", usato (poco) per riportare le coordinate geografiche di un sito, altri aggiungono funzioni di sicurezza per evitare manomissioni. Per avere riferimenti su tutti questi record vedi Tipi di record DNS.

Domini, hosting e DNS


Ci sono diversi casi in cui un dominio viene registrato presso un fornitore mentre lhosting (o un altro servizio) altrove; i casi pi comuni che mi vengono in mente sono i blog su Blogger e i Tumblr che desiderano utilizzare un proprio nome a dominio mantenendo la comodit di una piattaforma pubblica, oppure quando il dominio di primo livello che avete scelto non gestito dallhoster: un caso molto comune sono i domini .it su un provider statunitense. In questultimo caso, poich non sono supportati i .it, necessario registrare il dominio altrove e poi intervenire sul DNS in modo da puntare il dominio sui server corretti. Tanto per fare chiarezza sui termini: il registrar lentit presso la quale avete registrato e pagato il nome a dominio, lhoster il fornitore di servizi che vi fornisce i server (o parti di essi) sui quali girano i servizi legati al dominio. Di solito coincidono, ma quando non cos necessario intervenire sui DNS. Gestire le funzioni di base di un DNS non difficile, ma presuppone la conoscenza di alcuni concetti che vanno capiti prima di effettuare modifiche; normalmente difficile fare danni irreparabili, ma se si fanno pasticci si rischia di rendere irraggiungibile il proprio sito per diverse ore. Il tutto reso ancora pi scomodo dal tempo di propagazione: prima che le modifiche vengano recepite da tutto internet necessario attendere alcune ore, in certi casi anche 24/36. Ciascun registrar, lentit presso la quale avete comprato il nome a dominio, gestisce uno o pi server DNS. Questi server usano un database nel quale ai nomi a dominio (detti anche zone) sono associati diversi record; quelli ai quali siamo interessati sono i record NS, A, CNAME e MX. (Ce ne sono molti altri, ma per i nostri scopi basta gestire questi). Una zona (dominio) comprende uno o pi host che erogano i servizi. (In realt quello che viene chiamato database un semplice file di testo che contiene le diverse righe dei record).

La modifica dei record si fa generalmente tramite il pannello di controllo del registrar, con modalit che cambiano di volta in volta, ma in genere si tratta di interfacce abbastanza intuitive. Uno dei record pi importanti con il quale si ha a che fare NS. Esso stabilisce chi sono i server DNS per la zona; viene indicato nella forma:
NS nome.delserver.com.

Si possono specificare piu DNS per una singola zona, ma non possibile sapere quale sar usato dai resolver: dipende dallimplementazione del resolver stesso, quindi tutti vanno tenuti aggiornati. In alcuni casi, la modifica di questo record tutto quello che ci serve. Facciamo un esempio abbastanza comune: un dominio .it registrato in Italia e hostato presso un provider statunitense, per esempio Dreamhost. Una volta che il pannello di DH pronto per accogliere il dominio, sufficiente modificare i record NS sul registrar in modo che puntino ai DNS americani. In questo modo, la registrazione rimane in Italia, tutto il resto passa a Dreamhost, che diventa responsabile pubblicamente per tutti gli host di quel dominio. Modificando NS, la palla passa a DH che gi pronto per ospitare il nuovo dominio nei suoi DNS; tempo della propagazione e tutto funzioner alla perfezione. State attenti: il nome del server va scritto con il punto in fondo, per indicare che proprio quello e non un host di quel dominio. Se manca il punto il record verr interpretato come nome.delserver.com.miodominio.it, e non funzioner pi nulla. Nel caso non si dovesse e/o potesse modificare il nameserver necessario intervenire su altri tipi di record. E il caso, per esempio, di Tumbr associato a un proprio dominio. Tumblr non fornisce server DNS, quindi dovr modificare un record A. Un record A traduce un nome host in un indirizzo IP:
nome IN A 12.34.56.78

dato che la zona quella del dominio miodominio.it, la riga qui sopra dice che lhost nome.miodominio.it risponde allindirizzo 12.34.56.78. Se la riga fosse:
tumblr IN A 72.32.231.8

avremmo appena creato un dominio di terzo livello tumblr.miodominio.it che punta ai server di Tumblr, dove il nostro tlog, opportunamente configurato, pronto per servire le pagine. Potete trovare maggiori informazioni in un altro mio post. E possibile assegnare pi indirizzi IP allo stesso host; essi verranno restituiti come risultato della query DNS e sta al resolver del client decidere quale usare. E un meccanismo che talvolta viene utilizzato per ottenere un rozzo bilanciamento di carico tra server distinti. Spesso un singolo server ospita diversi servizi, accessibili con un nome diverso. Il caso pi comune il seguente:
www IN A ftp IN A 12.34.56.78 12.34.56.78

In questo caso il singolo host risponder sia su www.miodominio.it che su ftp.miodominio.it. C un altro modo di ottenere questo risultato, e questo ci introduce alluso di un altro tipo di record: CNAME. Questo tipo di record permette, usando le parole di Wikipedia, di collegare un nome DNS ad un altro. La risoluzione continuer con il nuovo nome indicato dal record CNAME. Questa funzione molto utile quando, per esempio, sullo stesso server sono disponibili pi servizi come FTP, HTTP ecc operanti su porte differenti. Ciascun servizio potr avere il suo riferimento DNS (ad esempio ftp.example.com. e www.example.com.. Lesempio qui sopra potr quindi essere configurato anche cos:
www IN A ftp IN CNAME 12.34.56.78 www.miodominio.it.

Attenzione, sempre, al punto finale quando si scrive un nome FQDN completo. In questo caso il server DNS restituir al client che richiede ftp.miodominio.it non un indirizzo IP, ma un altro nome (www.miodominio.it); verr quindi effettuata una seconda query, dalla quale otterremo finalmente lindirizzo desiderato. Si dice che ftp.miodominio.it un alias di www.miodominio.it. Utilizzando i record descritti fin qui si possono gestire la quasi totalit delle configurazioni dove il registrar separato dallhosting. Per completezza vediamo lultimo record, MX. Il record MX molto importante per il recapito della posta perch contiene il nome del server deputato a ricevere messaggi quel particolare dominio. E fatto cos:
MX MX 10 20 posta.miodominio.it. mail.provider.com.

In questo esempio il dominio ha due mail server. Il primo, pi importante, quello con il campo priorit pi basso (10) ed il primo che verr contattato. Se esso non risponde si passa allaltro (se c) che fa da backup e si incaricher di inoltrare i messaggi al server principale non appena esso torner online; impostando due priorit uguali si pu ottenere una specie di bilanciamento di carico. Maggiori informazioni sul recapito della posta, il protocollo SMTP e una breve prova pratica li trovate in un mio vecchio post. La modifica del record MX necessaria, per esempio, nel caso si utilizzi Gmail per per proprio dominio; un servizio fantastico ed gratuito fino a 50 utenti. In pratica Google vi regala una Gmail personalizzata per il vostro dominio, insieme a calendario, contatti condivisi, Google Docs e Google Site. Vi ricordo che le modifiche hanno bisogno di 24/36 ore per essere propagate a tutto il mondo: una volta cambiati i parametri sul pannello, il server DNS aggiorna (di solito automaticamente) il serial number del record SOA, che serve per sapere se i dati sono stati modificati e quindi aggiornati su tutto il sistema DNS mondiale. (Alcuni aspetti sono stati volutamente semplificati: una trattazione rigorosa richiede tempo e sarebbe comunque inutile, vista la quantit di materiale reperibile in rete al riguardo.)

Potrebbero piacerti anche