Tabla de Contenidos
3.1.3 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.
Antes 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.