Volver a DNS

Servidor DNS Local

Objetivo

Aunque se pueda atribuir nombres a los diversos sistemas de una red, estos no consiguen reconocerse entre sí sin un sistema de resolución de nombres. Para que un sistema consiga localizar la dirección IP asociada al nombre de otro sistema, es necesario que éste esté registrado en un servidor DNS, para permitir la resolución de nombres.

AtenciónAntes de instalar el servidor DNS, la Cache DNS debe estar previamente configurada y verificada.

Instalación

root@server:~# apt-get install bind9 bind9-doc dnsutils

Configuración

La resolución de nombres traduce nombres de sistemas en sus direcciones IP y viceversa. Así, la configuración consiste, básicamente en la creación de 2 zonas, una (zone “home.lan”) que convierte nombres en direcciones IP y otra (zone “1.168.192.in-addr.arpa”) que convierte direcciones IP en el respectivo nombre de sistema.

Zonas

Las zonas pueden declararse en el archivo /etc/bind/named.conf.local:

/etc/bind/named.conf.local
//
// Do any local configuration here
//

zone "home.lan" {
    type master;
    file "/etc/bind/db.home.lan";
};

zone "1.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/db.1.168.192";
};

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

Verificar que el archivo de configuración no contiene errores:

root@server:~# named-checkconf
root@server:~#

Resolución de nombres

La resolución de nombres convierte los nombres de los sistemas en sus correspondientes direcciones IP. Para una zona “home.lan”, los nombres “server”, “virtual”, “ns” y “router” son asociados a sus respectivas direcciones. La base de datos para la resolución de nombres en la zona home.lan está guardada en el archivo /etc/bind/db.home.lan:

/etc/bind/db.home.lan
;
; BIND zone file for home.lan
;

$TTL    3D
@       IN      SOA     ns.home.lan.    root.home.lan. (
                        2013050601      ; serial
                        8H              ; refresh
                        2H              ; retry
                        4W              ; expire
                        1D )            ; minimum
;
                NS      ns              ; Inet address of name server
                MX      10 mail         ; Primary mail exchanger

ns              A       192.168.1.100
mail            A       192.168.1.100

home.lan.       A       192.168.1.100
server          A       192.168.1.100

virtual         A       192.168.1.101

router          A       192.168.1.1     ; router ADSL
gateway         CNAME   router
gw              CNAME   router

El protocolo DNS permite también la creación de aliases, o canonical names, identificados por el tipo de registro CNAME. Un alias es un nombre alternativo de un sistema.

Al final del archivo podrán declararse algunos aliases: donde: el sistema “server” pasará también a ser conocido (CNAME o canonical name) como “proxy” y el servidor “virtual” responderá también por los nombres “www” y “ftp”:

/etc/bind/db.home.lan
// [...]
proxy           CNAME   server
www             CNAME   virtual
ftp             CNAME   virtual
// [...]

Verificar que el fichero de configuración de la zona home.lan no contenga errores:

root@server:~# named-checkzone home.lan /etc/bind/db.home.lan
zone home.lan/IN: loaded serial 2013050601
OK

Resolución Inversa

La resolución inversa traduce las direcciones IP en los nombres correspondientes de los sistemas.

La resolución inversa puede configurarse en el archivo /etc/bind/db.1.168.192:

/etc/bind/db.1.168.192
;
; BIND zone file for 192.168.1.xxx
;

$TTL    3D
@       IN      SOA     ns.home.lan.    root.home.lan. (
                        2013050601      ; serial
                        8H              ; refresh
                        2H              ; retry
                        4W              ; expire
                        1D )            ; minimum
;
                NS      ns.home.lan.    ; Nameserver address

100             PTR     server.home.lan.
100             PTR     ns.home.lan.
100             PTR     mail.home.lan.
101             PTR     virtual.home.lan.
1               PTR     router.home.lan.

Verificar que el archivo de configuración de la zona 1.168.192.in-addr.arpa no contenga errores:

root@server:~#  named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.1.168.192
zone 1.168.192.in-addr.arpa/IN: loaded serial 2013050601
OK

Reiniciar el servicio:

root@server:~# service bind9 restart

Añadir el dominio home.lan en el archivo /etc/resolv.conf:

/etc/resolv.conf
# [...]
domain home.lan
search home.lan
nameserver 127.0.0.1
# [...]

De esta forma, cuando nos referimos al sistema “server”, éste será buscado en el dominio “home.lan”, resultando en el nombre “server. home. lan”.

Verificación

Para verificar la resolución de nombres:

root@server:~# nslookup server
Server:         127.0.0.1
Address:        127.0.0.1#53
 
Name:   server.home.lan
Address: 192.168.1.100

Verificar que los aliases también sean resueltos:

root@server:~# nslookup gateway
Server:         127.0.0.1
Address:        127.0.0.1#53
 
gateway.home.lan        canonical name = router.home.lan.
Name:   router.home.lan
Address: 192.168.1.1

Para concluir con esta sección, verificar la resolución inversa:

root@server:~# nslookup 192.168.1.101
Server:         127.0.0.1
Address:        127.0.0.1#53
 
101.1.168.192.in-addr.arpa    name = virtual.home.lan.

Referencias