Você está na página 1de 10

En GNU/Linux tenemos disponible el más famoso y utilizado de todos los servidores DNS, Bind. En nuestro sistema Debian GNU/Linux y derivados, lo instalaremos así:

$ sudo aptitude install bind9

Una vez instalado, procederemos a configurar las zonas de autoridad que va a gestionar nuestro servidor. Para ello modificamos el siguiente fichero:

$ sudo nano /etc/bind/named.conf.local

En este fichero vamos a añadir dos zonas, una para la resolución directa y otra para la resolución inversa. La zona de resolución directa vendrá determinada por el nombre de zona, que puede ser uno de nuestra invención, en mi caso es casita.com. La zona de resolución inversa será la que nos permitirá traducir direcciones IP en nombres de red, algo muy útil en determinadas ocasiones. Esta zona vendrá determinada por el rango de direcciones IP de nuestra red local.

Así pues, añadimos ambas zonas al fichero de la forma en que os muestro aquí:

zone "casita.com" { type master; file "/etc/bind/zones/db.casita.com"; }; zone "10.168.192.in-addr.arpa" { type master; file "/etc/bind/zones/rev.10.168.192.in-addr.arpa"; };

He marcado en negrita lo que debemos modificar personalmente con nuestros propios datos, concretamente el nombre de la zona (casita.com), el rango de direcciones IP y los ficheros asociados. En mi caso el rango es 192.168.10.x, pero como podéis ver debe ponerse de forma inversa y omitiendo el último dígito.

La cosa debería quedar como esto:

La cosa debería quedar como esto: Bien, ahora debemos crear los dos archivos a los que

Bien, ahora debemos crear los dos archivos a los que hacemos referencia en el fichero anterior.

$ cd /etc/bind/ $ sudo mkdir zones $ sudo cp db.local zones/db.casita.com $ sudo cp db.127 zones/rev.10.168.192.in-addr.arpa

Ahora vamos a modificar el primer fichero creado:

$ cd zones/ $ sudo nano db.casita.com

En este fichero añadiremos la lista de todos nuestros dispositivos con sus respectivas direcciones IP, haciendo las modificaciones pertinentes.

Primero modificaremos el campo SOA (Start of Authority) que hace referencia al servidor de nombres con autoridad en la zona y a la cuenta de correo del

administrador encargado de administrarla, donde la arroba es reemplazada por un punto. Así pues nosotros dejaremos la línea relativa al campo SOA como sigue, prestando especial atención a no borrar los puntos finales:

