Practica 1.- Servidor DNS

aa
Para la práctica, supondremos los siguientes parámetros:

Linux

Instalación

# sudo apt-get update (necesario la primera vez para actualizar paqueterio)
# sudo apt-get install bind9

Configuración

Crear o modificar los ficheros correspondientes y reiniciar el servicio con
# sudo /etc/init.d/bind9 restart

DNS del propio servidor

El fichero /etc/resolv.conf debe apuntar A LA PROPIA MAQUINA SERVIDORA:

nameserver 127.0.0.1
domain a28.local

Servidor cache y forward
El fichero /etc/bind/named.conf.options indica que se deben guardar las direcciones ya resueltas para su uso posterior y a quién preguntar si no se sabe resolver cualquier dirección: 

options {
    directory "/var/cache/bind";
    forwarders {
        192.168.0.254;
    };
    auth-nxdomain no;
    listen-on-v6 { any; };
};

Servidor DNS maestro
Cuidado con los espacios, los . al final de cada equipo y la sintaxis en general

/etc/bind/named.conf.local
zone "aula.local"{
    type master;
    file "/etc/bind/directo";
};
zone "0.16.172.in-addr.arpa"{
    type master;
    file "/etc/bind/inverso";
};

/etc/bind/directo   
a28.local. IN SOA ubuntu.a28.local. jestepa.soria.uned.es. (
    1    10800    1800    604800    86400
)
a28.local.    IN    NS   ubuntu.a28.local.
ubuntu    IN    A    172.16.0.150
xp    IN    A    172.16.0.50
www    IN    CNAME ubuntu.a28.local.

/etc/bind/inverso
@ IN SOA ubuntu.a28.local. jestepa.soria.uned.es. (
    1    86400    3600    604800    86400;
)
IN    NS    ubuntu.a28.local.
150    IN    PTR   ubuntu.a28.local.
50    IN    PTR   xp.a28.local.

Delegación de dominio: Servidor secundario = esclavo

Ejemplo de los ficheros de configuración de la práctica realizada en el curso 2011-2012 en el aula de hostelería

FERMIN

/etc/resolv.conf   
nameserver 192.168.0.254
domain lamerced.local  

/etc/bind/named.conf.options       
options {
directory "/var/cache/bind";
forwarders {
    192.168.1.1;
};
auth-nxdomain no;
listen-on-v6 { any; };
};

/etc/bind/named.conf.local
zone "lamerced.local"{
    type master;
    file "/etc/bind/directo";
};
zone "0.168.192.in-addr.arpa"{
    type master;
    file "/etc/bind/inverso";
};
zone "fila1.lamerced.local"{
    type slave;
    file "/etc/bind/fila1directo";
    masters{
        192.168.0.2;
    };
};
zone "11.168.192.in-addr.arpa"{
    type slave;
    file "/etc/bind/fila1inverso";
    masters{
        192.168.0.2;
    };
};    zone "fila2.lamerced.local"{
    type slave;
    file "/etc/bind/fila2directo";
    masters{
        192.168.0.6;
    };
};
zone "22.168.192.in-addr.arpa"{
    type slave;
    file "/etc/bind/fila2inverso";
    masters{
        192.168.0.6;
    };
};

/etc/bind/directo   
lamerced.local.    IN    SOA    fermin.lamerced.local. jestepa.soria.uned.es. (1 10800 1800 604800 86400)
; Servidor del dominio
lamerced.local.    IN    NS    fermin.lamerced.local.
; Equipos del dominio
fermin    IN    A    192.168.0.254
ubuntu1    IN    A    192.168.0.2
w20081    IN    A    192.168.0.3
ubuntu2    IN    A    192.168.0.6
w20082    IN    A    192.168.0.7
www    IN    CNAME fermin.lamerced.local.
router    IN    A    192.168.1.1   

/etc/bind/inverso
@ IN SOA fermin.lamerced.local. jestepa.soria.uned.es. (1 86400 3600 604800 86400)
IN    NS    fermin.lamerced.local.
254    IN    PTR    fermin.lamerced.local.
2    IN    PTR    ubuntu1.lamerced.local.
3    IN    PTR    w20081.lamerced.local.
6    IN    PTR    ubuntu2.lamerced.local.
7    IN    PTR    w20082.lamerced.local.

UBUNTU1 (similar en ubuntu2, cambiando 11 por 22, fila1 por fila2, ...)

/etc/resolv.conf       
nameserver 192.168.11.2
domain fila1.lamerced.local

/etc/bind/named.conf.options
options {
directory "/var/cache/bind";
forwarders {
    192.168.0.254;
};
auth-nxdomain no;
listen-on-v6 { any; };
};   

/etc/bind/named.conf.local
zone "fila1.lamerced.local"{
    type master;
    file "/etc/bind/directo";
    allow-transfer{
        192.168.0.254 ;
    } ;
};
zone "11.168.192.in-addr.arpa"{
    type master;
    file "/etc/bind/inverso";
    allow-transfer{
        192.168.0.254 ;
    } ;
};

