Servidor DNS en un Debian virtualizado
Gonzalo Diaz Cruz
me en gon.cl
Sab Abr 16 15:58:39 CLST 2011
Hace tiempo trabajaba mis cosas en mi máquina local, con Kubuntu.
Pero decidí por varias razones mover los servicios que utilizo para
desarrollo (web, base de datos, ssh, ...) aun máquina virtual con Debian
Squeeze. Estoy usando Virtualbox 4.0 con la red en modo NAT. Cada servicio
cuenta con una redirección de puerto (o port forward). Con ninguno de estos
servicios he tenido problema, salvo con el el servicio de DNS.
Por ejemplo, uso HTTP en 8080 (host) -> 80 (guest), SSH en 2222 (host) -> 22
(guest). Bind9 lo tengo con redirección así: 5353 (host) -> 53 (guest). El
servidor funciona, dentro de la máquina virtual resuelve los nombres que le
tengo configurado y retorna resultados correctos (lo he probado con dig,
nslookup, ...). Todos lo puertos los uso por sobre 1024 para no tener que
correr la VM como root.
El problema es que hasta ahora no he logrado acceder al servicio DNS desde
la máquina host. Mi intención es agregarle una entrada permanente (al
resolv.conf o equivalente) del sistema host, para que este resuelva cuando
esté trabajando con la VM encendida (sino que use otro DNS).
Lo he intentado con dig haciendo lo siguiente:
dig -p 5353 @127.0.0.1 nombre.dev
Sin resultado. Me arroja que no hubo conexión:
hope:~ gon$ dig -p 5353 127.0.0.1 nombre.dev
; <<>> DiG 9.6.0-P1 <<>> -p 5353 127.0.0.1 nombre.dev
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
En ninguno de los sistemas tengo firewall, la única barrera es el modo NAT
de la máquina virtual.
La verdad es que soy algo inexperto con este tipo de servicio. Por lo que
leí, la redirección debía ser por UDP en vez de TCP. También lo probé, pero
resultado es el mismo. Entonces aprovecho de preguntar sobre el servicio y
el cliente.
Primero, ¿que estoy olvidando (o que no sepa) configurar para poder acceder
al DNS virtualizado desde la máquina host hacia la VM?
¿La consulta que estoy haciendo con dig está correcta?
¿En el resolv.conf (host) puedo añadir un puerto alternativo para una
entrada de servidor dns?
por ejemplo de la forma: ip#puerto como 127.0.0.1#5353, en caso contrario,
igual estoy pensando utilizar un tunel ssh en el puerto 53.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Atentamente, Gonzalo Díaz Cruz
Estudiante Ingeniería de Ejecución en Computación e Informática
Universidad de Santiago de Chile
Coordinador IT Promolibros - http://promolibros.cl/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://card.ly/gon
http://blog.gon.cl/
http://twitter.com/sir_gon
http://flickr.com/photos/sir_gon
Más información sobre la lista de distribución Linux