Назад | Перейти на главную страницу

виртуальный ящик просматривать гостевой порт 80 на хост-порт 80

Итак, я пытаюсь перенаправить гостевой порт 80 на мой хост-порт 80, чтобы я мог просматривать apache, запущенный на моем гостевом компьютере, в браузере моего хоста.

Если я установлю следующее: (8080/80), я могу просмотреть localhost: 8080 и увидеть гостевой сервер apache.

Когда я устанавливаю host на 80, а guest на 80, это не работает. Как мне заставить гостя 80 направить его на хост 80?

Предположим, что работа в режиме NAT обязательна.

Из вашего скриншота видно, что вы используете VirtualBox в OS X - это правильно?

Если это так, по умолчанию учетная запись пользователя не может создавать конечные IP-точки, которые прослушивают порты ниже 1024. У вас есть два варианта, если вам абсолютно необходимо, чтобы что-то прослушивало порт с низким номером:

  • Вы можете запустить VirtualBox как root (или другую привилегированную учетную запись), но это не рекомендуемое решение, поскольку оно имеет тенденцию обходить многие ограничения безопасности.
  • Вы можете добавить правило переадресации к своему брандмауэру, скажем, с порта 8080 на 80, чтобы автоматически перенаправлять трафик за вас. Ваш VirtualBox по-прежнему будет настроен на пересылку порта 8080. В двух словах:

    • Откройте терминал и введите sudo vi /etc/ipfilter/ipfw.conf
    • Добавьте эту строку: add 12001 fwd 127.0.0.1,8080 tcp from any to me dst-port 80
    • Сохраните и закройте файл: :wq

Отказ от ответственности: у меня нет Mac передо мной, не говоря уже о недавней копии OS X - поэтому, хотя идеи высокого уровня все еще применимы, фактические детали настройки правил пересылки брандмауэра могут немного отличаться в зависимости от того, какая версия вы сейчас работаете.

Возможно, есть более эффективные способы справиться с этим. Например, если вы настроите второй виртуальный адаптер для своего гостя и настроите его как «только для хоста», вы сможете получить доступ к любому из портов на гостевом компьютере с вашего хоста без необходимости перенаправлять какие-либо порты. Это может не иметь смысла, если вам нужно совместно использовать гостя в вашей сети - в этом случае, возможно, виртуальный адаптер «Мостовой» будет иметь больше смысла. Я бы посоветовал прочитать о различных сетевых режимах в главе 6 Руководства по VirtualBox: https://www.virtualbox.org/manual/ch06.html

возможно, порт 80 заблокирован вашим интернет-провайдером, но он отлично работает с VirtualBox, как вы это проверяете? предоставьте более подробную информацию.