为了进行测试,我需要允许从本地网络路由到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
从中查验。
另外,我的客人已经有了另一个带有默认gw的适配器,该适配器允许访问wifi。
我可能会缺少什么路由或网络配置?
我也可以理解收到我的客人的数据包,但是客人无法回复,但是如果说我对机器进行了检查,tcpdump则不会显示客人收到任何信息。同样,没有防火墙在任何地方运行。
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
3
有什么原因不能仅将VM的网络适配器配置为桥接而不是仅主机?您实际上得到了相同的行为。
—
重载了2014年
相同?仅主机适配器是单独的网络,而桥接的AFAIK会将主机绑定到我的真实网络。这不方便,因为IP从办公室到家等时都会发生变化
—
。– kkx
我是VMware人士,但就像@heavyd所述,您应该能够使用Virtual Box设置私有或“仅主机” LAN,就像使用VMware Fusion或Workstation一样。
—
SaxDaddy14年
@SaxDaddy正是我在使用,但尝试将流量路由到该地址以进行测试。但是就像我说的那样,不应该/不应该工作(或者实际上做得太好了)。即使路由正确或MacOSX中的某些操作无法正确路由流量,纯主机适配器似乎仍将外部流量丢弃。
—
kkx
令我惊讶的是,没有人注意到此配置中的错误,因为它很明显:在route add命令中,仅主机网络被配置为将仅主机网络之外的PC用作网关。这可能行不通。正确的路由应该已将gw用作仅主机适配器上的mac接口的IP地址,而不是其默认LAN。还有其他的错误(为什么罗有192.168.59.3的路由表???一个地址),但在错误的路线添加毫无进展是可能的。我把这篇笔记留给了eventaul的读者。
—
MariusMatutiae