BIENVENIDO AL CONOCIMIENTO


bind.jpg

La utilización de un servidor DNS local tiene ciertas ventajas:

  • Agilizar el acceso a Internet: Al tener un servidor de nombres en nuestra propia red local (que acceda al DNS de nuestro proveedor o directamente a los root servers) se agiliza el mecanismo de resolución de nombres, manteniendo en caché los nombres recientemente usados en la red y disminuyendo el tráfico hacia/desde Internet.
  • Simplificar la administración de la red local: Al contar con un DNS propio es posible definir zonas locales (no válidas ni accesibles desde Internet) para asignar nombres a cada uno de los ordenadores de la red. De esta forma es posible, por ejemplo, referirnos al servidor web como “www.aulaesi.com” en vez de “192.168.1.1″ y a nuestra impresora de red como “impresora.aulaesi.com” en vez “192.168.1.141″. (Pensemos, por ejemplo, que ocurriría con las configuraciones de las aplicaciones si un día decidimos cambiar el esquema de direcciones IP de nuestra red.)

El dominio que hemos creado lo hemos llamado aulaESI.com, y la máquina que hace de servidor de nombres, cuyo nombre es servidor y tiene IP 192.168.1.1, hace también la función de servidor web. De esta manera, desde cualquier ordenador del aula podemos poner http://www.aulaesi.com en el navegador para que aparezca la página web almacenada en el servidor.

En el aula hay también un servidor ftp, cuyo nombre es servidor2 y tiene dirección IP 192.168.1.2. El resto de los ordenadores del aula, que hemos llamado pc03, pc04, pc05, pc06…., tienen las direcciones IP que se muestran en la siguiente imagen.

Image Hosted by ImageShack.us

Para montar el servidor DNS hemos utilizado una máquina con Ubuntu Gutsy 7.10 y el paquete BIND. BIND (Berkeley Internet Name Domain, anteriormente : Berkeley Internet Name Daemon) es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un standard de facto. Fue creado originalmente en la Universidad de California, y actualmente propiedad del Internet Systems Consortium.

Instalación de BIND

Para instalar BIND simplemente abrimos la consola (Aplicaciones/Accessorios/Terminal) y escribimos el siguiente comando:

  • sudo apt-get install bind9

Configuración de los archivos de BIND

Los archivos de configuración que tendremos que modificar en el servidor DNS son los siguientes:

  • /etc/bind/named.conf
  • /etc/bind/named.conf.options
  • /etc/bind/named.conf.local
  • /etc/bind/db.aulaESI.com
  • /etc/bind/db.192.168.1

En el resto de ordenadores de la red, sólo habrá que modificar el archivo /etc/resolv.conf.

El archivo named.conf en realidad no es necesario que lo modifiquemos. Este archivo almacena la configuración de las diferentes zonas generadas por defecto en el momento de la instalación.

Para modificar el archivo /etc/bind/named.conf.local podemos utilizar cualquier editor de textos, como gedit o vi. Para crear este fichero con gedit abriremos el terminal y escribiremos:

  • sudo gedit /etc/bind/named.conf.local

