
Lo que quiero:
Quiero una máquina virtual invitada que ejecute Ubuntu (en VirtualBox) para varios servidores de prueba de desarrollo web (que se ejecuten en diferentes puertos, por ejemplo, Grunt.js se ejecuta en el puerto 9000).
Quiero probar aplicaciones web que se ejecutan en estos servidores a) desde el invitado b) desde el host (ejecutando Windows 7, por cierto), c) desde otros dispositivos en la misma red, conectados a través de WiFi (por ejemplo, dispositivos móviles)
Quiero poder acceder a Internet desde el huésped
Primero estaba ejecutando una solución en la que tenía configurados un adaptador NAT y un adaptador solo de host en VirtualBox, lo cual estaba bien para acceder al invitado desde el host y para acceder a Internet desde el invitado.
Ahora que quiero que otros dispositivos puedan acceder a la máquina virtual, esta solución ya no funciona. Pude hacer esto hace años con un adaptador de red en puente, pero no parece funcionar aquí, ya que estoy en una red corporativa.
Lo que hice:
Entonces configuré un adaptador de red en puente con la configuración predeterminada en VirtualBox. Al encender la VM, vi eso por primera vezno tengo acceso a internet, y ejecutar ifconfig
da:
eth0 Link encap:Ethernet HWaddr 08:00:27:d1:1f:98
inet6 addr: fe80::a00:27ff:fed1:1f98/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:139 errors:0 dropped:0 overruns:0 frame:0
TX packets:658 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11274 (11.2 KB) TX bytes:140266 (140.2 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1728 errors:0 dropped:0 overruns:0 frame:0
TX packets:1728 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1001564 (1.0 MB) TX bytes:1001564 (1.0 MB)
Como puede ver, no hay ipv4 disponible y no puedo hacer ping ni solicitar nada externo al invitado. No estoy completamente seguro de si es porque algo está mal configurado o porque la red corporativa no permite tales cosas; tampoco recibo ninguna ayuda del departamento de TI...
EDITAR:Descubrí que la conexión en puente funciona cuando se utiliza otra red, no la corporativa. También puedo acceder al servidor invitado desde otros dispositivos.
¿Cómo puedo depurar aún más esto? ¿Y cuál podría ser el motivo de tal comportamiento?
Respuesta1
Lamentablemente, no estoy lo suficientemente familiarizado con IPv6 para saber si su VM está captando su propia IP o no, así que solo diré que la forma en que funciona una conexión en puente es que la VM solicita su propia IP, esencialmente haciendo que su máquina física tiene 2 IP en la red. Si la red corporativa ha deshabilitado DHCP como lo hacen con mayor frecuencia, o si han restringido las IP de otra manera, tendrá que obtener la propia IP de la VM para que funcione de la manera que busca.
Dicho esto, es posible configurar el "reenvío de puertos" para el modo de red NAT en VirtualBox. De esta manera, cuando su máquina física recibe una solicitud en el puerto que usted especifica, su máquina la pasa a su VM.
Como la máquina virtual está conectada a una red privada interna de VirtualBox e invisible para el host, los servicios de red del invitado no son accesibles para la máquina host ni para otras computadoras en la misma red. Sin embargo, al igual que un enrutador físico, VirtualBox puede poner servicios seleccionados a disposición del mundo exterior al huésped a través del reenvío de puertos. Esto significa que VirtualBox escucha ciertos puertos en el host y reenvía todos los paquetes que llegan allí al invitado, en el mismo puerto o en uno diferente.
Si desea obtener más detalles, consulte la sección "Traducción de direcciones de red (NAT)" en "Redes virtuales" en el archivo de ayuda de VirtualBox. Hay una pequeña GUI que le ayudará con esto en la configuración de red avanzada de su VM.