Monday, February 15, 2010

DNS en Linux - Centos 5

Primero instalamos los paquetes necesarios

yum install bind bind-utils bind-libs bind-chroot caching-nameserver

Para la configuración se supone que contamos con una dirección IP externa y un dominio.

El servidor se instalará bajo la ruta :

/var/named/chroot/

entonces vamos a esa ruta:

cd /var/named/chroot/

editamos el siguiente archivo:

vim /var/named/chroot/etc/named.conf

y agregamos antes de la última línea lo siguiente:

zone "dominio.com.pe." {
        type master;
        file "dominio.com.pe.db";
        allow-update { none; };

};

zone "138.168.192.in-addr.arpa" {
        type master;
        file "reverso.db";
};

El primer bloque representa nuestro dominio y el archivo que lo describirá es : dominio.com.pe.db
Tu debes de reemplazar dominio por tu dominio

El segundo bloque representa la dirección IP externa del registro, pero se encuentra escrita al revés, pues se usará para la resolución inversa. El archivo que lo soportará será reverso.db

El archivo named.conf debería quedar de este modo:

// Red Hat BIND Configuration Tool
// 
// Default initial "Caching Only" name server configuration
//

options {
    directory "/var/named";
        statistics-file "/var/named/data/named_stats.txt";
    /*
     * If there is a firewall between you and nameservers you want
     * to talk to, you might need to uncomment the query-source
     * directive below.  Previous versions of BIND always asked
     * questions using port 53, but BIND 8.1 uses an unprivileged
     * port by default.
     */
     // query-source address * port 53;
};

zone "." IN {
    type hint;
    file "named.root";
};

zone "localdomain." IN {
    type master;
    file "localdomain.zone";
    allow-update { none; };
};

zone "localhost." IN {
    type master;
    file "localhost.zone";
    allow-update { none; };
};

zone "0.0.127.in-addr.arpa." IN {
    type master;
    file "named.local";
    allow-update { none; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa." IN {
        type master;
    file "named.ip6.local";
    allow-update { none; };
};

zone "255.in-addr.arpa." IN {
    type master;
    file "named.broadcast";
    allow-update { none; };
};

zone "0.in-addr.arpa." IN {
    type master;
    file "named.zero";
    allow-update { none; };
};

#Aqui va nuestro configuracion 
zone "dominio.com.pe." {
        type master;
        file "dominio.com.pe.db";
        allow-update { none; };

};

zone "138.168.192.in-addr.arpa" {
        type master;
        file "reverso.db";
};




include "/etc/rndc.key";



Ya que al inicio del archivo named.conf el atributo directory esta seteado como "/var/named" entonces los archivos tendremos que crearlos en /var/named/chroot/var/named

ahí generamos los archivos

Primero :

vim dominio.com.pe.db

y adentro ponemos:
$TTL    86400
@               IN SOA  ns.dominio.com.pe postmaster.dominio.com.pe (
                                42              ; serial (d. adams)
                                3H              ; refresh
                                15M             ; retry
                                1W              ; expiry
                                1D )            ; minimum
                                IN      NS      ns.dominio.com.pe.
                                IN      MX      10      mail.dominio.com.pe.
                                IN      A       192.168.138.129
www                             IN      A       192.168.138.129
proxy                           IN      A       192.168.138.129
ns                              IN      A       192.168.138.129
mail                            IN      CNAME   www.dominio.com.pe.

;EOF

Luego creamos el archivo reverso.db


vim reverso.db

y ponemos lo siguiente:

$TTL    86400
@       IN      SOA     ns.dominio.com.pe. postmaster.dominio.com.pe.  (
                                1997022700 ; Serial
                                28800      ; Refresh
                                14400      ; Retry
                                3600000    ; Expire
                                86400 )    ; Minimum
                                IN      NS      ns.dominio.com.pe.
129                             IN      PTR     dominio.com.pe.
129                             IN      PTR     mail.dominio.com.pe.
129                             IN      PTR     www.dominio.com.pe.
129                             IN      PTR     proxy.dominio.com.pe.
;EOF

la dirección IP de mi dominio es 192.168.138.129, es por esto que los registro empiezan con 129, tu debes reemplazar con tu dirección IP.

en tu archivo /etc/hosts debes tener estar bien descrito tu nombre de maquina.

127.0.0.1               localhost.localdomain localhost
192.168.138.129         mail.dominio.com.pe       mail
::1                     localhost6.localdomain6 localhost6

y el archivo /etc/sysconfig/network
debes tener el mismo nombre de maquina.

NETWORKING=yes
HOSTNAME=mail.dominio.com.pe
GATEWAY=192.168.138.2

ahora el archivo /etc/resolv.conf agregamos:

nameserver 127.0.0.1


Si si hemos modificado el nombre del servidor lo mejor será reiniciarlo.

Ponemos el inicio en automático para los niveles 345

chkconfig --level 345 named on

levantamos el servicio


service named start


y comprobamos con Dig

dig -t mx dominio.com.pe

obtendremos el siguiente resultado:

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> -t mx dominio.com.pe
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28733
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;dominio.com.pe.                  IN      MX

;; ANSWER SECTION:
dominio.com.pe.           86400   IN      MX      10 mail.dominio.com.pe.

;; AUTHORITY SECTION:
dominio.com.pe.           86400   IN      NS      ns.dominio.com.pe.

;; ADDITIONAL SECTION:
ns.dominio.com.pe.        86400   IN      A       192.168.138.129

;; Query time: 4 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Feb 13 18:42:19 2010
;; MSG SIZE  rcvd: 84
también podemos probar haciendo un ping a www.dominio.com.pe ó a ns.dominio.com.pe o a los otros registros. Estos son los archivos que utilicé
  1. dominio.com.pe.db
  2. reverso.db
  3. network
  4. hosts
  5. named.root

No comments: