В VirtualBox, как я могу получить доступ к локальному хосту хоста из гостевой системы (Visual Studio Dev Server из виртуальной машины, тестирующей IE7)?
Хост-ОС Win7 работает под управлением MyApp на сервере разработки Visual Studio, привязана к localhost:51227, виртуальная машина - это VirtualBox, настроенный для NAT. Гостевая ОС - Win XP с установленным IE7. Моя цель - отладить MyApp (работает на хосте) из IE7 (работает на гостевой).
Сервер разработки Visual Studio связывается только с петлевым сетевым устройством (т. Е. С локальным хостом). Он не привязывается к внешнему IP-адресу моего хоста.
Я попытался получить доступ 10.0.2.2:51227 из IE7 на гостевой (и подтвердил, что 10.0.2.2 является адресом шлюза, использующим ipconfig), но похоже, что 10.0.2.2 привязывается к внешнему IP-адресу хоста, а НЕ к IP-шлейфу (localhost), так что это не работает.
Какие-либо предложения?
2 ответа
Самым простым решением для меня было использовать SPI Port Forward на хосте, чтобы разрешить доступ к моей локальной службе только через внешний сетевой интерфейс:
- Загрузите SPI Port Forward и запустите на хосте (без инсталлятора, загрузка - голый exe)
- Важное замечание: Брандмауэр Windows спросит, разрешено ли перенаправление портов SPI для доступа к публичным сетям. Установите флажок, чтобы разрешить доступ из общедоступных сетей.
- Установите для Локального порта значение 8888 (или как хотите), для удаленного узла - локальный, для удаленного порта - порт целевой службы на хосте (в моем случае 51227, так как VSDS работает на порту 51227), и нажмите "Активировать".
- Доступ 10.0.2.2:8888 от гостя.
Примечание: если 10.0.2.2 не работает, запустите cmd на гостевой системе, чтобы вызвать командную строку, и используйте "ipconfig", и используйте адрес шлюза по умолчанию, но в настоящее время VirtualBox для этого по умолчанию равен 10.2.2.2, поэтому его безопасная ставка.
Следует отметить, что эта конфигурация позволит ВНЕШНИЙ IP-ДОСТУП К VSDS, поэтому используйте с осторожностью... конечно, это может быть полезно, если вы хотите отладить поддержку мобильного телефона или что-то еще.
Хотя VirtualBox может получить доступ к интерфейсу обратной связи на хосте (как и любая другая программа, работающая на хосте), он не предоставляет средств для доступа к нему из гостевой ОС (что также имеет место в других известных мне решениях для виртуализации).
Если VirtualBox предоставил доступ к интерфейсу обратной связи хоста, он должен создать дополнительный интерфейс для каждого гостя, связанный с интерфейсом обратной связи хоста.
Почему этот дополнительный интерфейс? Поскольку на гостевой системе любой трафик, отправленный на 127.0.0.1, будет автоматически перенаправлен на собственный интерфейс обратной связи, а не на хост.
Я могу придумать обходной путь: привязать Visual Studio Development Server к 10.0.2.2. Таким образом, ваша среда разработки недоступна извне, но доступна гостю VirtualBox (хотя я прочитал в комментарии Джеймса выше, что это может быть невозможно, я прочитал рекомендации по привязке VS кw3p.exe
, который, кажется, работает по крайней мере на Windows 2003).