/etc/bind/directo   
@ IN SOA ubuntu1.fila1.lamerced.local. jestepa.soria.uned.es. (
     1 ; Numero version
     10800 ; Actualizar cada 3 horas
    1800; Reintentar cada 30 minutos
    604800 ; Caduca a la semana
    86400 ; TTL cache diario
)
    IN    NS    ubuntu1.fila1.lamerced.local.
localhost IN    A    127.0.0.1
cliente1    IN    A    192.168.11.1
ubuntu1 IN    A    192.168.11.2
w20081     IN    A    192.168.11.3
cliente4     IN    A    192.168.11.4
www     IN    CNAME ubuntu1   

/etc/bind/inverso
@ IN SOA ubuntu1.fila1.lamerced.local. jestepa.soria.uned.es. (
    1    ; Version
    86400    ; Actualizar cada 24 horas
    3600    ; Reintenta a los 60’
    604800    ; Caducidad semanal
    86400    ; TTL diario
)
    IN    NS    ubuntu1.fila1.lamerced.local.
1    IN    PTR    cliente1.fila1.lamerced.local.
2    IN    PTR    ubuntu1.fila1.lamerced.local.
3    IN    PTR    w20081.fila1.lamerced.local.
4    IN    PTR    cliente4.fila1.lamerced.local.


Reiniciar (sudo /etc/init.d/bind9 restart) y probar el funcionamiento con

•    $ host ubuntu1.fila1.lamerced.local (devuelve la IP). Probar TODOS los equipos
•    $ host 172.16.0.50 (devuelve el nombre de esa IP). Probar TODAS las IP
 

Windows Server

Instalar un nuevo servidor DNS es simple: se procede de a llamar al asistente
Inicio-Herramientas Administrativas-Administrador Servidor-Funciones (botón derecho)-Agregar-Servidor DNS

Eligiendo las opciones avanzadas para que no cree ninguna zona y podamos hacerlo manualmente.

Configuración del Servidor DNS

Es preciso lanzar el servidor DNS, para lo cual accederemos a
Inicio-Herramientas Administrativas-DNS

A continuación vamos a definir una nueva zona de búsqueda directa, para lo cual pulsamos sobre el icono "+" mostrado junto al nombre del servidor mostrándose las zonas existentes; nos ubicamos sobre la carpeta "Zonas de búsqueda directa" y pulsaremos sobre ella con el botón derecho del ratón, seleccionando la opción "Zona nueva..." y arrancará un asistente en el que iremos eligiendo las sigientes opciones:
El fichero donde se almacena la configuración es c:/Windows/System32/dns/fila1.local.dns

Posteriormente definiremos una nueva zona de búsqueda inversa pulsando con el botón derecho del ratón sobre la carpeta correspondiente y seleccionando la opción "Zona nueva...". y de nuevo se abrirá un asistente en el que, consecutivamente iremos eligiendo las siguientes opciones:
Tras completarse la instalación de la nueva zona de búsqueda inversa, observaremos en la ventana de administración del servidor DNS, que la nueva zona ya ha sido creada convenientemente. Así mismo, en dicha ventana observaremos que ya existe una entrada que ha sido incluida automáticamente en nuestro servidor DNS, concretamente una resolución "w2008" en la zona de búsqueda directa "fila1.local"; esta resolución es la correspondiente al nombre que le hemos asignado a nuestro servidor Windows 2008.

Para finalizar la configuración de nuestro servidor DNS, hemos de indicarle que cuando las estaciones de trabajo intenten resolver URLs que no pertenezcan a la red local (y que por tanto no sea capaz a resolver nuestro servidor DNS), reenvíe dichas peticiones a otros servidores DNS (que estén en Internet) que sí puedan resolverlas. Para ello nos ubicamos sobre el nombre de nuestro servidor DNS ("w2008"), pulsamos con el botón derecho del ratón, y seleccionamos la opción "Propiedades".

En la ventana que nos aparece a continuación, seleccionamos la pestaña "Reenviadores", y agregamos las direcciones IP de los servidores DNS que nuestro Proveedor de Servicios de Internet (ISP) nos haya asignado o las de cualquier servidor DNS existente en Internet; en este caso indicando "195.55.30.16" y "194.179.1.101" pertenecientes a servidores DNS públicos. A pesar de todo, este proceso no es necesario porque, al ser el servidor DNS único y primario reenvía sus peticiones a los DNS raiz que vienen configurados por defecto.

A partir de este momento ya tenemos configurado adecuadamente nuestro servidor DNS. Si hay active directory, a medida que vayamos integrando equipos en el dominio "fila1.local", de forma automática dichas entradas se reflejarán en nuestro servidor DNS. Si no es así, podemos añadir de forma manual tanto equipos en la resolucion directa como inversa.

Podemos probar el funcionamiento del servidor DNS desde la línea de comandos del servidor y haciendo ping a alguno de los equipos dados de alta

El ping está, por defecto, deshabilitado. Para activar:

Herramientas administrativas – Firewall – Reglas entrada – Archivos e impresoras ICMPv4 - Habilitar