Настройка FTP-сервера в IIS на Windows Server 2022 и Windows 11: пошаговое руководство для сисадминов | AdminWiki

Настройка FTP-сервера в IIS на Windows Server 2022 и Windows 11: пошаговое руководство для сисадминов

02 апреля 2026 13 мин. чтения
Содержание статьи

Содержание

Это практическое руководство по настройке FTP-сервера в IIS на Windows Server 2022 и Windows 11 для системных администраторов и DevOps инженеров. Windows 10 рассматривается отдельно как устаревшая платформа совместимости. Следуя шагам ниже, вы получите рабочий сервер примерно за 30 минут. Инструкция проверена в тестовой среде и содержит решения для типичных ошибок. Дата проверки: 24 августа 2026 года.

Важно: базовая настройка FTP не обеспечивает шифрование. Basic Authentication без SSL передаёт учётные данные без защиты, поэтому для недоверенных сетей используйте FTPS, а plain FTP ограничивайте изолированной локальной сетью или тестовой средой. Если нужно сравнить FTP с более безопасными протоколами, обратитесь к статье FTP vs FTPS vs SFTP: выбор протокола передачи файлов для DevOps и сисадминов.

Перед началом

  • Убедитесь, что у вас есть права локального администратора.
  • Определите сценарий подключения: локальная сеть или внешний доступ через NAT.
  • Подготовьте физическую папку FTP-сайта, локальный IP-адрес или DNS-имя сервера. Для внешнего доступа заранее проверьте публичный IP-адрес.
  • Заранее определите порт управления FTP — обычно TCP 21 — и управляемый диапазон портов пассивного режима.
  • Перед изменением конфигурации IIS сохраните резервную копию. Например, в PowerShell или командной строке с правами администратора выполните %windir%\system32\inetsrv\appcmd.exe add backup Before-FTP-Setup.

Платформа и способ установки

ПлатформаСпособ установкиПоддерживаемый сценарий
Windows Server 2022Server Manager или Install-WindowsFeatureКорпоративный сервер, локальный и внешний доступ при корректной настройке сети и FTPS.
Windows 11«Включение или отключение компонентов Windows» или Enable-WindowsOptionalFeatureРабочая станция, домашняя или тестовая среда; для production предпочтительнее Windows Server.
Windows 10Тот же механизм компонентов WindowsТолько совместимость с устаревшими системами. Поддержка Windows 10 завершена 14 октября 2025 года, поэтому новую FTP-службу на этой платформе разворачивать не рекомендуется.

Что вы получите после настройки

  • Рабочий FTP-сервер в IIS менее чем за 30 минут.
  • Предсказуемую работу в корпоративных сетях благодаря настройке пассивного режима и сетевых правил.
  • Контролируемый доступ к файлам через согласованные разрешения IIS и NTFS.
  • Готовые решения для типичных ошибок подключения, аутентификации и доступа.
  • Возможность автоматизации передачи файлов с помощью скриптов.

1. Установка FTP-сервера в IIS: пошаговая инструкция

Первым шагом является установка компонента FTP Server в службы IIS (Internet Information Services). На клиентской и серверной Windows используются разные интерфейсы установки, поэтому не следует применять инструкцию для Windows Server к Windows 11 без изменений.

Windows 11: установка через компоненты Windows

  1. Откройте «Панель управления» → «Программы» → «Программы и компоненты».
  2. Выберите пункт «Включение или отключение компонентов Windows».
  3. Раскройте Internet Information Services → FTP Server и включите «FTP Service».
  4. При необходимости откройте раздел Web Management Tools и включите IIS Management Console, если консоль IIS Manager ещё не установлена.
  5. Компонент «FTP Extensibility» не является обязательным для обычного FTP-сайта. Включайте его только при необходимости расширений или интеграции, которым он требуется.
  6. Нажмите «OK» и дождитесь завершения установки.

Вместо графического интерфейса можно использовать PowerShell от имени администратора:

Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole,IIS-WebServer,IIS-FTPServer,IIS-FTPSvc,IIS-ManagementConsole -All

