Leiten Sie den Datenverkehr vom lokalen Netzwerk zum Nur-VirtualBox-Hostadapter weiter

9

Für einen Test muss ich das Routing von meinem lokalen Netzwerk zu einem Gast in einer VirtualBox zulassen. Der Gast hat bereits Zugang von außen.

Bisher habe ich die IP-Weiterleitung auf meinem lokalen Computer (OSX 10.9) aktiviert und eine Route zum Nur-Host-Netzwerk auf dem Computer im lokalen Netzwerk hinzugefügt.

route add -net 192.168.59.0 netmask 255.255.255.0 gw 192.168.0.107
sysctl -w net.ipv4.ip_forward=1

Das Netzwerk sieht so aus.

Local network 192.168.0.104 -> [Wireless 192.168.0.0/24] -> MacOSX 192.168.0.107 (Wifi) & 192.168.59.3 (VboxHost) -> [VBox 192.168.59/24] -> 192.168.59.103

Sofern VirtualBox das Paket nicht absichtlich von außen verwirft, sollte dies funktionieren.

Mein Ziel wäre es 192.168.0.104, eine Verbindung herzustellen 192.168.59.103. Bisher kann ich nur davon pingen 192.168.59.3.

Außerdem hat mein Gast bereits einen anderen Adapter mit einem Standard-GW, der den Zugriff auf das WLAN ermöglicht.

Welche Route oder Netzwerkkonfiguration könnte mir fehlen?

Ich konnte auch verstehen, dass das Paket meinen Gast erhielt, aber der Gast nicht antworten konnte, aber tcpdump zeigt, dass kein Paquet jemals zum Gast gelangt, wenn ich sage, dass ich die Maschine anpinge. Außerdem läuft nirgendwo eine Firewall.

Routing-Tabelle auf meinem Mac

Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.0.1        UGSc           42        1     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              6  2943735     lo0
169.254            link#4             UCS             0        0     en0
192.168.0          link#4             UCS             3        0     en0
192.168.0.1        9c:d6:43:c8:cf:e8  UHLWIir        43    21647     en0   1199
192.168.0.104      8:0:27:c2:fc:68    UHLWI           0        7     en0   1068
192.168.0.106      0:15:99:77:73:ed   UHLWI           0       82     en0    845
192.168.0.107      127.0.0.1          UHS             2     9114     lo0
192.168.59         link#9             UC              3        0 vboxnet
192.168.59.3       a:0:27:0:0:0       UHLWI           0    69759     lo0
192.168.59.103     link#9             UHRLWIi         2    31866 vboxnet     1
kkx
quelle
3
Gibt es einen Grund, warum Sie den Netzwerkadapter Ihrer VM nicht einfach so konfigurieren können, dass er überbrückt wird, anstatt nur über den Host? Sie erhalten effektiv das gleiche Verhalten.
schwer
Das Gleiche? Der Nur-Host-Adapter ist ein separates Netzwerk, während überbrückte AFAIK den Host an mein reales Netzwerk bindet. Was unpraktisch ist, weil IP beim Wechsel von Büro zu Haus usw.
kkx
Ich bin ein VMware-Typ, aber wie bei @heavyd erwähnt, sollten Sie in der Lage sein, mit Virtual Box ein privates oder "nur Host" -LAN einzurichten, genau wie mit VMware Fusion oder Workstation.
SaxDaddy
@SaxDaddy Es ist genau das, was ich benutze, aber ich versuche, den Verkehr für einen Test dorthin zu leiten. Wie ich bereits sagte, funktioniert es nicht so, wie es sollte / will (oder es macht tatsächlich einen zu guten Job). Der Nur-Host-Adapter scheint den Datenverkehr von außen zu löschen, selbst wenn das Routing korrekt ist oder etwas in MacOSX den Datenverkehr nicht ordnungsgemäß weiterleitet.
kkx
4
Ich bin erstaunt, dass niemand den Fehler in dieser Konfiguration bemerkt hat, da er so offensichtlich ist: Im Befehl route add wurde das Nur-Host- Netzwerk so konfiguriert, dass ein PC außerhalb des Nur-Host-Netzwerks als Gateway verwendet wird. Das kann unmöglich funktionieren. Die richtige Route sollte als gw die IP-Adresse der Mac-Schnittstelle auf dem Nur-Host-Adapter verwendet haben, nicht das Standard-LAN. Es gibt andere Fehler (warum hat lo eine Adresse von 192.168.59.3 in der Routing-Tabelle ???), aber mit dem Fehler beim Hinzufügen der Route ist überhaupt kein Fortschritt möglich. Ich hinterlasse diese Notiz für eventaul Leser.
Marius Matutiae

Antworten:

1

Der Nur-Host-Netzwerkmodus kann nicht zum Weiterleiten des Datenverkehrs vom lokalen Netzwerk zu den VM-Hosts verwendet werden. Sie sollten Bridged, NAT oder NAT verwenden. Bei den letzten beiden benötigen Sie einen Port-Forward.

Verweise:

[1] https://www.virtualbox.org/manual/ch06.html#networkingmodes (Siehe Tabelle am Ende von Abschnitt 6.2) [2] https://www.virtualbox.org/manual/ch06.html# network_hostonly

Marcelo Roberto Jimenez
quelle
Entschuldigung, das stimmt nicht. Ich denke, die Dokumentation kann irreführend sein. Das Netzwerk nur für Hosts ist wie ein unabhängiges LAN wahr, aber LANs können Gateways haben, und nichts hindert den Host (oder sogar einen der Gäste) daran, als Router zu fungieren. Ich mache es die ganze Zeit unter LInux. Ich verstehe nicht, warum es unter OS-X nicht möglich sein sollte. Bridging und Routing sind zwei verschiedene Dinge.
Rodney
Beachten Sie, dass wir von Virtualbox definierte Begriffe verwenden, nicht den gesunden Menschenverstand. Die Worte haben mich irregeführt, deshalb habe ich auf die Tabelle in der Dokumentation hingewiesen.
Marcelo Roberto Jimenez