@ IN SOA casita.com. root.casita.com. (

Después modificaremos el campo NS que hace referencia al servidor de nombres de la zona. Por tanto dejaremos la línea así, sin olvidar también el punto del final:

@

IN

NS

ekipotonety.casita.com.

Y después ya podremos añadir los registros A (de dirección) que se corresponderán con los dispositivos conectados a nuestra red, como primer ejemplo el mismo ordenador que hace de servidor DNS:

ekipotonety IN A 192.168.10.2

Al añadirlos todos, el fichero debería quedar similar a este:

administrador encargado de administrarla, donde la arroba es reemplazada por un punto. Así pues nosotros dejaremos

Ahora vamos a modificar el fichero de resolución inversa:

$ sudo nano rev.10.168.192.in-addr.arpa

Este fichero tiene la misma estructura que el anterior, por tanto debemos modificar prácticamente las mismas cosas, empezando por el registro SOA y el registro NS, dejándolos exactamente igual que en el fichero anterior.

Lo que cambia en este fichero es que en vez de utilizar registros A utilizaremos registros PTR para resolver las direcciones IP en nombres de dominio. Así pues, para el primer registro PTR, que coincidirá también con el propio servidor DNS, añadiremos la siguiente línea:

2

IN

PTR

ekipotonety.

Nótese que en la primera columna hemos puesto el último dígito de la dirección IP de ese equipo. En este caso, puesto que el ordenador llamado ekipotonety tiene la dirección IP 192.168.10.2, pondremos el número 2 por ser el último dígito. Y además no debemos olvidarnos de los puntos que hay al final de cada nombre de host.

Cuando terminemos, nuestro fichero quedaría más o menos así:

Bien, con esto ya tenemos definidas las dos zonas. Ahora vamos a modificar nuestro servidor DNSGoogle o los de OpenDNS . En mi caso prefiero los de OpenDNS: forwarders { 208.67.222.222; " id="pdf-obj-4-2" src="pdf-obj-4-2.jpg">

Bien, con esto ya tenemos definidas las dos zonas. Ahora vamos a modificar nuestro servidor DNS para que redirija las peticiones a otro servidor DNS cuando no pueda resolver una petición.

Para ello modificamos el siguiente archivo:

$ sudo nano /etc/bind/named.conf.options

Añadiremos pues los servidores DNS que nos interesen, ya sea los que nos proporciona nuestro ISP u otros cualesquiera, como por ejemplo los de Google o los de OpenDNS. En mi caso prefiero los de OpenDNS:

forwarders {

208.67.222.222;

208.67.220.220;

};

Y el fichero, una vez completado, quedaría así:

208.67.220.220; }; Y el fichero, una vez completado, quedaría así: Por último, reiniciaremos el servicio bind9

Por último, reiniciaremos el servicio bind9 para hacer efectivas las modificaciones que hemos hecho:

$ sudo /etc/init.d/bind9 restart

Con esto habremos terminado de configurar el servidor DNS propiamente dicho. Ahora nos queda configurar los equipos que se conectan a nuestra red para que hagan uso de este servidor DNS.

Empecemos por configurar el ordenador que hace de servidor DNS. Es evidente que su configuración dependerá del modo en que esté gestionada la conexión de red, pero en esencia será similar para todos.

Si usamos un gestor de redes gráfico como por ejemplo Network Manager o Wicd, lo único que tendremos que cambiar es el servidor DNS de la conexión que estemos usando, sustituyendo la dirección del DNS por la de nuestro servidor:

En este caso, como el ordenador que estamos configurando es a la vez el propio servidor

En este caso, como el ordenador que estamos configurando es a la vez el propio servidor DNS, se establece que para consultas DNS se pregunte a sí mismo. Por tanto redirigimos las consultas DNS a la dirección 127.0.0.1.

Y para el resto de equipos que se conecten a nuestra red haremos lo mismo pero cambiando la dirección del DNS por la que tendrá nuestro servidor en la red, en este caso 192.168.10.2.

Si por el contrario no usamos un gestor de redes gráfico, tendremos que modificar el fichero /etc/resolv.conf añadiendo la línea nameserver 192.168.10.2, cambiando la dirección IP del DNS por la que corresponda en nuestro caso.

Con esto ya tendremos configurado nuestro servidor DNS doméstico. Ahora sólo nos queda probar que funciona. Para ello podemos, por ejemplo, consultar la dirección IP de nuestro servidor DNS desde el propio servidor o desde cualquier otro equipo conectado a la red y configurado adecuadamente para que haga uso del servidor DNS:

$ host ekipotonety.casita.com

ekipotonety.casita.com has address 192.168.10.2

Nótese que para hacer la consulta debemos usar el nombre completo, es decir, el nombre de host seguido del dominio.

Podemos por ejemplo solicitar la dirección IP de nuestro smartphone:

$ host movil.casita.com

movil.casita.com has address 192.168.10.4

Y para probar la resolución inversa, podemos proceder así:

$ host 192.168.10.2

2.10.168.192.in-addr.arpa domain name pointer ekipotonety.

$ host 192.168.10.4

4.10.168.192 in-addr.arpa domain name pointer movil.

Como vemos, el servidor DNS nos resuelve tanto la consulta directa como la inversa, esto demuestra que funciona perfectamente.

Con nuestro servidor DNS funcionando ya podemos hacer uso de él en los demás dispositivos que se conecten a la red, de tal forma que exista resolución interna de nombres y la navegación por la web vaya considerablemente más fluida.