Ich habe eine virtuelle Linux-VMware-Maschine (Gast), die mit einem NAT-Adapter in einem 192.168.56.0-Subnetz konfiguriert ist. Seine IP-Adresse ist 192.168.56.128 und mein Mac (Host) hat 192.168.56.1. Das Standard-Gateway des Gastes wird automatisch auf 192.168.56.2 eingestellt und kann Google vom Gast aus pingen. Die Wi-Fi-IP des Hosts ist 192.168.0.2,
Ich habe meinen Wi-Fi-Router mit der folgenden Routing-Tabelle konfiguriert, um Pakete von 192.168.56.0 an 192.168.0.2 (mein Mac) weiterzuleiten.
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
Aber ich kann Gast von keinem anderen Gerät im Wi-Fi-Netzwerk (192.168.0.0) anpingen. Es ist also offensichtlich, dass mein Mac mit OS X El Capitan die Pakete nicht von 192.168.0.0 an 192.168.56.0 weiterleitet
Ihr Router ist nicht dafür verantwortlich, Pakete von 192.168.0.0 an 192.168.56.0 weiterzuleiten, aber der VM-Host ist es. Sie müssen jedoch die statische Route 192.168.56.0 -> 192.168.0.2 auf dem Router beibehalten. Ich weiß nicht, was der Zweck der zweiten Route 192.168.57.0 -> 192.168.0.2 ist - wahrscheinlich ein zweiter NAT-Adapter auf dem Host.
Um Ihre VM von anderen OS X-Geräten in Ihrem 192.168.0.0-Netzwerk aus zu erreichen, müssen Sie auf jeder der 192.168.0.x-Maschinen eine statische Route zum VM-Host einrichten:
sudo route add -net 192.168.56.0 192.168.0.2
Um diese Route dauerhaft zu machen, fügen Sie auf jeder der Maschinen einen Start-Daemon hinzu:
sudo nano /Library/LaunchDaemons/local.staticroute.vm.plist
mit dem Inhalt
<?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>
Speichern Sie die Datei (Strg-O) und beenden Sie Nano (Strg-X).
Laden Sie den Launch-Daemon mit:
sudo launchctl load -w /Library/LaunchDaemons/local.staticroute.vm.plist
Wenn die anderen Geräte im Netzwerk 192.168.0.0 Linux/Windows/Android-Hosts sind, verwenden Sie die entsprechenden Befehle, um eine Route hinzuzufügen:
Windows (dauerhaft):
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
Um eine dauerhafte Route in Linux hinzuzufügen, lesen Sie die Dokumentation Ihrer Linux-Distribution.
Dies hat den Neustart für mich in 10.11 nicht überlebt. Ich habe diese Anweisungen befolgt :
sudo networksetup -setadditionalroutes Wi-Fi 192.168.56.0 255.255.255.0 192.168.0.2
wo Wi-Fi
gefunden wird mit networksetup -listallnetworkservices
.
Necktwi
Necktwi
Necktwi
Necktwi
192.168.0.0
bis verantwortlich192.168.56.0
. Wie kann man also den Host (Mac) dazu bringen?klanomath
Necktwi
sudo route add -net 192.168.56.0 192.168.0.2
auf dem MacHost. Ich kann den Router nicht von der VM aus anpingen.klanomath
sudo route delete -net 192.168.56.0 192.168.0.2
und einer beliebigen Routing-Plist. Der VM-Host ist der Router. Es braucht keine extra Route! Der VM-Host ist Ihr Mac! Die VM ist ein Host, aber nicht der VM-Host . Die VM ist ein Client auf dem VM-Host. Du liest meine Antwort nicht richtig! Und bitte verwechseln/definieren Sie keine gemeinsamen Namenskonventionen!Necktwi