Tengo una máquina virtual Linux VMware (invitado) configurada con un adaptador NAT en una subred 192.168.56.0. Su dirección IP es 192.168.56.128 y mi Mac (host) tiene 192.168.56.1. La puerta de enlace predeterminada del invitado se establece automáticamente en 192.168.56.2 y puede hacer ping a Google desde el invitado. La IP Wi-Fi del host es 192.168.0.2,
Configuré mi enrutador Wi-Fi con la siguiente tabla de enrutamiento para reenviar paquetes de 192.168.56.0 a 192.168.0.2 (mi Mac)
pi@raspberrypi ~ $ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 172.16.4.1 0.0.0.0 UG 0 0 0 eth0
172.16.4.0 * 255.255.252.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 wlan0
192.168.56.0 192.168.0.2 255.255.255.255 UGH 0 0 0 wlan0
192.168.57.0 192.168.0.2 255.255.255.255 UGH 0 0 0 wlan0
Pero no puedo hacer ping al invitado desde ningún otro dispositivo en la red Wi-Fi (192.168.0.0). Entonces, es obvio que mi Mac con OS X El Capitan no está reenviando los paquetes de 192.168.0.0 a 192.168.56.0
Su enrutador no es responsable de enrutar paquetes de 192.168.0.0 a 192.168.56.0, pero el host de VM sí lo es. Sin embargo, debe mantener la ruta estática 192.168.56.0 -> 192.168.0.2 en el enrutador. No sé cuál es el propósito de la segunda ruta 192.168.57.0 -> 192.168.0.2, probablemente un segundo adaptador NAT en el host.
Para llegar a su VM desde otros dispositivos OS X en su red 192.168.0.0, debe configurar una ruta estática en cada una de las máquinas 192.168.0.x al host de VM:
sudo route add -net 192.168.56.0 192.168.0.2
Para hacer que esta ruta sea persistente, agregue un demonio de lanzamiento en cada una de las máquinas:
sudo nano /Library/LaunchDaemons/local.staticroute.vm.plist
con el contenido
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.staticroute.vm</string>
<key>ProgramArguments</key>
<array>
<string>route</string>
<string>add</string>
<string>-net</string>
<string>192.168.56.0</string>
<string>192.168.0.2</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
guarde el archivo (ctrl-O) y salga de nano (ctrl-X).
Cargue el demonio de lanzamiento con:
sudo launchctl load -w /Library/LaunchDaemons/local.staticroute.vm.plist
Si los otros dispositivos en la red 192.168.0.0 son hosts Linux/Windows/Android, use los comandos respectivos para agregar una ruta:
Windows (persistente):
route add -p 192.168.56.0 mask 255.255.255.0 192.168.0.2
Linux:
route add -net 192.168.56.0 netmask 255.255.255.0 gw 192.168.0.2
Para agregar una ruta persistente en Linux, consulte la documentación de su distribución de Linux.
Esto no sobrevivió al reinicio para mí en 10.11. Seguí estas instrucciones :
sudo networksetup -setadditionalroutes Wi-Fi 192.168.56.0 255.255.255.0 192.168.0.2
donde Wi-Fi
se encuentra usando networksetup -listallnetworkservices
.
cuello
cuello
cuello
cuello
192.168.0.0
a192.168.56.0
. Entonces, ¿cómo hacer que el host (Mac) haga eso?klanomath
cuello
sudo route add -net 192.168.56.0 192.168.0.2
en el MacHost. No puedo hacer ping al enrutador desde la máquina virtual.klanomath
sudo route delete -net 192.168.56.0 192.168.0.2
cualquier lista de enrutamiento. El host de VM es el enrutador. ¡No necesita una ruta extra! ¡El host de VM es su Mac! La VM es un host, pero no es el host de la VM . La VM es un cliente en el host de VM. ¡No has leído bien mi respuesta! ¡Y por favor, no mezcle/redefina las convenciones comunes de nomenclatura!cuello