Рубрики
Windows Веб-мастеринг Софт

Настройка ftp-сервера IIS на Windows 7

Иногда проще и быстрее передать файл через собственный ftp-сервер, чем закачивать на файлообменник. Ниже рассмотрена процедура установки и настройки ftp-сервера IIS, входящего в состав Windows 7.  

Содержание:

Установка FTP-сервера.

FTP-сервер входит в состав служб IIS. Для его установки открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. Раскрываем раздел Службы IIS и ставим галочки напротив следующих компонентов: Служба FTP и Консоль управления IIS.

Установка службы FTP
Установка службы FTP

Настройка FTP-сервера.

Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (можно быстрее: меню Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). В открывшемся окне раскрываем группу Службы и приложения и открываем Диспетчер служб IIS. В окне Подключения выбираем папку Сайты, затем в правом окне Действия нажимаем на ссылку Добавить FTP-сайт.

Создание FTP-сайта
Создание FTP-сайта

В мастере создания ftp-сайта указываем его название и расположение (по умолчанию c:\inetpub\ftproot).

Название и расположение сайта
Название и расположение сайта

Далее указываем параметры привязки и SSL. Раздел привязка оставляю без изменений. Опцию «Запускать ftp-сайт автоматически» отключаю (ftp мне нужен только время от времени). В разделе SSL выставляю опцию «Без SSL».

Параметры привязки и SSL
Параметры привязки и SSL

В следующем окне оставляем все без изменений и нажимаем Готово.

Сведения о проверке подлинности и авторизация
Сведения о проверке подлинности и авторизация

Сайт создан. Теперь можно перейти к дополнительным параметрам для тонкой настройки (например ограничить максимальное количество одновременных подключений). Выделите только что созданный сайт, справа в панели Действия нажмите на Дополнительные параметры.

Дополнительные параметры
Дополнительные параметры

Следующий этап — настройка брандмауэра Windows. Откройте Панель управления -> Система и безопасность -> Брандмауэр Windows -> Дополнительные параметры. В разделе «Правила для входящих подключений» находим и активируем «FTP-сервер (входящий трафик)» и «FTP Server Passive (FTP Passive Traffic-In)». Последнее правило позволяет подключаться ftp-клиенту в пассивном режиме.

Открываем порт 21 (входящий)
Открываем порт 21 (входящий)
Открываем порты 1023-65535 (пассивный режим)
Открываем порты 1023-65535 (пассивный режим)

В разделе «Правила для исходящего подключения» находим и активируем «FTP Server (FTP Traffic-Out)».

Открываем порт 20 (исходящий)
Открываем порт 20 (исходящий)

Если в системе установлен дополнительный брандмауэр (Comodo, Outpost и т.п.), то в нем также необходимо открыть порт 21 (TCP) для входящих подключений и порт 20 (TCP) для исходящих.

Если подключение к Интернет осуществляется с помощью маршрутизатора, и вы хотите сделать свой сервер доступным интернет-пользователям, тогда необходимо настроить проброс портов на маршрутизаторе. На моем Dlink DI-804HV это выполняется в разделе Virtual Server.

Настройка маршрутизатора
Настройка маршрутизатора

192.168.10.4 — ip-адрес ftp-сервера в локальной сети.

Настройка прав пользователей.

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

Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). Далее раскрываем группу Локальные пользователи и группы (данная настройка доступна только в редакциях Бизнес и Максимальная). Правый клик на папке Группы, в меню выбираем Создать группу.

Создание группы пользователей ftp (1)
Создание группы пользователей ftp (1)

Вводим название группы — Пользователи FTP, описание (можно не вводить) и нажимаем кнопку Создать.

Создание группы пользователей ftp (2)
Создание группы пользователей ftp (2)

Теперь необходимо создать пользователя. Делаем правый клик на папке Пользователи и в меню выбираем Новый пользователь.

Создание пользователя ftp (1)
Создание пользователя ftp (1)

Вводим имя пользователя (например ftp_user_1), пароль (не менее 6 символов), выставляем галочки напротив опций «Запретить смену пароля пользователем» и «Срок действия пароля не ограничен».

Создание пользователя ftp (2)
Создание пользователя ftp (2)

Пользователь создан. Теперь необходимо присвоить ему ранее созданную группу Пользователи ftp. Для этого открываем свойства пользователя и переходим на закладку «Членство в группах». По умолчанию новому пользователю присваивается группа Пользователи, удаляем ее. Нажимаем кнопку Добавить -> Дополнительно -> Поиск. Откроется список групп пользователей. Выбираем группу Пользователи FTP и нажимаем Ok. В итоге получаем:

Создание пользователя ftp (3)
Создание пользователя ftp (3)

