為了進行測試,我需要允許從本地網路路由到 VirtualBox 內的來賓。客人已經可以訪問外部。
到目前為止,我在本地電腦 (OSX 10.9) 上啟用了 ip 轉發,並添加了一條到本地網路電腦上的僅主機網路的路由。
route add -net 192.168.59.0 netmask 255.255.255.0 gw 192.168.0.107
sysctl -w net.ipv4.ip_forward=1
網路看起來就是這樣。
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
除非 VirtualBox 故意從外部丟棄資料包,否則這應該可以工作。
我的目標是192.168.0.104
連接到192.168.59.103
.到目前為止我只能192.168.59.3
從它ping。
另外,我的客人已經有另一個帶有預設網關的適配器,可以存取 wifi。
我可能缺少什麼路由或網路配置?
我也可以理解收到我的客人的資料包,但客人無法回复,但是 tcpdump 顯示如果我 ping 機器,則沒有 paquet 到達客人。此外,任何地方都沒有運行防火牆。
我的 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
答案1
僅主機網路模式不能用於將流量從本機網路路由到 VM 主機。您應該使用橋接、NAT 或 NAT 網路。對於後兩個,您需要一個連接埠轉送。
參考:
[1]https://www.virtualbox.org/manual/ch06.html#networkingmodes(請參閱第 6.2 節末的表格)[2]https://www.virtualbox.org/manual/ch06.html#network_hostonly