我想通过在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有影响),但没有。
答案 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的问题,所以希望这有助于某人。毕竟,它实际上很容易上班。可能还有一些其他的排列,如果有人有额外的指针可以帮助某人,请添加。