Windows Server 2022: установка через Server Manager

  1. Откройте Server Manager и выберите «Добавить роли и компоненты сервера».
  2. Нажимайте «Далее», пока не появится тип установки, затем выберите установку ролей и компонентов на сервер.
  3. Выберите целевой сервер.
  4. В списке ролей раскройте «Службы веб-сервера (IIS)» → «Службы веб-сервера» → «Службы приложений».
  5. Выберите «FTP Server» и убедитесь, что включён «FTP Service». «FTP Extensibility» для базового FTP не требуется.
  6. Нажмите «Далее», затем «Установить». В качестве альтернативы выполните в PowerShell: Install-WindowsFeature Web-FTP-Server -IncludeAllSubFeature -IncludeManagementTools.

Проверка установки службы

Обычно перезагрузка не требуется, но при появлении запроса Windows следуйте ему. После установки проверьте службу в «Диспетчере служб»: она называется «Microsoft FTP Service». Дополнительные проверки:

  • На Windows Server 2022: Get-WindowsFeature Web-FTP*.
  • На Windows 11: Get-WindowsOptionalFeature -Online | Where-Object FeatureName -like 'IIS-FTP*'.
  • Состояние службы: Get-Service "ftpsvc".

Windows 10: режим совместимости

На Windows 10 FTP-компонент включается через «Включение или отключение компонентов Windows» тем же способом, что и на Windows 11. Однако поддержка Windows 10 завершена 14 октября 2025 года. Не используйте эту платформу для нового production-сервера без отдельной оценки рисков, изоляции сети и компенсирующих мер безопасности.

2. Создание FTP-сайта в IIS и базовые параметры

После установки службы необходимо создать сам FTP-сайт — логическую точку доступа, которая связывает сетевые параметры с физической папкой на диске.

Создание сайта через IIS Manager:

  1. Откройте IIS Manager (можно найти через поиск Windows или выполнить команду inetmgr).
  2. В левом дереве подключений выберите ваш сервер (корневой узел).
  3. В центральной части окна найдите группу «FTP Sites» и щёлкните правой кнопкой мыши → «Add FTP Site…».
  4. В диалоге создания:
    • FTP site name: Введите произвольное, но понятное имя, например «MainFTP».
    • Physical path: Укажите абсолютный путь к папке, которая будет хранить файлы, например C:\FTP_Share. Папка должна существовать или её можно создать прямо в этом диалоге.
  5. На следующем шаге «Binding and SSL Settings»:
    • IP Address: Выберите «All Unassigned» или конкретный IP вашего сервера.
    • Port: Оставьте стандартный порт 21 или выберите другой, если стандартный занят. При нестандартном порте это же значение потребуется указать в правилах NAT и в FileZilla.
    • SSL: Для базового FTP без шифрования выберите «No SSL» только в изолированной локальной или тестовой среде. Для внешнего и любого недоверенного подключения используйте FTPS. Порядок настройки сертификата описан в статье Настройка безопасного FTPS сервера с шифрованием данных и Let's Encrypt.
  6. Нажмите «Next» и перейдите к настройке аутентификации.

3. Настройка аутентификации и разрешений IIS для FTP

На этом этапе определяется, кто и как может подключиться к вашему FTP-серверу.

Безопасность: Basic Authentication без SSL передаёт имя пользователя и пароль без шифрования. Такой вариант допустим только в изолированной локальной сети или тестовой среде. Для недоверенных сетей настройте FTPS и не публикуйте plain FTP в интернет.

В диалоге создания сайта на шаге «Authentication and Authorization»:

  • Authentication: Выберите «Basic» для аутентификации по имени и паролю. «Anonymous» позволяет подключение без пароля — используйте его только для публичных, не защищённых ресурсов в контролируемой среде.
  • Authorization: Здесь задаются правила доступа.
    • В поле «Allow access to» выберите «Specified users» для конкретных учётных записей или «All users» для более широкого доступа.
    • В поле «Permissions» установите «Read» для скачивания и просмотра или добавьте «Write» для загрузки файлов. Не выдавайте больше прав, чем требуется сценарию.

Важно: Эти разрешения — только первый уровень контроля. Они управляют доступом на уровне службы IIS. Для фактической работы с файлами необходим второй уровень — права NTFS на самой папке. IIS и NTFS не заменяют друг друга: итоговый доступ ограничивается наиболее строгим из двух уровней.

