Servidor DNS en un Debian virtualizado

Reinaldo Garcia garcia.reinaldo en gmail.com
Jue Mayo 5 09:08:05 CLST 2011


 Si lo que quieres es tener tu Maquina Virtual corriendo servicios, lo
más sano es dejar la tarjeta de red del guest configurada en Bridged
networking[1] esto "emula" que la máquina virtual esté conectada
físicamente a la red (como un computador real conectado a la red), de
ese modo todas las máquinas podrán tener acceso a los servicios
instalados en el servidor virtual (www, DNS, File Server, Mail Server,
etc).

 En caso contrario, y si sólo quieres acceso desde el "host" al
"guest" lo que indicó tomás de dejar la tarjeta configurada como
Host-only networking[2] bastará

 Saludos.


[1] http://www.virtualbox.org/manual/ch06.html#idp11556512
[2] http://www.virtualbox.org/manual/ch06.html#network_hostonly

2011/4/17 Tomás Hermosilla J. <thermosilla en gmail.com>:
> ¿Probaste añadiendo una segunda tarjeta de red a la maquina virtual, en modo
> host-only?
>
> Tendrías que rearmar las redirecciones, pero puede que te solucione el
> problema
>
> A todo esto ¿Para qué necesitas el NAT?
>
> Saludos
> --
> Tomás Hermosilla J.
> skype: thermosilla
> http://www.linkedin.com/in/thermosilla
> www.twitter.com/thermosilla
>
>
>
> 2011/4/17 angeld <angeld en froga.net>
>
>> Sat, 16 Apr 2011, Gonzalo Diaz Cruz:
>>
>>
>>  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.
>>>
>>
>>        Si es la única barrera, será donde está el problema. El NAT que
>> realizas no consigue redirigir correctamente el puerto deseado.
>>
>>
>>  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.
>>>
>>
>>        Sip, el DNS normalmente es un servicio UDP.
>>
>>
>>  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?
>>>
>>
>>        Creo que estás olvidando que el DNS, por lo general, es un servicio
>> UDP. :-)
>>
>>
>>  ¿En el resolv.conf (host) puedo añadir un puerto alternativo para una
>>> entrada de servidor dns?
>>>
>>
>>        No, que yo sepa.
>>
>>
>>  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.
>>>
>>
>>        Todavía no se pueden realizar túneles UDP con ssh, por lo que no es
>> una solución.
>>
>>
>>
>>        Si lo que quieres es que el servicio de DNS de la máquina virtual
>> esté disponible puedes o asignar una IP dentro del rango de tu red a la
>> misma, o redirigir el puerto 53/udp de la máquina host al 53/udp de la
>> máquina virtual.
>>
>>
>> --
>>        Saludos --- Angel
>>
>



-- 
Reinaldo García Zuñiga


Más información sobre la lista de distribución Linux