Una vez abierto tendremos que poner lo siguiente (lo que hay tras el carácter # son comentarios).

#Esta es la definición de la zona. Cambia aulaESI.com por tu nombre de dominio
zone “aulaESI.com” {
type master;
file “/etc/bind/db.aulaESI.com”;
};

#Aquí definimos la zona de resolución inversa. Cambia 1.168.192 por la dirección de tu red
zone “1.168.192.in-addr.arpa” {
type master;
file “/etc/bind/db.192.168.1″;
};

A continuación modificamos el fichero /etc/bind/named.conf.options. En este fichero especificaremos aquellos servidores DNS de Internet que resolverán los nombres de dominio que nuestro servidor DNS local no pueda resolver. Será necesario especificarlos para que los ordenadores de nuestra red salgan a Internet.

options {
directory “/var/cache/bind”;

forwarders {
80.58.0.33;
62.42.230.24;
};

};

Tendremos que cambiar las IP 80.58.0.33 y 62.42.230.24 por los servidores DNS de nuestro ISP. Los servidores DNS de ONO son: 62.42.230.24 y 62.42.63.52. Los servidores DNS de telefónica son: 80.58.61.250 y 80.58.61.254, aunque también tienen muchos más (80.58.0.33, 80.58.32.97, etc.)

Después tendremos que crear el fichero de definición de zona /etc/bind/db.aulaESI.com. En este fichero es donde pondremos todos los nombres de máquinas y direcciones IP que conocerá nuestro servidor DNS.

$TTL 604800
//Cambia aulaESI.com por el nombre de tu dominio
//Cambia servidor por el nombre de tu servidor de nombres
aulaESI.com. IN SOA aulaESI.com. servidor.aulaESI.com. (
//Las siguientes líneas no es necesario que las modifiquemos
2006081401
28800
3600
604800
38400)
//Cambia las siguientes líneas si es necesario
//aulaESI.com por el nombre de tu dominio
//servidor por el nombre de tu servidor de nombres
aulaESI.com. IN NS servidor.aulaESI.com.
//Cambia los nombres máquinas y direcciones IP por las de tu red
servidor IN A 192.168.1.1
servidor2 IN A 192.168.1.2
pc03 IN A 192.168.1.3
pc04 IN A 192.168.1.4
pc05 IN A 192.168.1.5
pc05 IN A 192.168.1.6
//Así para el resto de equipos de la red
//Lo siguiente es un alias. Para que desde el navegador podamos poner
//www.aulaESI.com en lugar de servidor.aulaESI.com
www IN CNAME servidor

ftp in CNAME servidor2

A continuación creamos el archivo de zona de resolución inversa /etc/bind/1.168.192 con el siguiente contenido:

//Cambia aulaESI.com por el nombre de tu dominio
//Cambia servidor por el nombre de tu servidor de nombres.
@ IN SOA servidor.aulaESI.com.
(2006081401;
28800;
3600;
604800;
38400)

//Cambia aulaESI.com por el nombre de tu dominio
//Cambia servidor por el nombre de tu servidor de nombres de dominio
//El número que aparece delante de IN PTR es el último octeto de la dirección IP //de la máquina
//192.168.1.1 para servidor, 192.168.1.2 para servidor2, 192.168.1.3 para pc03….
//Cambia las direcciones IP y nombres por los de tu red

IN NS servidor.aulaESI.com.
1 IN PTR servidor.aulaESI.com.
2 IN PTR servidor2.aulaESI.com.
3 IN PTR pc03.aulaESI.com.
4 IN PTR pc04.aulaESI.com.
5 IN PTR pc05.aulaESI.com.
6 IN PTR pc06.aulaESI.com.

Cuando hayamos creado cada uno de los archivos tendremos que reiniciar BIND con el siguiente comando:

  • sudo /etc/init.d/bind9 restart

En cada uno de los ordenadores de la red habrá que modificar el fichero /etc/resolv.conf. Este fichero tendŕa el siguiente contenido:

//Cambia 192.168.1.1 por la IP de tu servidor de nombres
//Cambia aulaESI.com por el nombre de tu dominio
nameserver 192.168.1.1
search aulaESI.com

A partir de la versión 9 de BIND se incluyen dos herramientas software para chequear la sintaxis y semántica de los archivos que describen las zonas y el archivo de configuración principal named.conf. Dichas herramientas son: named-checkzone y named-checkconf.

Una vez configurado el servidor DNS, si se quiere hacer una comprobación sintáctica del archivo de configuración named.conf hay que ejecutar:

  • named-checkconf

La salida muestra los errores que genera. Si no genera salida, está todo correcto.

En el caso de los archivos de zona hay que ejecutar:

  • named-checkzone aulaESI.com /etc/bind/db.aulaESI.com

(cambiando aulaESI.com por el nombre de tu dominio)

Este comando genera la siguiente salida si todo está correcto:

zone aulaESI.com/IN: loaded serial 1 OK

Comprobando el servidor de nombres DNS

Una vez hayamos reiniciado el servidor DNS (sudo /etc/init.d/bind9 restart) debemos comprobar que éste funciona correctamente. Para comprobar que el servidor de nombres resuelve nombres de dominio correctamente podemos utilizar la orden host. La orden host permite hacer búsquedas en el DNS. Se utiliza para convertir nombres en direcciones IP y viceversa.

Algunas de sus opciones son las siguientes:

  • -t <tipo>: indica el tipo de registro a devolver. Puede ser A, ANY, PTR, NS, etcétera.
  • -R <n>: permite modificar el número de intentos que se hacen para obtener la respuesta, ya que por defecto es uno.
  • -l: lista toda la información del dominio.

Para comprobar que nuestro servidor funciona correctamente, ejecutamos la siguiente orden desde cualquier servidor del dominio: host servidor.aulaESI.com (tendrás que cambiar servidor por el nombre de tu servidor y aulaESI.com por el nombre de tu dominio).

dns3.png

Otra de las herramientas de las que disponemos para hacer consultas sobre un servidor DNS es dig (domain information groper). Se utiliza para detectar problemas de configuración en el servidor DNS. Su sintaxis es la siguiente:

dig <@servidor> [opciones] [nombre] [tipo]

donde:

  • @servidor es el nombre o la dirección IP del servidor a consultar.
  • nombre es el nombre de dominio donde se hace la consulta
  • tipo es el tipo de registro por el que se consulta (ANY, NS, SOA…). Si no se indica, se asume A

Un ejemplo del uso de esta orden sería la siguiente:

  • dig aulaESI.com

dns4.png

Comprobando el servidor web

Ya he comentado que en este dominio (aulaESI.com) el servidor DNS también hace también de servidor web. Para que el servidor haga las funciones de servidor web, tendremos que instalar apache. Para ello abrimos el terminal y escribimos:

  • sudo apt-get install apache2

Una vez instalado, creamos un fichero html de prueba en el directorio /var/www. Podemos crear, por ejemplo, un fichero llamado prueba.htm que muestre el texto “Página web de prueba almacenada en el servidor”. Cuando lo hayamos creado, desde cualquier ordenador del dominio abrimos el navegador y escribimos http://www.aulaESI.com/prueba.htm. De esta manera comprobaremos si el servidor DNS funciona correctamente y es capaz de resolver nombres de dominio y además está haciendo las funciones de servidor web.

dns5.png

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: