7

Хост-ОС Win7 работает под управлением MyApp на сервере разработки Visual Studio, привязана к localhost:51227, виртуальная машина - это VirtualBox, сконфигурированный с NAT. Гостевая ОС - Win XP с установленным IE7. Моя цель - отладить MyApp (работает на хосте) из IE7 (работает на гостевой).

Сервер Visual Studio Development привязывается только к петлевому сетевому устройству (т. Е. Localhost). Он не привязывается к внешнему IP-адресу моего хоста.

Я попытался получить доступ 10.0.2.2:51227 из IE7 на гостевой системе (и подтвердил, что 10.0.2.2 является адресом шлюза, использующим ipconfig), но похоже, что 10.0.2.2 привязывается к внешнему IP-адресу хоста, а НЕ к IP-шлейфу (localhost), так что это не работает.

Какие-либо предложения?

2 ответа2

8

Самым простым решением для меня было использовать SPI Port Forward на хосте, чтобы разрешить доступ к моей локальной службе только из внешнего сетевого интерфейса:

  1. Загрузите SPI Port Forward и запустите на хосте (без инсталлятора, загрузка - голый exe)
  2. Важное замечание: Брандмауэр Windows спросит, разрешено ли перенаправление портов SPI для доступа к публичным сетям. Установите флажок, чтобы разрешить доступ из общедоступных сетей.
  3. Установите для Локального порта значение 8888 (или как хотите), для удаленного узла - локальный, для удаленного порта - порт целевой службы на хосте (в моем случае 51227, так как VSDS работает на порту 51227), и нажмите "Активировать".
  4. Доступ 10.0.2.2:8888 от гостя.

Примечание: Если 10.0.2.2 не работает, запустите cmd на гостевой системе, чтобы вызвать командную строку, и используйте «ipconfig», и используйте адрес шлюза по умолчанию, но для этого в настоящее время VirtualBox по умолчанию равен 10.2.2.2, поэтому его безопасная ставка.

Следует отметить, что эта конфигурация позволит ВНЕШНИЙ IP-ДОСТУП К VSDS, поэтому используйте с осторожностью ... конечно, это может быть полезно, если вы хотите отладить поддержку мобильного телефона или что-то еще.

0

Хотя VirtualBox может получить доступ к интерфейсу обратной связи на хосте (как и любая другая программа, работающая на хосте), он не предоставляет средств для доступа к нему из гостевой ОС (что также имеет место в других известных мне решениях для виртуализации).

Если VirtualBox предоставил доступ к интерфейсу обратной связи хоста, он должен создать дополнительный интерфейс для каждого гостя, связанный с интерфейсом обратной связи хоста.

Почему этот дополнительный интерфейс? Поскольку на гостевой системе любой трафик, отправленный на 127.0.0.1, будет автоматически перенаправлен на собственный интерфейс обратной связи, а не на хост.

Я могу придумать обходной путь: привязать Visual Studio Development Server к 10.0.2.2. Таким образом, ваша среда разработки недоступна извне, но доступна гостю VirtualBox (хотя я прочитал в комментарии Джеймса выше, что это может быть невозможно, я прочитал рекомендации по привязке VS к w3p.exe, который, кажется, работает по крайней мере на Windows 2003).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .