198

Я бы хотел получить доступ к своему хост-компьютеру из гостевой системы VirtualBox. Для моего хоста указан IP-адрес, который я могу использовать от гостя? Есть ли дополнительные шаги, необходимые для настройки? Я хотел бы получить доступ к службам Apache, FTP и SSH моего хоста.

5 ответов5

247

Этот ответ о настройке гостевой ОС в VirtualBox; вам просто нужно использовать адрес сетевого шлюза в гостевой ОС для подключения к хост-ОС из гостевой ОС.

В настройке Vagrant по умолчанию вы должны быть в состоянии достичь вашего хоста через шлюз по умолчанию.

В гостях на базе Windows вы можете легко определить этот IP-адрес, выполнив команду:

ipconfig

Это должно вывести что-то вроде этого:

Windows IP Configuration

Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 10.0.2.15
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 10.0.2.2

В этом примере гость может связаться с хост-машиной 10.0.2.2 .


На гостях на основе Unix/Linux используйте команду:

netstat -rn

Это должно вывести что-то вроде этого:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlan0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0

В этом примере гость может связаться с хост-машиной 192.168.1.1 .

32

Доступ к веб-серверу хост-компьютера от гостя очень прост. Это можно легко сделать двумя способами. Сначала сделайте следующее

  • Зайдите в Устройства и выберите Сетевые адаптеры ...
  • В настройках адаптера установите флажок « Присоединен к».
  • Если значение равно NAT, выполните следующие действия.

  • В качестве шлюза по умолчанию при настройке Virtual box обычно используется значение 10.0.2.2. Если вы ничего не изменили, это будет работать. Но если вы изменили его, а гостевая машина, на которой вы работаете, - это Windows, запустите следующую команду и найдите шлюз по умолчанию.

    ipconfig /all

    Если вы используете Linux, Unix или Mac OS, выполните следующую команду, чтобы получить его

    netstat -rn | grep 'default' | awk '{print $2}'

  • Перейдите в веб-браузер, введите шлюз по умолчанию и нажмите клавишу ввода. Доступ к веб-серверу

  • Если используется значение Bridged Adapter, выполните следующие действия.
    • найти IP-адрес хоста и гостя
      • если вы находитесь на Windows, запустите ipconfig и получите IP-адрес
      • если вы работаете в Linux, Unix или Mac OS, запустите ifconfig | grep 'inet' и получить IP-адрес
      • IP-адрес похож на 192.168.1.1
    • если вы хотите получить доступ к хосту, запустите браузер в гостевой и введите IP-адрес хоста
    • если вы хотите получить доступ к гостю, запустите браузер на хосте и введите IP-адрес гостя
8

Другой способ сделать это - использовать виртуальную сеть типа "Хост". Это дает вам интерфейс в гостевой ОС с адресом в локальной подсети, отличным от подсети "внешнего мира", в которой находится ваш хост-компьютер. Чтобы сделать это, вы должны убедиться в нескольких вещах:

  • В вашей виртуальной машине настроен адаптер "только для хоста";
  • Службы вашего хоста должны прослушивать все локальные адаптеры или, по крайней мере, те, с которыми вы хотите связаться;
  • Ваш хост получит свой собственный виртуальный адаптер, и вы захотите выяснить его IP-адрес и добавить его в файл hosts в вашей гостевой ОС (однако это работает для гостевой ОС; в Windows XP это просто " файл hosts "похоронен в C:/WINDOWS/system32/drivers/etc). Дайте ему имя, которое вы хотите использовать в качестве имени хоста хоста.

Как только вы это сделаете, вы сможете "увидеть" хост с виртуальной машины через имя, которое вы закодировали в файле хоста.

Например, на моем хосте Ubuntu 11.04 я получаю виртуальный интерфейс "vboxnet0" на 192.168.56.1. Адаптеры в машинах предлагают что-то вроде 192.168.56.101. Мне не нужно идти в моей виртуальной машины, но я полагаю , что это было бы возможно с помощью симметричного изменения в хост - файл хоста. я добавить

192.168.56.1 mymachine

к файлам хоста гостевой ОС, и они могут (например) видеть веб-сервер моего хоста по адресу

http://mymachine/whatever

Конечно, вы можете настроить как мостовые, так и хост-адаптеры.

0

Вот еще одно решение этой проблемы - использование дополнительного сетевого интерфейса и настройка трафика, предназначенного для хоста, для маршрутизации через дополнительный интерфейс.

0

Вы можете создавать общие папки в VirtualBox. Это автоматически создаст «общий сетевой ресурс» в Virtual Box для доступа к папкам в вашей ОС хоста.

Вот достойный шаг за шагом в гостевой ОС Windows XP:

http://www.giannistsakiris.com/index.php/2007/09/28/virtualbox-access-shared-folders-from-windows-xp-guest-os/

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