4. Настройка пассивного и активного режимов FTP в IIS

Режим передачи данных критически влияет на успешность соединения, особенно в сетях с брандмауэрами и NAT.

ХарактеристикаАктивный режим (Active)Пассивный режим (Passive)
Инициатор соединения для данныхСервер подключается к клиентуКлиент подключается к серверу
Проблемы с брандмауэромЧасто блокируется на стороне клиентаТребует открытия диапазона портов на сервере
РекомендацияДля старых или полностью контролируемых сетейДля современных сетей, особенно с NAT

Локальный сценарий

Если клиент и сервер находятся в одной локальной сети, используйте внутренний IP-адрес или DNS-имя сервера. В поле «External IP Address of Firewall» обычно ничего указывать не нужно. На сервере достаточно разрешить порт 21 и диапазон пассивных портов в Windows Defender Firewall.

Внешний доступ через NAT

Если сервер находится за маршрутизатором, настройте проброс TCP 21 и всего диапазона пассивных портов с внешнего интерфейса на внутренний IP сервера. В поле «External IP Address of Firewall» укажите публичный IP-адрес. Если используется DNS-имя, убедитесь, что оно корректно разрешается в этот адрес и обновляется при его изменении.

Настройка пассивного режима в IIS:

  1. В IIS Manager выберите ваш FTP-сайт.
  2. В центральной области двойным щелчком откройте «FTP Firewall Support».
  3. В поле «Data Channel Port Range» задайте узкий управляемый диапазон, например 50000–50019 для небольшого числа одновременных подключений. Универсального значения нет: диапазон должен соответствовать ожидаемой параллельной нагрузке и быть зафиксирован в правилах firewall и NAT.
  4. В поле «External IP Address of Firewall» укажите публичный IP сервера, если он находится за NAT. Для локального сценария оставьте поле пустым.
  5. Нажмите «Apply» в правой панели действий.
Предупреждение: После этой настройки необходимо открыть порт 21 и указанный диапазон портов в брандмауэре Windows Defender. Для небольшого диапазона можно создать правила PowerShell:

New-NetFirewallRule -DisplayName "FTP Control" -Direction Inbound -Protocol TCP -LocalPort 21 -Action Allow

New-NetFirewallRule -DisplayName "FTP Passive Ports" -Direction Inbound -Protocol TCP -LocalPort 50000-50019 -Action Allow

При внешнем доступе аналогичный диапазон TCP 50000–50019 должен быть разрешён на маршрутизаторе или внешнем файрволе и направлен на тот же сервер. Без этого шага передача данных в пассивном режиме работать не будет.

5. Назначение прав NTFS для FTP-сервера на файловой системе

Права NTFS — это физический барьер на уровне файловой системы. Даже если в IIS пользователю даны права «Write», без соответствующих NTFS прав операция записи будет завершаться ошибкой «550: Access is denied».

Для управляемой конфигурации используйте отдельного локального пользователя, например «FTP_User», или специальную группу «FTP_Users». Не используйте для FTP учётную запись администратора и не назначайте Full Control, если достаточно Modify.

Процесс назначения прав:

  1. Найдите физическую папку вашего FTP-сайта, например C:\FTP_Share.
  2. Щёлкните на папке правой кнопкой мыши → «Свойства» → «Безопасность».
  3. Нажмите «Изменить…» → «Добавить…».
  4. Введите имя локального пользователя или группы, которая будет использоваться для FTP-подключения, например «FTP_User» или «FTP_Users».
  5. Нажмите «Проверить имена», затем «OK».
  6. Выберите добавленного пользователя или группу и назначьте минимальный набор прав:
    • для скачивания и просмотра — «Read & execute», «List folder contents» и «Read»;
    • для загрузки, переименования и удаления файлов — «Modify». Это предпочтительнее, чем Full Control;
    • в IIS при необходимости записи отдельно должно быть разрешение «Write».
  7. Проверьте наследование разрешений: права должны применяться к нужной папке, подпапкам и файлам согласно сценарию доступа. Не удаляйте системные разрешения без отдельной проверки.
  8. Нажмите «OK» для сохранения изменений.

