Как подключиться из Windows 7 к локальному хосту на Ubuntu VirtualBox?

10

Мой хост ОС Windows 7

Я использую сервер (разработки Django) на Ubuntu 10.04 в VirtualBox.

Я хочу подключиться к этому серверу (через мой браузер) на моем хосте Windows. Как я могу это сделать?

mpen
источник

Ответы:

12

Также возможно установить режим сетевого адаптера на «мостовой», тогда виртуальная машина будет рассматриваться как обычный компьютер с собственным IP-адресом.

eigenein
источник
Я установил его на «Мостовой адаптер». http://localhost:8000/работает на Ubuntu / Guest / VirtualBox, но не на моей машине с Windows / Host; говорит: «Firefox не может установить соединение с сервером на локальном хосте: 8000».
mpen
Хах! Понял. При запуске сервера пришлось явно указать свой собственный IP-адрес ./manage.py runserver <MY_IP>:8000. Тогда это работает на обеих машинах.
mpen
3
Попробуйте 0.0.0.0:8000, чтобы не передать точный IP.
eigenein
@eigenein: мне это нравится. Тогда я могу использовать localhostна Ubuntu, но я все еще должен использовать свой IP из Windows.
mpen
@Mark Это логично, потому что ваша виртуальная Ubuntu - это другая ОС на другом компьютере, поэтому Ubuntu не localhostдля Windows.
eigenein
6

Это сделало работу для меня:

Из памяти, если вы настроили VirtualBox с сетью NAT, я думаю, что вы можете получить доступ к службам, запущенным на хосте, из гостевой ОС. От гостя (WinXP) хост отображается как 10.0.2.2. Поэтому, если вы указываете свой веб-браузер WinXP на этот адрес, он должен подключиться к вашему серверу Ubuntu Apache. (Для хоста это соединение с localhost, я полагаю.)

http://ubuntuforums.org/showthread.php?t=682519

tm_lv
источник
Это решение также работало для меня в Windows 7. Мне пришлось использовать 10.0.2.2файл hosts.
Эрик Мажерус
3

Для этого вы должны перенаправить порт на вашей виртуальной машине.

Перейдите в командную строку и перейдите в папку вашего виртуального ящика, там вы можете выполнить следующие команды:

VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/HostPort" 8888
VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80
VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol" TCP

Поменяйте «имя виртуальной машины» на имя вашей виртуальной машины, а также на гостевой порт с портом, который использует ваш веб-сервер, так как он может использовать порт 8080 или что-то другое. После этого вы сможете получить доступ к серверу через http: // localhost: 8888 /, если я не ошибаюсь.

Редактировать: PS: насколько я помню, для этого нужно настроить сетевой адаптер на "NAT"

Редактировать 2: Руководство VirtualBox, которое можно найти здесь, включает в себя раздел о переадресации портов, выполненный немного иначе, чем описано здесь. Прочитайте это в главе 6.3.1. (Для версии 3.2.6)

private_meta
источник
После запуска этих команд я больше не могу загружать Ubuntu.
mpen
Эта команда VBoxManage modifyvm "VM name" --natpf1 "djangoserver,tcp,,8000,,8000", похоже, тоже не работает ... когда я пытаюсь получить к ней доступ как с localhost: 8000 на моей гостевой машине, так и с IP-адреса, заданного ifconfig.
mpen
К сожалению ... все еще было на мосту. Переключился обратно на NAT, и теперь это просто время ожидания ... интересно, что это значит?
mpen
Обнаружено это примечание в Django docs: «Обратите внимание, что IP-адрес по умолчанию, 127.0.0.1, недоступен с других компьютеров в вашей сети. Чтобы сделать ваш сервер разработки видимым для других компьютеров в сети, используйте его собственный IP-адрес или 0.0. 0.0 «. - попробовал это тоже, все еще "слишком долго, чтобы ответить"
mpen
2
Переадресация портов в этом случае должна работать таким образом, чтобы доступ к «localhost: 8888» или «127.0.0.1:8888» в хост-системе означал доступ к «localhost: 80» или «127.0.0.1:80» на гостевой машине, насколько мне известно. Возможно, вы можете попробовать переадресовать SSH или что-то подобное, чтобы увидеть, работает ли переадресация портов правильно. Кроме того, убедитесь, что сервер работает на вашей гостевой машине (используя гостевые машины firefox и открыв страницу?) PS ну, похоже, вы все равно уже получили свой ответ :)
private_meta
1

Моя хостовая и гостевая ОС - Windows 7, и единственный способ подключить их - настроить сетевой адаптер в режиме «NAT», а затем использовать IP 10.0.2.2, как @tm_lv написал https://superuser.com/a/287323/314495

Я попытался установить сетевой адаптер в режим "Brigde". Я отключил оба брандмауэра и использовал правильный IP, но не работал. Я не знаю почему.

Kikers25
источник