У меня есть Windows XP машина, на которой работает Ubuntu с виртуальной коробки. У меня есть сервер Apache, работающий на машине с Ubuntu. Я уже настроил переадресацию порта на виртуальной машине, поэтому, если я перейду на localhost: 8080 на компьютере с Windows XP, на котором запущена виртуальная коробка, я могу попасть на сервер ubuntu index.html. Однако, когда я пробую это с другого компьютера в сети, я не могу добраться до него. Я могу добраться до сервера Windows XP, но не до Ubuntu. Например, если я делаю 192.168.1.8:8080 ip моего компьютера с Windows XP, 8080 - это то, на что я перенаправил виртуальную коробку. Я получаю страницу может отображаться. Есть идеи?
2 ответа
Либо VirtualBox прослушивает только интерфейс localhost вместо внешнего интерфейса, либо на хосте установлен брандмауэр, который блокирует соединение. Как указано в документации VirtualBox, вы хотите настроить переадресацию портов без указания IP-адреса хоста, например:
VBoxManage modifyvm "VM name" --natpf1 "guesthttp,tcp,,8080,,80"
Если вы поместите что-то вроде 127.0.0.1 после второй запятой, вам нужно будет удалить и заново создать порт вперед.
Если переадресация порта верна, убедитесь, что брандмауэр Windows отключен или разрешает доступ к порту 8080.
По большей части VirtualBox работает в режиме NAT, а не в режиме Bridge.
Следовательно, VBox раздает IP-адреса вашим виртуальным машинам.