Puede acceder a los puertos de la máquina host a través de la puerta de enlace predeterminada dentro del sistema operativo invitado. (Que normalmente tiene una IP de 10.0.2.2
).
Por ejemplo, si tiene un servidor web ejecutándose en el puerto 8000 en su máquina host ...
echo 'Hello, guest!' > hello
python -m SimpleHTTPServer 8000
Puede acceder a él desde el interior de la máquina virtual Vagrant en 10.0.2.2:8000
(siempre que 10.0.2.2
sea la IP de la puerta de enlace predeterminada del invitado):
vagrant ssh
curl http://10.0.2.2:8000/hello # Outputs: Hello, guest!
Para encontrar la IP de la puerta de enlace predeterminada dentro del sistema operativo invitado, ejecute netstat -rn
(o ipconfig
en un invitado de Windows) y busque la fila con una IP de destino de 0.0.0.0
(o el campo etiquetado como "Puerta de enlace predeterminada" en Windows):
$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.33.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Puede extraer esta IP mediante programación con netstat -rn | grep "^0.0.0.0 " | tr -s ' ' | cut -d " " -f2
.
Fuentes: Cómo conectarse con el host PostgreSQL desde la máquina virtualbox vagabunda ; ¿Conectarse a la máquina host desde un SO invitado de VirtualBox?