2014-12-11 2 views
1

Я хочу получить доступ к именованному виртуальному хосту на своем Mac из браузера в Android, работающем на Genymotion. Genymotion - это оболочка на VirtualBox, поэтому разумно, что те же флаги и функции, которые доступны VirtualBox, должны быть доступны для виртуальных машин Genymotion.Как заставить Genymotion VM уважать настройки NAT и видеть узлы с именами сайтов?

Первоначально (с использованием Ubuntu VM для тестирования) Я получил это для работы с сетевым подключением NAT, с предостережением, которое я должен был присвоить IP-адресу, отличному от 127.0.0.1, к моей локальной сети (потому что я полагаю, имя хоста будет разрешено до 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

Ну, д'О. Он работает и работает хорошо, и вот почему он не для меня. Я прокрутил файл, чтобы найти соответствующий раздел, но на самом деле я редактировал настройки моментального снимка, а не настройки для текущего устройства.

Внутри узла <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 хоста, но это может быть полезно в других ситуациях.

В любом случае, я видел несколько вопросов об NAT от VirtualBox (или Genymotion) до разрешения NAT хоста, поэтому, надеюсь, это кому-то поможет. В конце концов, на самом деле было очень легко работать. Вероятно, есть некоторые другие перестановки, и если у кого есть дополнительные указатели, которые помогли бы кому-то, добавьте.