Нажимаем Ok и переходим к следующему этапу.

На этапе создания ftp-сайта нам было необходимо выбрать рабочий каталог (c:\inetpub\ftproot). Теперь для группы «Пользователи FTP» необходимо настроить права доступа к этому каталогу. Открываем c:\inetpub в проводнике, открываем свойства папки ftproot, переходим на закладку Безопасность и нажимаем кнопку Изменить. В открывшемся окне нажимаем кнопку Добавить и выбираем группу «Пользователи FTP» (как при создании пользователя). Устанавливаем уровень прав — «Полный доступ» и нажимаем Ок.

Установка прав доступа к папке ftproot
Установка прав доступа к папке ftproot

Последний этап. Вновь открываем Диспетчер служб IIS и выделяем наш ftp-сервер (Test FTP). В панели управления ftp-сайтом выбираем «Правила авторизации FTP». Добавляем разрешающее правило. В открывшемся окне выбираем опцию «Указанные роли или группы пользователей». Внизу в текстовом поле руками прописываем название нашей группы (Пользователи FTP), далее ставим галочки в разделе Разрешения напротив Чтение и Запись и нажимаем Ок.

Добавляем правило авторизации FTP
Добавляем правило авторизации FTP

На этом настройка завершена.

В начале мы не выбрали опцию автоматического запуска сервера, поэтому не забываем запустить его вручную (правый клик на названии сайта -> Управление FTP-сайтом -> Пуск).

Как подключиться?

Вариант с использованием проводника Windows.
Открываем Компьютер (Vista, Win 7) или Мой Компьютер (XP).
Для анонимного доступа просто вводим в адресную строку адрес сервера (ftp://192.168.10.4).
Чтобы войти с именем пользователя и паролем вводим адрес вида: ftp://[имя пользователя]:[пароль]@[адрес ftp-сервера]. Например ftp://ftp_user_1:qwerty@192.168.10.4 — для подключения из локальной сети. Для подключения из Интернет локальный адрес заменяем на внешний или на доменное имя.

Как настроить анонимный доступ?

Как сделать свой ftp-сервер доступным из Интернет?

Если компьютер подключен к Интернет на прямую, то никаких дополнительных действий предпринимать не нужно.

Если компьютер подключен к Интернет через роутер, тогда в панели управления роутера необходимо настроить форвардинг порта TCP 21 (часто это еще называют виртуальным сервером). Настройка форвардинга порта на примере D-link DI-804.

Ссылки по теме:

508 ответов к “Настройка ftp-сервера IIS на Windows 7”

Всё настроил по инстр. Захожу на ftp — всё видно, но скачать или запустить не могу. Например в Опере пишет — Файл не найден.Вы попытались получить доступ к адресу ftp://…/%C1%EB%FF%E4%E8.mp3, который сейчас недоступен. Убедитесь, что веб-адрес (URL) введен правильно, и попытайтесь перезагрузить страницу.

Разобрался. Файл просто битый попался. Жотя медиа проигрывателем играется. Все другие файлы работают. Спасибо за описание. Есть вопрос — русские имена, если сохранять, принимают вид, типа такого — %C1%F0%E0%F2%E0%ED.mp3. Так и должно быть?

Очень понравилась статья, спасибо!

Настроил, пробовал дома и на работе. В обоих случаях интернет через роутер. Настроил dyndns — тоже работает.
Проблема такая: могу зайти на локальный фтп без проблем, как из браузера (разные пробовал — ie, ffox, chrome) так и из клиента total commander, и через http://ftp.exe тоже! Но если пытаюсь зайти на удаленный фтп, то получается только через total commander или http://ftp.exe, через браузер — просят логин пароль, затем долго думают и в итоге ошибка:
«в ходе открытия папки на фтп сервере произошла ошибка, убедитесь что у вас есть разрешение открывать эту папку. операция прервана по таймауту»
Где копать? На одной машине касперский, на другой нод32, файерволлы открывал, в роутере порт 21 пробросил.

Просто браузер требует пассивного режима, а для него над открывать дополнительные порты, одним 21-м тут не отделаться.
По умолчанию надо открыть порты с 1024 по 65535. Это слишком много, большой риск, поэтому этот диапазон надо сократить. Для этого откройте «Диспетчере служб IIS» -> далее глобальные настройки сервера (не отдельного сайта), и в них откройте раздел «Поддержка брандмауэра FTP», там будет опция «Диапазон портов канала данных», поставьте что-то типа 6600-6700 (главное использовать порты >1024, и чтобы этот диапазон не пересекался с какими-то другими вашими сервисами). Этот же диапазон надо пробросить на роутере.

«Это слишком много, большой риск, поэтому этот диапазон надо сократить.» — можно насчет этого подробнее? Для чего риск? Конфликт приложений или безопасность системы?
Какого диапазона достаточно будет? 100? 1000? 10?
Для чего там пунктик «внешний ип адрес брандмауэра»? его можно не заполнять?

Спасибо.

Открытый порт — это потенциальная возможность влезть на твой комп, чем больше таких портов, тем выше риск…

>Какого диапазона достаточно будет? 100? 1000? 10?
Думаю, 100-200 хватит

>Для чего там пунктик «внешний ип адрес брандмауэра»? его можно не заполнять?
Не заполняй. Для чего эта опция я сам до конца не уяснил…

Можно.
В свойствах папки, закладка Безопасность задаем нужные права доступа для каждой папки.
Еще вариант. Изоляция пользователей. В корне создаем папку LocalUser. В нутри нее создаем папки с именами пользователей. Включаем изоляцию пользователей. Пользователь сразу попадает внутрь своей папки и за ее пределы выходить не может.

Спасибо огромное, благодаря этой статье допетрил что мой провайдер закрыл 21 порт на входящее соединение. После смены на роутере входящего порта на 25**3-й и проброса на внутренний 21 все заработало в полную силу. Если у кого Дом.ру — имейте ввиду.

Спасибо за статью, очень помогла, но здесь не хватает одного шага:
Нужно зайти в Computer Management, выбрать свой ftp сайт, щелкнуть на FTP Authentification и сделать enable обоим видам доступа: анонимному и basic. Иначе будут выдаваться ошибки подключения типа «Неверный пароль».
Ещё раз спасибо за статью)

