So aktivieren Sie das Routing in OS X El Capitan

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

Antworten (2)

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.

was ist das xml? Das ist die krasseste Verwendung von XML, die mir je untergekommen ist!
Diese ist von anderen Macs im Netzwerk 192.168.0.0 zu erreichen
Ich kann meine VM nicht einmal von meinem Router aus erreichen!
Ja, mein VM-Host ist für das Routing von Paketen von 192.168.0.0bis verantwortlich 192.168.56.0. Wie kann man also den Host (Mac) dazu bringen?
@neckTwi Bitte implementieren Sie meine Lösung. Melde dich wieder, wenn du immer noch Probleme hast. Ich habe es in einer ähnlichen Umgebung wie deiner getestet und es funktioniert. Bitte ändern Sie das Standard-Gateway auf der Linux-VM in 192.168.56.1 (da dies die interne Adresse des Hosts=Gateway ist).
Ja, ich habe Ihre Lösung implementiert. Ich habe das Standard-GW von VM auf 192.168.56.1 (MacHost) eingestellt. Statische Route zu 192.168.56.0 über 192.168.0.2 auf dem Router hinzugefügt. und tat es sudo route add -net 192.168.56.0 192.168.0.2auf dem MacHost. Ich kann den Router nicht von der VM aus anpingen.
@neckTwi Sie müssen die Route (und/oder den Launch-Daemon) auf jedem Host in Ihrem 192.168.0.0-Netzwerk mit Ausnahme des VM-Hosts hinzufügen. Und entfernen Sie die Route vom VM-Host mit sudo route delete -net 192.168.56.0 192.168.0.2und 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!
Ich habe außer meinem Mac kein anderes Gerät mit dem WLAN verbunden. Alles, was ich tun möchte, ist, die VM vom Router aus zu pingen. Und VM kann nicht einmal 192.168.0.2 (Host WiFi IP) pingen! Vielen Dank für Ihre Bemühungen zu helfen.

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-Figefunden wird mit networksetup -listallnetworkservices.