Как получить доступ к localhost: 8080, работающему на Ubuntu из Windows, запущенной в виртуальной коробке?

29

У меня есть IP-адрес для машины с Ubuntu, и я хочу получить доступ к приложению, работающему на локальном хосте в Ubuntu, из моего виртуального окна Windows. Есть ли способ сделать это? Ввод [адрес inet]: 8080 не работает.

Дж Бхам
источник

Ответы:

30

У Windows есть своя «собственная» localhost, так что вы должны «помочь» ей найти ту, что есть в Ubuntu.

В вашей виртуальной машине, перейдите на этот IP, http://10.0.2.2/и он должен работать. Вы можете отредактировать файл хоста Windows, чтобы localhostуказать этот IP-адрес, так что вам не нужно его запоминать.

В: C:\Windows\System32\drivers\etc\hosts

Добавлять:

10.0.2.2 localhost
Cmorales
источник
Потрясающе! Работает как шарм!
Иван Демченко
10

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

  1. Щелкните правой кнопкой мыши на виртуальной машине (пока она не запущена)
  2. Выберите « Настройки »
  3. Выберите « Сеть »
  4. На вкладке « Адаптер 1 » установите « Присоединен к » на « Мостовой адаптер ».
Eeroz
источник
4

Сначала убедитесь, что процесс веб-сервера запущен. Введите localhost:8080в окне браузера на вашем компьютере с Ubuntu. Если вы получили ожидаемую страницу, перейдите к следующему шагу, в противном случае запустите процесс веб-сервера и повторите попытку.

Во-вторых, убедитесь, что обе машины находятся в одной подсети. то есть что-то вроде 192.168.x.y/255.255.255.0и 192.168.x.z/255.255.25.0если нет, внесите необходимые коррективы и перейдите к следующему шагу.

В-третьих, проверьте, работает ли межсетевой экран на вашем сервере Ubuntu. Если это так, проверьте, открыт ли нужный порт ( 8080в вашем случае). Если вы не хотите открывать порт для публичного доступа, вы можете настроить правило для приема только трафика из локальной подсети.

Изменить: Шаг 0. Сделайте настройки, предложенные в ответе @Eeroz

hmayag
источник
2

Если вы используете Ubuntu, вы должны сначала отключить брандмауэр.

sudo ufw disable

Теперь найдите ваш ipv4-адрес в системных настройках-> Сеть и нажмите на стрелку подключенного Wi-Fi, чтобы получить больше информации об этом. Там вы найдете ipv4-адрес вашего компьютера. Тогда вы можете использовать localhost вашего компьютера в качестве

Http: // ipv4: portno / yourpagename

Не забудьте включить брандмауэр после завершения работы.

sudo ufw enable

ура

Вайбхав Гровер
источник
0

Если вы определили, что это ваш брандмауэр, я бы посоветовал добавить это правило вместо отключения брандмауэра:

sudo ufw allow 8080

Когда вы закончите, вы должны запустить:

sudo ufw status numbered

найдите числа в скобках. Скажи это [ 1]и [ 3]:

sudo ufw delete 1 3

Затем, если вы находитесь в виртуальном окне, вы перейдете к, http://10.0.2.2:8080если ваша сеть настроена как NAT. Вы можете сделать это для любого порта, и он будет работать так же.

Несмотря на то, что это дополнительная работа, вы никогда не должны отключать брандмауэр даже в защищенной сети.

Дэвид Камер
источник