Я бы хотел получить доступ к своему хост-компьютеру из гостевой системы VirtualBox. Для моего хоста указан IP-адрес, который я могу использовать от гостя? Есть ли дополнительные шаги, необходимые для настройки? Я хотел бы получить доступ к службам Apache, FTP и SSH моего хоста.
5 ответов
Этот ответ о настройке гостевой ОС в 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
.
Доступ к веб-серверу хост-компьютера от гостя очень прост. Это можно легко сделать двумя способами. Сначала сделайте следующее
- Зайдите в Устройства и выберите Сетевые адаптеры ...
- В настройках адаптера установите флажок « Присоединен к».
Если значение равно 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
- если вы находитесь на Windows, запустите
- если вы хотите получить доступ к хосту, запустите браузер в гостевой и введите IP-адрес хоста
- если вы хотите получить доступ к гостю, запустите браузер на хосте и введите IP-адрес гостя
- найти IP-адрес хоста и гостя
Другой способ сделать это - использовать виртуальную сеть типа "Хост". Это дает вам интерфейс в гостевой ОС с адресом в локальной подсети, отличным от подсети "внешнего мира", в которой находится ваш хост-компьютер. Чтобы сделать это, вы должны убедиться в нескольких вещах:
- В вашей виртуальной машине настроен адаптер "только для хоста";
- Службы вашего хоста должны прослушивать все локальные адаптеры или, по крайней мере, те, с которыми вы хотите связаться;
- Ваш хост получит свой собственный виртуальный адаптер, и вы захотите выяснить его 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
Конечно, вы можете настроить как мостовые, так и хост-адаптеры.
Вот еще одно решение этой проблемы - использование дополнительного сетевого интерфейса и настройка трафика, предназначенного для хоста, для маршрутизации через дополнительный интерфейс.
Вы можете создавать общие папки в VirtualBox. Это автоматически создаст «общий сетевой ресурс» в Virtual Box для доступа к папкам в вашей ОС хоста.
Вот достойный шаг за шагом в гостевой ОС Windows XP: