Aunque esta hecho en debian, todos los pasos que aqui se siguen son validos en cualquier distribución derivada de debian, además, también se pueden adaptar a cualquier otra distribución linux sin mucha complicación.
Configuración basica.
Pasos:
1.- Instalación de Bind9
2.- Configuración
3.- Comprobación del servidor.
En el anterior post ya se explicó la utilidad de un servidor DNS, por lo que ahora vamos a ver cuales son los pasos a seguir para instalar uno en un ordenador con debian instalado.
1.- Instalación
Procedemos a instalar la aplicación con un sencillo comando a través de la consola:
sudo apt-get install bind9
Continua el post pinchando en Leer más...
Si queremos podemos añadir la opción -y en el comando para que si en el proceso de instalación necesitamos responder alguna pregunta de por supuesto que la respuesta sera yes, quedando el comando asi:
sudo apt-get install -y bind9(imagen)
2.- Configuración
El paso anterior es mero tramite, ya que a partir de aquí es donde empieza la verdadera dificultad en el montaje de un servidor dns.
Una vez instalado, entramos en la carpeta que nos crea, situada por defecto en /etc/bind y listamos los archivos con ls.
(imagen)
Como podemos ver en la imagen, al instalar se nos crean unos archivos llamados db.* y named.* que son los que utilizaremos en la configuración.
El fichero named.conf.local sera el que editemos primero, en el se encuentran declaradas las zonas de las cuales esta encargado el servidor, indicando en la sintaxis si el servidor es maestro o delegado, ademas de incluir la ruta del archivo de configuración de esa zona.
Una zona es la porción del espacio de nombres de dominio global de la que esta encargado un servidor concreto. Se llaman, zonas de autoridad.
La forma de definir estas zonas en nuestro servidor es la siguiente:
zone "localhost" {Con esto, indicamos que nos encargaremos de la zona llamada "localhost" (ahí debemos de poner el nombre de nuestro dominio) que somos el servidor maestro y que el fichero se encuentra alojado en la ruta "/etc/bind/db.local"
type master;
file "/etc/bind/db.local";
};
Para este ejemplo los datos seran:
zone "mired.com" {
type master;
file "/etc/bind/db.mired";
};
El siguiente paso es crear el fichero db.mired dentro de la carpeta bind, para no tener que reescribir todo se puede copiar el fichero db.local con el nuevo nombre, asi:
cp db.local db.miredy a partir de este fichero utilizarlo de plantilla para crear nuestro fichero personalizado.
Veamos de que partes consta este fichero.
$TTL 604800
@ IN SOA localhost. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
@ IN A 127.0.0.1
@ IN AAAA ::1
almacena en la variable TTL el tiempo que nosotros indiquemos en segundos.
$TTL
@ IN SOA localhost. root.localhost. (
todos los registros funcionan con un mecanismo muy sencillo, primero definimos de que estamos hablando (en este caso es una @, lo que significa que se toma el valor por defecto, que es el nombre de la zona) seguido de el tipo de registro IN viene de internet y SOA de start of authority.
Después viene la información que nosotros damos sobre lo que estamos escribiendo, en este caso decimos el nombre de la maquina donde ira esta el servidor, seguido del dominio acabado en punto, asi:
@ IN SOA www.mired.com. hostmaster.mired.com. (
definiendo que nuestra maquina se llama www, que esta en el dominio mired.com. y que si se necesita contactar la direccion de e-mail es hostmaster@mired.com.
En este y posteriores pasos podemos ahorrarnos el escribir el nombre del dominio, definiendo la variable $ORIGIN al principio, siendo asi:
>$ORIGIN mired.com.Siguiendo con el archivo db, nos encontramos con los tiempos de transferencia de zona, que especifican cada cuanto se tienen que descargar las zonas de los servidores raiz
$TTL 604800
@ IN SOA www hostmaster (
2 ; Numero de serie del archivo.el unico parametro que puede necesitar una explicación es el de perdida de autoridad, un servidor tiene autoridad cuando las entradas que tiene en su zona las ha descargado de un servidor raiz o son propias, mientras que al realizar ciertas consultas guarda en cache informacion de otros servidores, de la cual no tiene autoridad, por lo que aun respondiendo enviara un mensaje dejando claro que no tiene autoridad para ese dominio.
604800 ; Tiempo entre descargas de zona (en segundos)
86400 ; Tiempo entre reintentos si falla la descarga de una zona (en segundos)
2419200 ; Tiempo de perdida de autoridad si no se descarga de nuevo la zona
604800 ) ; Tiempo de vida maximo del archivo de zona.
Cuando no se realiza la transferencia de zona en el tiempo determinado, el servidor empezara a contestar sin autoridad cuando se le haga una pregunta sobre un nombre perteneciente al servidor raiz del que depende.
Una vez sabido todo esto, solo quedan configurar los demas registros:
@ IN NS www (si no declaramos $origin al principio, habra que poner la ruta completa acabada en punto: www.mired.com.)vemos dos tipos de registros nuevos, los NS y los A, los NS indican el servidor de nombres (name server) del que depende el dominio, y los A indican la dirección ip de un determinado host. Pero estos no son los unicos dominios que podemos establecer en nuestro servidor, dejo una tabla explicativa de los distintos tipos extraida de wikipedia.
www IN A 192.168.0.1
pepe IN A 192.168.0.20
- A = Address – (Dirección) Este registro se usa para traducir nombres de hosts a direcciones IP.
- CNAME = Canonical Name – (Nombre Canónico) Se usa para crear nombres de hosts adicionales, o alias, para los hosts de un dominio. Es usado cuando se estan corriendo multiples servicios (como ftp y web server) en un servidor con una sola direccion ip. Cada servicio tiene su propia entrada de DNS (como ftp.ejemplo.com. y www.ejemplo.com.). esto también es usado cuando corres múltiples servidores http, con diferente nombres, sobre el mismo host.
- NS = Name Server – (Servidor de Nombres) Define la asociación que existe entre un nombre de dominio y los servidores de nombres que almacenan la información de dicho dominio. Cada dominio se puede asociar a una cantidad cualquiera de servidores de nombres.
- MX (registro) = Mail Exchange – (Registro de Intercambio de Correo) Asocia un nombre de dominio a una lista de servidores de intercambio de correo para ese dominio.
- PTR = Pointer – (Indicador) También conocido como 'registro inverso', funciona a la inversa del registro A, traduciendo IPs en nombres de dominio.
- SOA = Start of authority – (Autoridad de la zona) Proporciona información sobre la zona.
- HINFO = Host INFOrmation – (Información del sistema informático) Descripción del host, permite que la gente conozca el tipo de máquina y sistema operativo al que corresponde un dominio.
- TXT = TeXT - ( Información textual) Permite a los dominios identificarse de modos arbitrarios.
Espero correcciones si algo esta mal. :)
1 comentarios:
muy buena esta entrada, tambien deberias mostrar como confgurar la zona inversa, y como seria en cso de tener un registro para un servidor de correo; muy bueno el aporte
7 de octubre de 2009, 6:12Publicar un comentario