¿Cómo accedo al servidor Ubuntu que se ejecuta en VirtualBox desde afuera?

44

He instalado Ubuntu Server 12.04 LTS en mi computadora portátil a través de VirtualBox. He instalado LAMP, OpenSSH, servidor de correo.

Cuando inicié sesión, corrí ifconfig. Me dio la dirección de entrada como 192.168.0.3.

Entonces, esta debería ser la dirección a través de la cual debería poder acceder al servidor, ¿verdad? Pero no puedo acceder a él a través del navegador ... el servidor está activo en VirtualBox todo el tiempo, pero aún así, no funciona en otros navegadores o en mi dispositivo móvil. ¿Qué debo hacer para que sea accesible al público?

Barbilla
fuente

Respuestas:

58

De manera predeterminada, una máquina invitada en VirtualBox está configurada para usar la llamada red NAT: la IP del adaptador de red del invitado está en una subred "virtual" que incluye el invitado y la aplicación padre VirtualBox que actúa como puerta de enlace. Para el invitado, parece que accede a Internet a través de un módem DSL normal, pero no se puede acceder al invitado desde cualquier lugar, al igual que no se puede acceder a las máquinas en su red local desde Internet sin configurar específicamente su módem para permitir acceso.

La documentación de VirtualBox tiene la siguiente lista de modos de red:

Cada uno de los ocho adaptadores de red se puede configurar por separado para operar en uno de los siguientes modos:

No adjunto

En este modo, VirtualBox informa al huésped que hay una tarjeta de red presente, pero que no hay conexión, como si no hubiera un cable Ethernet conectado a la tarjeta. De esta manera, es posible "tirar" del cable Ethernet virtual e interrumpir la conexión, lo que puede ser útil para informar a un sistema operativo invitado que no hay conexión de red disponible y forzar una reconfiguración.

Traducción de direcciones de red (NAT)

Si todo lo que desea es navegar por la Web, descargar archivos y ver el correo electrónico dentro del invitado, entonces este modo predeterminado debería ser suficiente para usted, y puede omitir el resto de esta sección de manera segura. Tenga en cuenta que existen ciertas limitaciones al utilizar el uso compartido de archivos de Windows (consulte la sección denominada "Limitaciones de NAT" para obtener más información).

Redes puenteadas

Esto es para necesidades de red más avanzadas, como simulaciones de red y servidores en ejecución en un invitado. Cuando está habilitado, VirtualBox se conecta a una de sus tarjetas de red instaladas e intercambia paquetes de red directamente, evitando la pila de red de su sistema operativo host.

Redes internas

Esto se puede utilizar para crear un tipo diferente de red basada en software que sea visible para las máquinas virtuales seleccionadas, pero no para las aplicaciones que se ejecutan en el host o en el mundo exterior.

Redes solo de host

Esto se puede usar para crear una red que contenga el host y un conjunto de máquinas virtuales, sin la necesidad de la interfaz de red física del host. En cambio, se crea una interfaz de red virtual (similar a una interfaz de bucle invertido) en el host, que proporciona conectividad entre las máquinas virtuales y el host.

Redes genéricas

Los modos que se usan con poca frecuencia comparten la misma interfaz de red genérica, al permitir al usuario seleccionar un controlador que puede incluirse con VirtualBox o distribuirse en un paquete de extensión.

Si necesita acceder a su invitado desde el exterior, debe configurar una red en puente, que le dará a su invitado su propia IP en su red local. La configuración se realiza en la configuración de VirtualBox, no en el sistema operativo invitado.

Para poder acceder al servidor desde su dispositivo móvil (es decir, desde fuera de su LAN), después de configurar la red, adicionalmente deberá configurar el reenvío de puertos en su módem DSL.

Sergey
fuente
3
+1 por mencionar la configuración NAT predeterminada y sugerir un puente.
Mark Mikofski el
+1 por enseñarme algo nuevo, útil y relevante para mi situación. ¡Gracias!
heypaleblue
Gracias por la respuesta, pero, ¿no necesito instalar DNS en mi servidor para que otros puedan acceder a él a través de Internet?
Barbillas
@Chins: No, definitivamente no necesitas instalar DNS en tu servidor. Todo lo que hemos discutido hasta ahora no involucra DNS en absoluto.
Sergey
1
@Sergey: configuré mi vm con el adaptador en puente. La dirección IP que se muestra al ejecutar ifconfig es 10.210.xx, pero todavía no puedo poner mi máquina virtual desde la máquina host. ¿Qué podría estar mal?
Andy Dufresne
9

Para proporcionar un poco más de información, estos son los pasos reales a seguir para configurar una red puenteada:

Para habilitar la conexión en red en puente, todo lo que necesita hacer es abrir el cuadro de diálogo Configuración de una máquina virtual, ir a la página "Red" y seleccionar "Red en puente" en la lista desplegable para el campo "Adjunto a". Finalmente, seleccione la interfaz de host deseada de la lista en la parte inferior de la página, que contiene las interfaces de red físicas de sus sistemas. En una MacBook típica, por ejemplo, esto le permitirá seleccionar entre "en1: AirPort" (que es la interfaz inalámbrica) y "en0: Ethernet", que representa la interfaz con un cable de red.

Fuente

Luego reinicié la máquina virtual y pude conectarme externamente.

mnd
fuente
Tenga en cuenta que, al menos en Mac OS 10.1.11, por ejemplo, no está permitido conectar el adaptador wifi directamente, pero primero se debe crear un 'adaptador puente' en la configuración de red
veces
1
pero ¿cómo funcionan cosas como las direcciones IP estáticas en modo puenteado? ¿Está todo en la misma conexión entonces? ¿Sería un servidor web en la VM en localhost en lugar de alguna dirección IP? ¿Se reenvían los puertos 1: 1? Entonces, si Tomcat está en la VM en localhost: 8080, ¿la máquina host simplemente escribe localhost: 8080 en su navegador para ver la VM?
anon58192932