如何让Genymotion VM尊重NAT设置并查看主机命名的站点?

时间:2014-12-11 11:44:52

标签: android virtualbox nat genymotion hosts

我想通过在Genymotion上运行的Android浏览器访问我的Mac上的命名虚拟主机。 Genymotion是VirtualBox的包装器,因此可以为Genymotion虚拟机提供VirtualBox可用的相同标志和功能。

最初(使用Ubuntu VM进行测试)我得到了在NAT网络连接上工作,需要注意的是我必须将127.0.0.1以外的IP别名到我的本地网络(因为我认为不然,主机名将在虚拟机上解析为127.0.0.1,该站点不是。() sudo ifconfig lo0 alias 192.168.0.100 up

使用以下命令,让主机解析VM的地址(以便使用主机的主机文件):
VBoxManage modifyvm "Nexus 5 - Android 5" --natdnsproxy1 on VBoxManage modifyvm "Nexus 5 - Android 5" --natdnshostresolver1 on

适用于Ubuntu VM,但不适用于Genymotion VM。接下来,我尝试了这个:

VBoxManage setextradata "Nexus 5 - Android 5" "VBoxInternal/Devices/virtio-net/1/LUN#0/Config/HostResolverMappings/ local-sites/HostIP" 192.168.0.100 VBoxManage setextradata "Nexus 5 - Android 5" "VBoxInternal/Devices/virtio-net/1/LUN#0/Config/HostResolverMappings/ local-sites/HostNamePattern" "*.local"

仍然没有快乐。它只是没有解决DNS。我已经手动编辑了.vbox文件以确定(我不确定通过命令行更改设置似乎对Genymotion VM有影响),但没有。

1 个答案:

答案 0 :(得分:0)

嗯,哦,哦。它确实有效并且运行良好,这就是它不适合我的原因。我向下滚动文件以找到相关部分,但事实上我正在编辑快照设置,而不是当前设备的设置。

在其中<Hardware version="n">为版本号的节点n内,找到Adapter slot="1"并修改NAT部分,如下所示:
<NAT> <DNS pass-domain="true" use-proxy="true" use-host-resolver="true"/> <Alias logging="false" proxy-only="false" use-same-ports="false"/> </NAT>

再往下,您可以在<GuestProperties>部分添加规则,例如:(例如): <ExtraDataItem name="VBoxInternal/Devices/virtio-net/1/LUN#0/Config/HostResolverMappings/ local-sites/HostIP" value="192.168.0.100"/> <ExtraDataItem name="VBoxInternal/Devices/virtio-net/1/LUN#0/Config/HostResolverMappings/ local-sites/HostNamePattern" value="*.local"/>

一旦我将主机NAT部分工作,我就不需要规则了,但在其他情况下这可能很有用。

无论如何,我已经看到了一些关于从VirtualBox(或Genymotion)到主机的NAT解析的NAT的问题,所以希望这有助于某人。毕竟,它实际上很容易上班。可能还有一些其他的排列,如果有人有额外的指针可以帮助某人,请添加。