2

У меня есть домашний сервер под управлением ESXi v5.0.0 с гостевой ОС VM (linux).

У меня установлен apache 2.x, который обслуживает мою машину (т.е. я могу получить доступ к странице apache по умолчанию при переходе на http://localhost)

Я также могу получить к нему доступ через мой внутренний IP 192.168.1.X (который был сделан статическим для моего маршрутизатора) У хоста ESXi также есть ip (также статический), но, конечно, он отличается от виртуальной машины. В моем маршрутизаторе я перенаправляю порт 80 на внутренний IP-адрес ОС GUEST, но, похоже, это не разрешает внешний доступ к веб-серверу на гостевой ОС.

Я проверил, что сеть в конфигурации ESXi имеет виртуальный компьютер на виртуальной машине Netowrk и подключается к сетевой карте хоста. (Гость может получить доступ к внешнему миру).

Я подтвердил, что у меня есть правильный внешний IP-адрес (а также что я могу получить доступ к хосту извне [через временную переадресацию порта на порт хоста])

Примечание: на хосте есть только 1 карта NIC.

В итоге, как я могу заставить гостевую ОС принимать трафик из внешнего мира?

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

1 ответ1

2

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

tcpdump -i eth0 tcp dst port 80

подставляя "eth0" для того, что называется вашим интерфейсом. После этого попробуйте получить доступ к своей странице (я бы предложил использовать хост "вне вашей сети", например, мобильный телефон, используя интернет-провайдеры, а не ваш Wi-Fi). Когда вы запрашиваете страницу, вы должны видеть, что пакеты выводятся tcpdump, если ваша гостевая ОС их получает. Если это так, попробуйте проверить брандмауэр или конфигурацию вашего веб-сервера. Если вы не видите выходных данных из tcpdump, я бы начал искать маршрутизатор или хост.

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