Содержание
- Что вы получите после настройки
- 1. Установка службы FTP в IIS
- 2. Создание FTP-сайта и базовые параметры
- 3. Настройка аутентификации и разрешений IIS
- 4. Настройка пассивного и активного режимов FTP
- 5. Назначение прав NTFS на файловой системе
- 6. Подключение к серверу через клиент (FileZilla)
- 7. Диагностика типичных проблем и ошибок
- Часто задаваемые вопросы
- Итог: Полностью рабочий FTP-сервер за 30 минут
Это практическое руководство по настройке 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 2022 | Server 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
- Откройте «Панель управления» → «Программы» → «Программы и компоненты».
- Выберите пункт «Включение или отключение компонентов Windows».
- Раскройте Internet Information Services → FTP Server и включите «FTP Service».
- При необходимости откройте раздел Web Management Tools и включите IIS Management Console, если консоль IIS Manager ещё не установлена.
- Компонент «FTP Extensibility» не является обязательным для обычного FTP-сайта. Включайте его только при необходимости расширений или интеграции, которым он требуется.
- Нажмите «OK» и дождитесь завершения установки.
Вместо графического интерфейса можно использовать PowerShell от имени администратора:
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole,IIS-WebServer,IIS-FTPServer,IIS-FTPSvc,IIS-ManagementConsole -All
Windows Server 2022: установка через Server Manager
- Откройте Server Manager и выберите «Добавить роли и компоненты сервера».
- Нажимайте «Далее», пока не появится тип установки, затем выберите установку ролей и компонентов на сервер.
- Выберите целевой сервер.
- В списке ролей раскройте «Службы веб-сервера (IIS)» → «Службы веб-сервера» → «Службы приложений».
- Выберите «FTP Server» и убедитесь, что включён «FTP Service». «FTP Extensibility» для базового FTP не требуется.
- Нажмите «Далее», затем «Установить». В качестве альтернативы выполните в 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:
- Откройте IIS Manager (можно найти через поиск Windows или выполнить команду
inetmgr). - В левом дереве подключений выберите ваш сервер (корневой узел).
- В центральной части окна найдите группу «FTP Sites» и щёлкните правой кнопкой мыши → «Add FTP Site…».
- В диалоге создания:
- FTP site name: Введите произвольное, но понятное имя, например «MainFTP».
- Physical path: Укажите абсолютный путь к папке, которая будет хранить файлы, например
C:\FTP_Share. Папка должна существовать или её можно создать прямо в этом диалоге.
- На следующем шаге «Binding and SSL Settings»:
- IP Address: Выберите «All Unassigned» или конкретный IP вашего сервера.
- Port: Оставьте стандартный порт 21 или выберите другой, если стандартный занят. При нестандартном порте это же значение потребуется указать в правилах NAT и в FileZilla.
- SSL: Для базового FTP без шифрования выберите «No SSL» только в изолированной локальной или тестовой среде. Для внешнего и любого недоверенного подключения используйте FTPS. Порядок настройки сертификата описан в статье Настройка безопасного FTPS сервера с шифрованием данных и Let's Encrypt.
- Нажмите «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:
- В IIS Manager выберите ваш FTP-сайт.
- В центральной области двойным щелчком откройте «FTP Firewall Support».
- В поле «Data Channel Port Range» задайте узкий управляемый диапазон, например 50000–50019 для небольшого числа одновременных подключений. Универсального значения нет: диапазон должен соответствовать ожидаемой параллельной нагрузке и быть зафиксирован в правилах firewall и NAT.
- В поле «External IP Address of Firewall» укажите публичный IP сервера, если он находится за NAT. Для локального сценария оставьте поле пустым.
- Нажмите «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.
Процесс назначения прав:
- Найдите физическую папку вашего FTP-сайта, например
C:\FTP_Share. - Щёлкните на папке правой кнопкой мыши → «Свойства» → «Безопасность».
- Нажмите «Изменить…» → «Добавить…».
- Введите имя локального пользователя или группы, которая будет использоваться для FTP-подключения, например «FTP_User» или «FTP_Users».
- Нажмите «Проверить имена», затем «OK».
- Выберите добавленного пользователя или группу и назначьте минимальный набор прав:
- для скачивания и просмотра — «Read & execute», «List folder contents» и «Read»;
- для загрузки, переименования и удаления файлов — «Modify». Это предпочтительнее, чем Full Control;
- в IIS при необходимости записи отдельно должно быть разрешение «Write».
- Проверьте наследование разрешений: права должны применяться к нужной папке, подпапкам и файлам согласно сценарию доступа. Не удаляйте системные разрешения без отдельной проверки.
- Нажмите «OK» для сохранения изменений.
Важно: Права IIS и NTFS проверяются независимо. Разрешение «Write» в IIS не компенсирует отсутствие записи в NTFS, а NTFS-права не дают доступ пользователю, который не разрешён в Authorization Rules.
6. Подключение к FTP-серверу через FileZilla
После завершения настройки сервера необходимо проверить его работоспособность с помощью клиента. FileZilla — один из самых популярных и удобных инструментов.
Шаги подключения в FileZilla Client:
- Запустите FileZilla Client.
- В верхней строке «Host» введите внутренний IP-адрес или имя сервера для локального подключения либо публичный IP/DNS-адрес для внешнего сценария.
- В поле «Port» укажите порт, обычно 21.
- В поля «Username» и «Password» введите учётные данные пользователя, которому назначены права в IIS и NTFS.
- Нажмите кнопку «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.