Я могу получить доступ к FTP-сайту с хост-компьютера Windows 10, но не с моей виртуальной машины на VMWare.

Я могу получить доступ к FTP-сайту с хост-компьютера Windows 10, но не с моей виртуальной машины на VMWare.

На моем хост-компьютере с Windows 10 я установил IIS + FTP Service (НЕ FTP Extensibility). С помощью программного обеспечения WinSCP я могу получить доступ к этому FTP-сайту с моего общедоступного статического IP-адреса. Я не могу получить доступ к своему FTP-сайту, если он размещен на виртуальной машине (Windows Server 2019) на VMWare Workstation. Я могу получить доступ к FTP-сайту с виртуальной машины, только если я отключу частный брандмауэр на этой виртуальной машине. Я перенаправил порт 21 (TCP) на моем домашнем маршрутизаторе на виртуальную машину. Я пробовал и мост, и сеть NAT на своей виртуальной машине, но в обоих случаях FTP доступен только при отключении частного брандмауэра. Какие дополнительные настройки мне нужно сделать, чтобы я мог запустить живой FTP-сайт на своей виртуальной машине?

решение1

Вот что я бы проверил:

  • Использует ли виртуальная машина сетевой мост? Если нет, переключитесь на него, чтобы ваша виртуальная машина не находилась за вторым виртуальным маршрутизатором VMWare, выполняющим NAT, который также должен перенаправлять порты. Так что если у вас только один IP, чего, я думаю, у вас нет, потому что вы упомянули домашний маршрутизатор, сначала переключите сетевой режим виртуальной машины на мостовой и посмотрите, что произойдет.

  • FTP — это необычный протокол, который в своей изначальной «активной» форме заставит сервер попытаться открыть порт обратно клиенту при подключении. Для этого требуется, чтобы все системы брандмауэра/NAT между клиентом и сервером понимали протокол и динамически разрешали трафик. Позже в протокол FTP был добавлен «пассивный» режим. Вместо этого клиент подключался к серверу дважды. В какой-то момент вам нужно было знать это и указать клиенту запросить пассивный режим. Современные клиенты FTP с графическим интерфейсом, похоже, понимают это и попробуют пассивный режим, прежде чем сдаться. Так что в идеале используйте пассивный FTP или, по крайней мере, протестируйте его, если вы можете явно указать это в клиенте.

Бонусные мысли:

  • Вам нужно использовать FTP? Если вы только предоставляете файлы для всего мира, это здорово. Но если вы аутентифицируете пользователей и/или позволяете людям РАЗМЕЩАТЬ вещи, вам, возможно, стоит взглянуть на SFTP. Он шифрует рукопожатие аутентификации и весь трафик между клиентом и сервером. Он также все работает через один порт, поэтому его легко пересылать или туннелировать по мере необходимости.
  • По моему опыту, запуск публичных HTTP или FTP-сервисов на Windows — не очень безопасный выбор. Поскольку у вас есть VMWare, у вас есть множество вариантов для других операционных систем, которые имеют лучшие показатели выживания в Интернете.

Связанный контент