Как получить доступ к моему локальному серверу на моей виртуальной машине VirtualBox?

9

Вот мои настройки:

  • На моей машине работает локальный сервер (Mac OS, Snow Leopard). Я могу получить к нему доступ через свой браузер, выполнив

    локальный: 3000

  • У меня есть виртуальная машина, использующая Virtual Box под управлением Windows XP. Если я пытаюсь получить доступ с помощью localhost: 3000, это не удается. То же самое, если я использую IP-адрес компьютера Mac.

  • Виртуальная машина имеет доступ к Интернету.

Как я могу получить доступ к своему локальному серверу на моей виртуальной машине?

marcgg
источник
если вы пытаетесь получить доступ к «localhost» на виртуальной машине, она пытается подключиться к себе, а не к серверу macosx. Я думаю, что ответы до сих пор пропустили этот момент
Brandstaetter
1
Я знаю, что это и старая ветка, но вот ответ stackoverflow.com/questions/1261975/…
deiga

Ответы:

16

Как у вас есть настройки сети в виртуальной машине?

Похоже, вы можете настроить его с помощью NAT. В этой ситуации, если ваш хост-компьютер (Mac) имеет немаршрутизируемый (частный) IP-адрес, такой как 192.168.xx, вы не сможете получить доступ к хосту из виртуальной машины. Причина, по которой вы не можете добраться до хоста от гостя, заключается в том, что вы по сути настраиваете две отдельные частные сети. Ваш компьютер Mac находится на одном (192.168.xx), а виртуальная машина - на другом (возможно, 10.xxx), и у вас по существу есть маршрутизатор между ними. Поскольку маршрутизаторы не будут маршрутизировать частные IP-адреса, две сети никогда не смогут взаимодействовать друг с другом напрямую.

Если вы хотите, чтобы ваши хост-и гостевые машины могли обмениваться данными, вам, вероятно, потребуется настроить сетевой адаптер VirtualBox для подключения к «мостовому адаптеру». Это разделит ваше интернет-соединение с виртуальной машиной и позволит вашей гостевой машине общаться с хостом. В этой ситуации вы, по сути, добавляете виртуальную машину в качестве дополнительного узла в локальную сеть, на которой уже установлен Mac.

heavyd
источник
В разделе «Мостовой адаптер» и хост, и гость будут иметь IP-адреса в одной подсети (т. Е. 192.168.xx), верно?
kdbanman
@kdbanman, правильно (при условии, что сеть хоста использует DHCP), виртуальная машина будет отображаться как другая машина в сети хоста.
тяжело
Это кажется гораздо более естественным способом настройки виртуальной машины. Зачем использовать отдельную частную сеть с NAT? Безопасность?
kdbanman
1
Да, NAT обеспечивает изоляцию. Кроме того, некоторые сети не позволяют подключаться только к любому хосту, поэтому использование NAT позволяет виртуальной машине получать доступ к сетевым ресурсам через интерфейс хостов. По этой причине он также используется в качестве настройки по умолчанию, поэтому он менее подвержен ошибкам, но я согласен, что в большинстве ситуаций я предпочитаю мостовой режим.
тяжело
1

В зависимости от сетевых настроек вашего vm, вам, вероятно, потребуется добавить дополнительный IP-адрес к хост-ОС, которая находится в той же подсети, что и ваш vm, чтобы они могли обмениваться данными. Ваш vm, вероятно, имеет адрес 192.168.xx, поэтому добавьте аналогичный адрес на компьютер Mac:

Например, если виртуальная машина имеет 192.168.1.99 и маску подсети 255.255.255.0, вы можете сделать это для своего хоста:

ifconfig eth0: 0 192.168.1.199 маска сети 255.255.255.0 up

Вам, вероятно, потребуется перезагрузить адаптер.

Джон Т
источник
1

У меня была точно такая же проблема, только я использовал Windows 7 в качестве гостя.

То, что я сделал, было Пуск -> Выполнить ->, cmdчтобы вызвать командную строку.

ipconfigподнять детали подключения. Ищите адрес, который выглядит как 10.xxx, это ваш Mac.

Теперь используйте это для подключения к локальному серверу на вашем Mac.

Для меня это обычно что-то вроде http://10.0.2.2:80/blah

Остин Хайд
источник