1

Настроить:

Одна виртуальная машина CentOS 7.1, работающая на сервере Windows 10 Pro (предварительная версия 10074), внутри Virtualbox 5 beta 4 (также тестировалась на 4.3.8). Использование nginx/1.9.0 для обслуживания статических файлов HTML.

ВМ подключена к моей интрасети с использованием настройки NAT в Virtualbox. Я перенаправил порты 22, 80 и 443 с сервера на виртуальную машину, используя стандартные настройки Virtualbox.

Проблема:

Внутри виртуальной машины я могу использовать curl для извлечения любой страницы (curl localhost возвращает ожидаемый результат). Однако, если я пытаюсь получить страницу с сервера Windows хоста или любых других клиентов интрасети - либо по IP-адресу, либо по локальному хосту на хосте, я получаю сообщение об ошибке "невозможно подключиться" или "сброс подключения".

Используя netstat на виртуальной машине, я проверил, что nginx прослушивает порты 80 и 443 на 0.0.0.0 и [::]. Я также проверил на сервере Windows, что порты 80 и 443 не используются, когда виртуальная машина не работает, и их прослушивают, когда она работает.

При проверке журналов, созданных nginx, access.log содержит только мои запросы curl - и ничего не значится в моем error.log.

Тем не менее, я также запускаю sshd на сервере (на порту 22) и могу подключиться к нему с любой машины в моей внутренней сети (и внешне, когда я пересылаю порты на моем интернет-маршрутизаторе), поэтому я не верю, что это брандмауэр вопрос.

Попытки решения:

Я пробовал как открыть брандмауэр Windows, чтобы разрешить входящие подключения к портам 80/443, так и добавить Virtualbox к исключениям программы. Я также попытался полностью отключить брандмауэр.

Я попытался перейти на порты> 1000 на хост-сервере - но поскольку порт 22 работает нормально, это не имеет особого смысла.

К сожалению, я не могу изменить свое подключение к виртуальной машине с NAT на любой другой тип. Кажется, что Virtualbox пока не поддерживает мосты адаптера в Windows 10 (я пробовал несколько переустановок и новую бета-версию).

1 ответ1

1

Мне нужно было использовать firewall-cmd для разрешения трафика http и https через брандмауэр виртуальной машины. Старые версии CentOS будут использовать iptables .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .