将流量从本地网络路由到VirtualBox仅限主机的适配器


9

为了进行测试,我需要允许从本地网络路由到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

4
令我惊讶的是,没有人注意到此配置中的错误,因为它很明显:在route add命令中,仅主机网络被配置为将仅主机网络之外的PC用作网关。这可能行不通。正确的路由应该已将gw用作仅主机适配器上的mac接口的IP地址,而不是其默认LAN。还有其他的错误(为什么有192.168.59.3的路由表???一个地址),但在错误的路线添加毫无进展是可能的。我把这篇笔记留给了eventaul的读者。
MariusMatutiae

Answers:


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


抱歉,那不是真的。我认为文档可能会产生误导。仅主机的网络就像一个独立的局域网一样,但是局域网可以具有网关,没有什么可以阻止主机(甚至来宾之一)充当路由器。我一直在LInux上执行此操作,我不明白为什么在OS-X上不应该执行此操作。桥接和路由是两件事。
罗德尼

注意,我们使用的是Virtualbox定义的术语,不是常识。我被这些词误导了,这就是为什么我指向文档中的表格。
马塞洛·罗伯托·希门尼斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.