Instalando un Servidor DNS en nuestro Servidor de Web-Mail GNU/Linux – Bind

Ayudanos, compartiendo en tus redes sociales!

Hoy instalaremos un Server DNS en nuestro Servidor de Web & Mail. En este caso voy a usar Bind, que anteriormente lo habia mencionado, mi sistema siempre es un Ubuntu Server 8.04 LTS.-

Bueno, comenzamos con la instalación de Bind, que será en su version 9.2, así que vamos!, primeramente pasamos a instalar el paquete “bind9”, luego su documentación “bind9-doc” y luego el dns utils “dnsutils”:

root@SRVWEBMAIL:/home/administrador# apt-get install bind9 bind9-doc dnsutils

Esto, nos instala Bind9 en /etc/bind/ donde ya solamente hay que configurar a nuestro agrado. Tengamos a mano ya los dominios que quisieramos Hostear y nuestra IP Pública por supuesto. En mi caso uso “nano” mi editor preferido, otros usarán “vi”, queda a tu gusto.-

Primero que todo, debemos configurar a mi preferencia (antes de crear un DNS Primario o un Secundario), el fordwaring que hará que nuestro dominio, resuelva de dominio a IP, para eso es muy sencillo, nos vamos primeramente al directorio donde se nos instaló el Bind, vemos los archivos que hay dentro, y editamos el archivo named.conf.options, asi:

root@SRVWEBMAIL:~# cd /etc/bind
root@SRVWEBMAIL:/etc/bind# ls
db.0                 db.empty          named.conf
db.127             db.local            named.conf.local    rndc.key
db.255             named.conf.options  zones.rfc1918
db.root
root@SRVWEBMAIL:/etc/bind# nano named.conf.options

Dentro del archivo, vamos a encontrar una linea comentada como esta:

// forwarders {
//   0.0.0.0;
// };

Donde, obviamente la vamos a descomentar, y reemplazar la IP, por nuestra IP que nos dió nuestra ISP. Ahora cerramos y guardamos, y configuramos las zonas, para ello abrimos:

root@SRVWEBMAIL:/etc/bind# nano named.conf

Rápidamente vamos a fijarnos que ya hay varias “zonas” creadas, y nos fijaremos en su extructura, bueno, en donde querramos, creamos nuestra zona, como ejemplo, doy mi dominio:

zone “notasdesamuel.com” {
type master;
file “/etc/bind/notasdesamuel.com”;
allow-query { any; };
allow-transfer { slaves; };
};

En donde cuando especifico:

allow-query { any; }

me refiero a que permito entradas o consultas de cualquier Host, y cuando me refiero a:

allow-transfer { slaves; }

me refiero a que permito mis transferencias a los esclavos, y quienes son los esclavos??, je je ahora vamos a configurarlo, luego de haber escrito esto, mucho más arriba, luego de la linea:

include “/etc/bind/named.conf.options”;

añadimos los esclavos, qué son?, es una lista de acceso quienes tendrán permiso de transferencia solamente en nuestro DNS Secundario, donde se especifica la IP del DNS Secundario, por lo que, debajo de la linea que indiqué, escribimos:

acl “slaves” {
123.123.123.1;
};

Ahora si!, guardamos y cerramos (en nano es CTRL X para guardar cambios y cerrar), y como ven, en nuestras lineas donde configuramos la Zona de UN dominio, especificamos un archivo de nuestra zona de ese X dominio, que en mi caso fue “notasdesamuel.com”:

file “/etc/bind/notasdesamuel.com”;

Por lo que hay que crear este archivo, asi que vamos a /etc/bind, y creamos el archivo “notasdesamuel.com” con nano y escribimos:

;
; Archivo de la zona notasdesamuel.com para el BIND
;
$TTL 86400
@ IN SOA ns1.notasdesamuel.com. root.notasdesamuel.com. (
2008080501 ; serialid
10800 ; refresh
3600 ; retry
86400 ; expire
3600) ; default

IN NS ns1.notasdesamuel.com.
IN MX 10 mail.notasdesamuel.com.
IN A 123.123.123.1
ns1 IN A 123.123.123.1
www IN A 123.123.123.1
mail IN A 123.123.123.3

Ok, tengamos en punto y mucha atención, al final de cada dominio pongo un punto final, donde puse “serialid” es el serial + id, que tendría el formato aaaa/mm/dd/id, y luego los tiempos de vida que le damos (TTL), ahora, antes de crear nuestro DNS Secundario, probamos si vamos bien, para eso reiniciamos el servicio:

/etc/init.d/bind9 restart

y con “dig” (dnsutils) probamos si funciona:

root@SRVWEBMAIL:/etc/bind# dig notasdesamuel.com A @localhost

; <<>> DiG 9.4.2 <<>> notasdesamuel.com A @localhost
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63286
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;notasdesamuel.com.               IN      A

;; ANSWER SECTION:
notasdesamuel.com.        604800  IN      A       123.123.123.1

funciona de maravillas!, ahora a configurar el Secundario, que es básicamente la misma manera como creamos la zona Primaria, solo que el “type” era “master” ahora “slave” obviamente 🙂 así que abrimos de vuelta /etc/bind/named.conf y añadimos:

zone “notasdesamuel.com” {
type slave;
file “/etc/bind/notasdesamuel.com”;
masters {
123.123.123.1;
};
};

reiniciamos el servicio:

/etc/init.d/bind9 restart

y listo!, 🙂 ahora ya podemos usarlo sin ningun problema, podemos simplemente ir añadiendo las zonas si asi necesitamos, la parte mas importante ya está basicamente configurada, ya es solo pasar a monitorear su correcto funcionamiento, te recomiendo para ello en una consola tener abierto su log y en otra tener preparada la orden para reinicar por si cualquier mosca:

tail -f /var/log/syslog

Esto uno lo deja ejecutandose en una consola y nos va mostrando sus logs 😉

Espero que se animen a configurar un Server DNS, y vean que tan sencillo es!, para la próxima nos veremos con IIS y la utilidad para administración de DNS bajo Microsoft Windows Server 2003. Saludos!.-

Si te gustó, no te olvides de ayudar compartiendo en las Redes Sociales!