Вопрос или проблема
У меня есть Windows Server 2012 R2, выступающий в качестве FTP-клиента, которому необходимо получать файлы через FTP с другого устройства. Если я полностью отключу брандмауэр, передача проходит успешно. С включенным брандмауэром процесс проходит, но файл не удается сохранить на сервере Windows.
Я следовал инструкциям Microsoft по настройке брандмауэра Windows для пассивного режима FTP-сервера, но это по-прежнему привело к неудаче.
Я удалил предыдущее правило брандмауэра и заменил его следующим:
New-NetFirewallRule -DisplayName "FTP Service In" -Direction Inbound -Protocol TCP –Enabled True –Action Allow -Profile Any -Service ftpsvc -LocalPort Any -EdgeTraversalPolicy Allow
Я также пытался ограничиться только портами 20 и 21. Все с тем же результатом.
Есть ли предложения, как правильно настроить брандмауэр для разрешения трафика FTP для загрузки файлов?
На Windows Server (2012 и 2012R2), для получения файлов с использованием ftp get
, программе ftp.exe
необходимо предоставить доступ к портам 20, 21 и 1024-65535, поэтому необходимо создать новое правило брандмауэра. В этой ситуации Windows Server является FTP-клиентом, и правило брандмауэра может применяться только к программе FTP, но не к сервису (ftpsvc
).
New-NetFirewallRule -DisplayName "FTP In" -Direction Inbound -Protocol TCP –Enabled True –Action Allow -Profile Any -Program "%SystemRoot%\System32\ftp.exe" -Service Any -LocalPort 20,21,1024-65535 -EdgeTraversalPolicy Allow
Инструкции Microsoft из настройки брандмауэра Windows для пассивного режима FTP-сервера не полезны в вашем случае. Они применимы, когда вы запускаете FTP-сервер, но вы используете FTP клиент на вашем Windows Server.
Если Windows Server 2012 в этом случае действует как клиент в активном режиме, ему нужны только порты 20 и 21 и 1024-65535.
Ссылка Microsoft, которой вы следовали, относится к случаю, когда он действует как сервер, поэтому может не применяться.
Для получения дополнительной информации о портах, смотрите эту статью:
Настройка брандмауэров клиентов для успешных FTP-транзакций (извлечено 11-01-2017).
В случае, если вы не можете увидеть изображение: в ISS Manager > перейдите в ваши сайты > выберите сайт FTP > Поддержка брандмауэра FTP > Внешний IP-адрес брандмауэра – у вас, скорее всего, автозаполнение с IP брандмауэра. Измените это на локальный IP сервера и протестируйте FTP локально с самого сервера (например, с помощью клиента FileZilla). Если это работает, значит, вы знаете, что проблема в брандмауэре. Затем поменяйте IP обратно и обратите внимание на брандмауэр.
спасибо, это было полезно для меня
Если вам нужно устранить такую проблему, это рекомендуется:
У меня была подобная проблема, и я настоятельно рекомендую эти ОТЛИЧНЫЕ видео по настройке FTP:
https://www.youtube.com/watch?v=pSmlooPiHm4 (и два предыдущих видео).
Также кто-то предложил перезагрузить весь сервер Windows 2012 R2, если это возможно.
Наконец, что помогло в моем случае, это заменить внешний IP-адрес брандмауэра на локальный IP сервера.
В случае, если вы не можете увидеть изображение: в ISS Manager > перейдите в ваши сайты > выберите сайт FTP > поддержка брандмауэра FTP > Внешний IP-адрес брандмауэра – у вас, скорее всего, автозаполнение с IP брандмауэра. Измените это на локальный IP сервера и протестируйте FTP локально с самого сервера (например, с помощью клиента FileZilla). Если это работает, значит, вы знаете, что проблема в брандмауэре. Затем поменяйте IP обратно и обратите внимание на брандмауэр.
Ответ или решение
Настройка межсетевого экрана (firewall) для Windows Server, используемого в качестве FTP-клиента, может быть сложной задачей, особенно если он функционирует в режиме пассивного FTP. Проблема, с которой вы столкнулись, заключается в том, что передачи файлов проходят при отключенном межсетевом экране, но не удается сохранить файлы при его включении. Вот пошаговое руководство по устранению этой проблемы.
Шаг 1: Понимание режима работы FTP
FTP-протокол может работать в двух режимах: активном и пассивном. При работе в роли клиента, Windows Server, как правило, использует пассивный режим, который требует открытия большего диапазона портов, конкретно 1024-65535, вместе с портами 20 и 21 для управления подключением FTP.
Шаг 2: Настройка правил межсетевого экрана
Создайте новое правило в межсетевом экране Windows для программы ftp.exe, которое разрешает трафик на необходимых портах. Выполните следующую команду PowerShell для создания правила:
New-NetFirewallRule -DisplayName "FTP In" -Direction Inbound -Protocol TCP –Enabled True –Action Allow -Profile Any -Program "%SystemRoot%\System32\ftp.exe" -Service Any -LocalPort 20,21,1024-65535 -EdgeTraversalPolicy Allow
Это правило обеспечивает доступах программы ftp.exe ко всем необходимым портам, используемым для FTP-соединений.
Шаг 3: Перепроверка IP-адресов в настройках IIS Manager
Если ваш сервер также работает в качестве FTP-сервера или имеет связанные службы, проверьте настройки в IIS Manager:
- Откройте IIS Manager.
- Перейдите в Сайты и выберите ваш FTP-сайт.
- Найдите раздел FTP Firewall Support.
- Убедитесь, что в поле "External IP Address of Firewall" указан IP-адрес вашего локального сервера.
Измените его на локальный IP-адрес сервера и протестируйте FTP-соединение, чтобы исключить влияние внешнего IP-адреса.
Шаг 4: Рестарт сервера
Если изменения в настройках межсетевого экрана не помогли, рекомендуемым шагом является перезагрузка сервера Windows Server 2012 R2. Это может помочь применить изменения в правилах межсетевого экрана.
Шаг 5: Дополнительные источники и тестирование
- Используйте сторонние FTP-клиенты, такие как FileZilla, чтобы протестировать соединение и убедиться в корректности настроек.
- Ознакомьтесь с учебными материалами, такими как рекомендованные видео на YouTube, для более глубокого понимания работы FTP и настройки сервера.
Заметки:
- Применение Microsoft инструкции, касающейся настройки пассивного режима для FTP-сервера, может быть неактуально в контексте, когда Windows Server выступает как клиент.
- Обязательно следите за изменениями и обновлениями в документации Microsoft, касающимися безопасности и настроек сетевых протоколов.
Надеемся, что это руководство поможет вам правильно настроить межсетевой экран для успешной передачи файлов через FTP на Windows Server.