Ну меня устроил случай Анонимной проверки подлинности.
Так как при обычной проверки пользователей в Читалове написно «При обычной проверке подлинности через сеть передаются незашифрованные пароли. Обычную проверку подлинности следует использовать, только если известно, что используется безопасное подключение между клиентом и сервером (с применением SSL).»
Что Вы скажите про это?

В обычной проверки пользователей, меня так и не пускает по определенному пользователю — буду разбираться. Думаю какая то проблема именно с проверкой подлинности FTP, а Вы поставщиков не добавляли?

Да, обычная проверка подлинности считается потенциально уязвимой, тем не менее почти все ей пользуются… ))

> а Вы поставщиков не добавляли?
В обычном сценарии это не нужно…

20-й порт используется для исходящих соединений,  его не надо пробрасывать.

А порты из диапазона 1023-65535 используются только в пассивном режиме. Их пробрасывать не рекомендую из соображений безопасности (слишком много открытых портов).

Данное решение уже смотрел, таких записей у меня нет.
Переставлял и службы и сервер и пользака менял и права проверял.
Может быть в роутере дело (у меня Dir-615), хотя порт 21 пробросил (он точно открыт), брандмауэр тоже открыл.

Самое что интересное, если через внутренний пишет типа логин или пароль не верны, а если через внешний то типа Пользователь не может зайти! :(
Проверял логин и пароль железно на буржуйском, caps lock отлючен и пароль вводился 100 раз. :(

Давай сначала разберемся со внутренним, если он заработает, то и внешний тоже.

Проверь еще раз в настройках сайта раздел «Правила авторизации FTP» там должно быть правило для твоей группы. И раздел «Проверка подлинности FTP» здесь должна быть включена «обычная проверка подлинности».

Желательно этот сайт отключить и создать новый с нуля.

Если с новым сайтом та же фигня, попробуй вкачестве теста настроить анонимный доступ (см. здесь). Интересно заработает ли?

Настройка для анонимных пользователей, сайт открывается без запроса пароля, а откатываешься на группу не пускает, пользаков в группе всяких создавал, все равно не пускает, хм может служба еще какая нибудь не поднята?

Не подскажите почему при вводе логина и пароля выводит 530 User cannot log in.

Группы, пользователя, доступ к каталогу, брандмауер, все настройки раз сто проверил и все таже ошибка. Проверял и в браузере, тотале и фаре.

Здрасти) настроил FTP на одном из серверов… подключаюся нормально, авторизация проходит…при отправке файла нет вопросов…но при загрузке какого либо файла выдается сообщение «запрос на вход был отклонен», хотя полные права на корневую папку стоят и полные права для пользователя под которым авторизация проходит…вообщем все по инструкции

«При загрузке» — в смысле когда к себе качаешь? Обычно вот с записью проблемы )

Где то потерялось разрешение на чтение?? Посмотри «Правила авторизации», ну и в свойствах безопасности папки нет нигде галки в графе запретить (может случайно)?

Добавить комментарий