Важно: Права IIS и NTFS проверяются независимо. Разрешение «Write» в IIS не компенсирует отсутствие записи в NTFS, а NTFS-права не дают доступ пользователю, который не разрешён в Authorization Rules.

6. Подключение к FTP-серверу через FileZilla

После завершения настройки сервера необходимо проверить его работоспособность с помощью клиента. FileZilla — один из самых популярных и удобных инструментов.

Шаги подключения в FileZilla Client:

  1. Запустите FileZilla Client.
  2. В верхней строке «Host» введите внутренний IP-адрес или имя сервера для локального подключения либо публичный IP/DNS-адрес для внешнего сценария.
  3. В поле «Port» укажите порт, обычно 21.
  4. В поля «Username» и «Password» введите учётные данные пользователя, которому назначены права в IIS и NTFS.
  5. Нажмите кнопку «Quickconnect».

Если соединение успешно, в правой части окна («Remote site») вы увидите содержимое папки сервера. Проверьте права: попробуйте создать новый файл или папку, загрузить файл с локального компьютера и скачать его обратно.

Настройка режима передачи в FileZilla: Если соединение устанавливается, но передача файлов не работает, проверьте режим. В меню выберите «Edit» → «Settings» → «Connection» → «FTP». Здесь можно выбрать «Passive» или «Active» режим. Для большинства настроек по этой инструкции следует использовать «Passive». Убедитесь, что в настройках FileZilla не стоит галочка «Fall back to active mode».

Если на сервере включён FTPS, настройте в FileZilla защищённое подключение с проверкой сертификата. Не передавайте пароль по plain FTP через недоверенную сеть.

7. Диагностика типичных проблем и ошибок FTP-сервера

Даже при точном выполнении шагов могут возникнуть проблемы. Вот их основные причины и решения.

ОшибкаВероятная причинаРешение
«Не удается подключиться к серверу»Порт 21 закрыт, служба остановлена или отсутствует сетевой маршрутПроверить firewall и доступность адреса, запустить Get-Service "ftpsvc", проверить порт 21 через Test-NetConnection
«530 User cannot log in»Неверные учётные данные, отключена Basic Authentication или нет подходящего правила авторизацииПроверить логин/пароль, включить Basic Authentication и проверить Authorization Rules в IIS
«550 Access is denied»Недостаточно прав NTFS или IISПроверить права NTFS на папке, наследование и правила авторизации IIS
«425 Can't open data connection»Закрыт диапазон портов пассивного режима, неверно задан внешний IP или отсутствует проброс NATПроверить FTP Firewall Support, Windows Defender Firewall, маршрутизатор и настройки Passive в FileZilla

Ошибка: «Не удается подключиться к серверу» (Connection failed)

  • Проверка доступности сервера: Убедитесь, что сервер доступен по сети. Команда ping показывает только доступность IP и не заменяет проверку FTP-порта.
  • Порт 21 и брандмауэр: Проверьте, открыт ли порт 21 на сервере для входящих подключений. В брандмауэре Windows Defender должно быть правило «FTP Server (Incoming Traffic)» или созданное самостоятельно правило для TCP 21.
  • Служба FTP: Убедитесь, что служба «Microsoft FTP Service» запущена в «Диспетчере служб». Для быстрой проверки используйте PowerShell: Get-Service "ftpsvc" | Select-Object Status, Name.
  • Проверка управляющего порта: Используйте Test-NetConnection -ComputerName localhost -Port 21 для проверки локальной доступности порта управления.

Ошибка: «530 User cannot log in» (Аутентификация)

  • Учётные данные: Проверьте правильность имени пользователя и пароля. Убедитесь, что пользователь существует, не отключён и не заблокирован политиками Windows.
  • Аутентификация в IIS: В свойствах FTP-сайта в разделе «FTP Authentication» убедитесь, что «Basic Authentication» включена.
  • Правило доступа: В разделе «Authorization Rules» проверьте, что пользователь или его группа добавлены с нужным разрешением.

