miércoles, octubre 18, 2006

Como configurar un DNS descente en Ubuntu.

Como en la empresa se manejan varios dominios, fue necesario
instalar un dns que direccionara las peticiones de los distintos
dominios a los servidores web y de correo electronico.
Paso a detallar los pasos para configurar un dns en ubuntu:

Instalacion
El respositorio de ubuntu es muy extenso por lo que podemos evitar bajar y compilar el codigo fuente.
Siempre es recomendable que se instalen desde el codigo fuente porque nos permite mayor versatilidad
y sabemos a donde van los archivos... pero ante el apuro tambien podemos instalarlo con los comandos
de consola sin necesidad de compilar nada.. esto es algo bueno de esta distribucion: usando el
comando apt-get generalmente las cosas funcionan de la forma deseada.
Instalamos los paquetes haciendo desde consola: apt-get install bind

Configuracion
Los archivos de configuracion se encuentran en /etc/bind
Editamos el archivo named.conf y agregamos las zonas que queremos definir.
Un ejemplo es:


zone "mi-zona.com" {
type master;
file "/etc/bind/db.mi-zona";
};

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

siendo la primera la zona (db.mi.zona) y la segunda la zona reversa (db.192.168.1).
Si debemos agregar mas dominios simplemente agregamos la zona directa del dominio:

zone "mi-zona2.com" {
type master;
file "/etc/bind/db.mi-zona2";
};

zone "mi-zona3.com" {
type master;
file "/etc/bind/db.mi-zona3";
};


Una vez definidas las zonas, pasemos al archivo de zona (db.mi-zona)
Un detalle importante: SIEMPRE QUE MODIFIQUEMOS LOS ARCHIVOS DE ZONA, ES NECESARIO CAMBIAR
EL NUMERO DE SERIAL O SINO LOS CAMBIOS NO SON TOMADOS. Una forma de realizar esto con un criterio
es poner en Serial la fecha (año,mes,dia) y el numero de version: AAAAMMDDV (ejemplo:200610181). Cada
vez que realicemos un cambio,solo cambiamos el numero de la version o la fecha segun corresponda.
ESTO ES VALIDO PARA LA ZONA REVERSA TAMBIEN.
En el ejemplo, se define un servidor de correo electronico y un servidor web.
NOTA: los archivos de ejemplo son archivos que actualmente se encuentran en funcionamiento.

;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA dns.mi-zona.com. admin.mi-zona.com. (
200610181 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS dns.mi-zona.com. <--- nombre del servidor dns
@ IN A X.X.X.X <--- nº ip asignado por el proveedor (ip fija de la empresa)
dns IN A X.X.X.X <-- ip fija asignada por el proveedor
@ IN MX 0 mi-zona.com.
www IN A X.X.X.X<-- ip fija asignada por el proveedor

En este caso, el dns resolvera los nombres para el servidor de correo (MX) mi-zona.com y el servidor web www.mi-zona.com

Para el caso de la zona reversa quedaria asi:
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.electromax.com.uy. root.ns1.electromax.com.uy. (
200610181 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS dns.mi-zona.com.
1 IN PTR dns.mi-zona.com. <-- corresponde al ip 192.168.1.1


Lo ultimo que quedaria es redireccionar el puerto 53 al numero de ip que haga de dns para que las
peticiones puedan ser resueltas por nuestro dns, habiendo realizado previamente el registro
del mismo en la empresa proveedora del servicio de internet.

No hay comentarios.: