У меня есть IP-адрес для машины с Ubuntu, и я хочу получить доступ к приложению, работающему на локальном хосте в Ubuntu, из моего виртуального окна Windows. Есть ли способ сделать это? Ввод [адрес inet]: 8080 не работает.
У Windows есть «своя» localhost
, поэтому вы должны «помочь» ей найти ту, которая есть в Ubuntu.
В вашей виртуальной машине перейдите на этот IP http://10.0.2.2/
, и он должен работать. Вы можете отредактировать файл хоста Windows, чтобы localhost
указывал на этот ip, чтобы вам не пришлось его запоминать.
В: C:\Windows\System32\drivers\etc\hosts
Добавить:
10.0.2.2 localhost
Вы можете настроить виртуальную машину на использование мостового соединения. Таким образом, виртуальная машина получит свой собственный IP-адрес, и вы сможете подключиться к хост-машине.
Если вы используете Ubuntu, вы должны сначала отключить брандмауэр.
sudo ufw disable
Теперь найдите ваш ipv4-адрес в системных настройках-> Сеть и нажмите на стрелку подключенного Wi-Fi, чтобы получить больше информации об этом. Там вы найдете ipv4-адрес вашего компьютера. Затем вы можете использовать localhost вашего компьютера как
http: // ipv4: portno / yourpagename
blockquote>Не забудьте включить брандмауэр после завершение вашей работы. Использование-
sudo ufw enable
Приветствия
Если Вы решили, что это - Ваш брандмауэр, я советовал бы добавлять это правило вместо того, чтобы отключить Ваш брандмауэр:
sudo ufw allow 8080
Когда Вы закончены, необходимо работать:
sudo ufw status numbered
найдите числа в скобках. Скажите, что это [ 1]
и [ 3]
:
sudo ufw delete 1 3
Затем если Вы будете на виртуальном поле, то Вы перейдете к http://10.0.2.2:8080
если у Вас есть свой сетевой набор как NAT
. Можно сделать это для любого порта, и он будет работать то же.
Даже при том, что это - некоторая дополнительная работа, Вы никогда не должны отключать свой брандмауэр даже в защищенной сети.
Сначала убедитесь, что процесс веб-сервера запущен. Введите localhost:8080
в окне браузера на вашем компьютере с Ubuntu. Если вы получили ожидаемую страницу, переходите к следующему шагу, в противном случае запустите процесс веб-сервера и повторите попытку.
Во-вторых, убедитесь, что обе машины находятся в одной подсети. то есть что-то вроде 192.168.x.y/255.255.255.0
и 192.168.x.z/255.255.25.0
. Если нет, внесите необходимые изменения и перейдите к следующему шагу.
В-третьих, проверьте, работает ли брандмауэр на вашем сервере Ubuntu. Если это так, проверьте, открыт ли нужный порт (8080
в вашем случае). Если вы не хотите открывать порт для публичного доступа, вы можете настроить правило для приема только трафика из локальной подсети.
Редактировать: Шаг 0. Выполнить настройки, предложенные в ответе @Eeroz