Ошибка: «550 Access is denied» при попытке загрузки или удаления файла

  • Права NTFS: Это наиболее частая причина. Проверьте права NTFS на папке для FTP-пользователя, как описано в разделе 5. Для загрузки и операций с файлами обычно требуется «Modify».
  • Права IIS: Проверьте, что в разделе «Authorization Rules» для пользователя или группы установлено разрешение «Write», если требуется загрузка.
  • Наследование: Убедитесь, что разрешения применяются к нужной папке и не перекрываются запрещающими правилами.

Ошибка 425 Can't open data connection — решение

Эта ошибка связана с проблемой передачи данных, чаще всего в пассивном режиме.

  • Диапазон портов пассивного режима: Проверьте, что диапазон, заданный в «FTP Firewall Support» в IIS, открыт в брандмауэре Windows Defender.
  • NAT и внешний файрвол: Убедитесь, что TCP 21 и весь диапазон пассивных портов проброшены на внутренний IP сервера, а в IIS указан корректный внешний IP.
  • Настройка клиента: В FileZilla убедитесь, что используется пассивный режим (PASV).

Проблема: Передача данных не начинается (зависание после подключения)

  • Пассивный режим и диапазон портов: Сверьте диапазон в IIS, Windows Defender Firewall и NAT. Все три настройки должны использовать одинаковые значения.
  • Проверка активного соединения: Во время реальной передачи можно посмотреть текущие TCP-соединения командой Get-NetTCPConnection -State Established и убедиться, что данные идут по порту из заданного диапазона.
  • Журналы FTP: Включите ведение журнала на FTP-сайте в IIS Manager и сверьте коды ответов сервера с таблицей выше — так быстрее найти, на каком шаге обрывается сессия.

Часто задаваемые вопросы

Можно ли обойтись без FTPS в локальной сети?

Да, если FTP-сервер доступен только внутри изолированного сегмента и трафик не выходит за его пределы. Но даже в этом случае Basic Authentication передаёт пароли в открытом виде: не используйте для FTP учётную запись администратора и не публикуйте порт 21 в интернет. Для любого недоверенного канала нужен FTPS.

Какой диапазон пассивных портов выбрать?

Универсального значения нет. Отталкивайтесь от числа одновременных сессий: диапазон 50000–50019 закрывает небольшой офисный сценарий. Главное — диапазон должен совпадать в трёх местах: в «FTP Firewall Support», в правилах Windows Defender Firewall и в пробросе NAT.

Почему FTP подключается, а файлы не передаются?

Управляющее соединение идёт по TCP 21, а данные — по отдельному соединению. Если порт 21 открыт, а пассивный диапазон закрыт, вы увидите успешный вход и ошибку 425 Can't open data connection. Проверьте диапазон в IIS, брандмауэре и на маршрутизаторе, а в FileZilla включите «Passive».

Нужно ли давать FTP-пользователю права администратора?

Нет. Используйте отдельного локального пользователя или группу (например, FTP_User / FTP_Users) и выдавайте минимальные NTFS-права: Read & execute для скачивания, Modify для загрузки и правки файлов. Full Control для FTP-доступа не нужен.

Итог: Полностью рабочий FTP-сервер за 30 минут

Мы прошли весь путь: установили службу FTP, создали сайт, настроили аутентификацию и авторизацию, включили пассивный режим, раздали права NTFS и проверили подключение через FileZilla. Такой сервер закрывает задачи обмена файлами в локальной сети и корректно работает за NAT при правильно проброшенных портах.

Чек-лист перед публикацией:

  • Служба: компонент FTP Server установлен, служба «Microsoft FTP Service» (ftpsvc) запущена.
  • Сайт: FTP-сайт привязан к нужному IP и порту 21.
  • Доступ: в IIS включена Basic Authentication, в Authorization Rules выданы только необходимые права.
  • Сеть: пассивный диапазон задан в «FTP Firewall Support», открыт в брандмауэре и проброшен на NAT вместе с TCP 21.
  • Файлы: NTFS-права выданы выделенному пользователю или группе, Full Control не используется.
  • Безопасность: для недоверенных сетей настроен FTPS, plain FTP наружу не опубликован.

FTP остаётся рабочим инструментом для внутренних задач, но во внешний контур его выпускать не стоит. Если нужен защищённый канал, начните с настройки FTPS — порядок описан в статье Настройка безопасного FTPS сервера с шифрованием данных и Let's Encrypt.

Поделиться: