13 de diciembre de 2010

Configurar interfaz, ip o puerto de escucha bind9

Hace poco os enseñe como añadir un alias a un host en bind9.

Al igual que en ese tutorial, la documentación que hay acerca del tema es escasa y no exacta, algo que no entiendo, siendo bind9 el principal servidor dns en muchos servidores.
 
Aparte de poder configurar una ip de escucha en bind9, también podremos filtrar por puerto. Puede que el título del tutorial no sea el más adecuado, ya que realmente no podemos filtrar por una determinado interfaz (eth0, eth1), pero si por la ip que ésta tiene, que es lo mismo.

Seguir leyendo 'Configurar ip, puerto o interfaz de escucha bind9'



Puesta en escena

Imaginemos que tenemos un servidor dns (bind9) en nuestra red local. Nuestro servidor consta de dos tarjetas de red, una conectada a la red X y otra a la red Y, prestando direcciones ip del rango 192.168.100.XXX y otra del rango 192.168.200.XXX.

Para evitar problemas, y para no tener que montar otro servidor dns en, por ejemplo, una máquina virtual de windows, simplemente vamos a filtrar las peticiones que reciba según la tarjeta por la cual entre.



Puesta en marcha

El archivo a configurar será /etc/bind/named.conf.options , que es el que contiene todos los parámetros de configuración.

Las interfaces y puertos por el cual el servidor escuchará puede ser especificado usando la opción listen-on. El servidor solo atenderá las peticiones las peticiones que vengan por determinadas ip's o por un puerto en concreto.

Tengamos en cuenta que si no especificamos ningún puerto, se usará el puerto por defecto, 53.


Configurar puerto de escucha


Para cambiar el puerto por el que escuchará el servidor dns, añadimos la siguente línea:

listen on port 1234 { 127.0.0.1; };

Hemos indicado que escuchará por el puerto 1234, en la ip de loopback.



Configurar ip de escucha

Para cambiar la ip por la que escuchará el servidor dns, añadimos la siguente línea:

listen on { 192.168.100.1; };

siendo 192.168.100.1 la ip que usamos en éste ejemplo :-)


Usando, tanto el filtrado por puerto como por ip, en este ejemplo, el archivo /etc/bind/named.conf.options quedaría de ésta forma:


options {
             directory "/var/cache/bind";

             auto-nxdomain no;    # conform to RFC1035
             listen-on-v6 {any; };
             listen-on port 1234 { 127.0.0.1; };
             listen-on { 192.168.100.1; };

};


Si tras reiniciar te da algún error (como me pasaba a mi), se debe a que no has respetado bien los espacios y comillas, cuidado con ello.

Tutorial hecho en Ubuntu 10.04 Server
13 de Diciembre de 2010

5 comentarios:

  1. !!!FAIL!!!. En un servidor de DNS no sirve de nada que escuche en un puerto diferente del 53.

    ResponderEliminar
  2. @Anónimo: Puede que no sirva de mucho, pero la opción existe y la comparto con vosotros.

    En vez de decir FAIL por algo que según tu no funciona, deberías decir WIN porque éste post aparece primero en google :-)

    ResponderEliminar
  3. Claro que está el primero. Nadie escribe sobre esto porque no es útil. Sigue siendo un FAIL.

    ResponderEliminar
  4. Talvez no sea necesario, pero se puede hacer, buen aportee..

    ResponderEliminar
  5. Es mas útil de lo que crees Anonimo, en un servidor de dns puedes tener varias interfaces virtuales prestando distintos servicios, puedes tener los resolvers en una ip determinada y los autoritativos en otra. Por lo que esta opcion es de suma importancia.

    Insisto es un buen aporte.

    Muchas gracias por compartirlo.
    Gonzalo

    ResponderEliminar