FTP-Сервер обеспечивает возможность передачи файлов между клиентом и сервером с помощью протокола FTP. Здесь будет рассказано как запустить FTP-сервер в Windows Server 2008 R2.
0. Оглавление
1. Добавление службы FTP-сервер
FTP-Сервер является службой роли «Веб-сервер (IIS)» , поэтому для начала нужно установить данную роль. Для этого заходим в диспетчер сервера («Пуск» — «Администрирование» — «Диспетчер сервера»). Раскрываем вкладку «Роли» и нажимаем «Добавить роли» . Если веб-сервер уже был установлен раннее, то необходимо кликнуть правой кнопкой мыши на названии роли в диспетчере сервера и выбрать «Добавить службы ролей» .
В запустившемся мастере нажимаем «Далее» , выбираем роль «Веб-сервер (IIS)» и 2 раза жмем «Далее» .
Теперь надо выбрать службы для данной роли. По умолчанию уже отмечены службы, необходимые для работы web-сервера. Листаем вниз и отмечаем службу «FTP-Сервер» . Затем жмем «Далее» , «Установить» и дожидаемся сообщения об успешной установке роли.
2. Добавление FTP-сайта
Теперь в диспетчере сервера, раскрыв вкладку «Роли» мы видим добавленную только что роль «Веб-сервер (IIS)» . Кликаем по ней 2 раза и заходим в «Диспетчер служб IIS» (доступен также через «Пуск» — «Администрирование» — «Диспетчер служб IIS» ).
В диспетчере служб IIS мы видим, что у нас уже добавлен сайт по умолчанию «Default Web Site» (Чтобы его просмотреть можно набрать в строке браузера http://localhost/ ) , нам же надо добавить новый ftp-сайт. Для этого кликаем правой кнопкой мыши в окне «Подключения» и выбираем «Добавить FTP-сайт» .
Запустится мастер добавления FTP-сайта. Придумываем имя FTP-сайта (только для нас), указываем расположения каталогов для сайта и жмем «Далее» .
На следующей странице, в меню «Привязки» оставляем «Все свободные» и можно поменять порт по умолчанию, если вам это надо. Далее, если у вас есть доменное имя, и вы хотите чтобы по нему был доступен FTP-сайт, записываем его в поле «Виртуальный узел» (О доменном имени и привязке его к IP адресу можно прочитать здесь). У меня это ftp.tavalik.ru, в противном случае НЕ включаем опцию «Разрешить имена виртуальных узлов» . Оставляем галочку «Запускать FTP-сайт автоматически» (чтобы сайт запускался автоматически при запуске компьютера), выбираем пункт «Без SSL» (в этой статье я не буду рассматривать данный протокол) и жмем «Далее» .
Теперь настраиваем уровень доступа к FTP-сайту. Устанавливаем проверку подлинности «Анонимный» , только если хотим оставить анонимный доступ к сайту и выбираем «Обычная» для обычной проверки доступа. Далее необходимо выбрать для каких пользователей будет доступен наш FTP-сайт. Можно выбрать группы пользователей или перечислить имена пользователей через запятую. Я же выбираю «Все пользователи» , устанавливаем флаги «Чтение» и «Запись» и жмем «Готово» .
Все, на этом наш FTP-сайт готов. Для проверки можно набрать в браузере ftp://<%вашдомен%>, если Вы делали привязку к доменному имени, или ftp://localhost в противном случае.
Если вы настраивали все так же, как описано у меня, то FTP-сайт доступен для всех пользователей, имеющихся в системе (о том как добавить пользователя я писал здесь). Кроме того, все параметры вводимые при добавлении FTP-сайта можно изменить в любое время в меню управления сайтом, а также в меню «Действия» , выделив его в диспетчере служб IIS.
3. Детальная настройка уровня доступа для FTP-сайта
Наш FTP-сайт настроен и работает, теперь надо настроить уровень доступа пользователей на FTP. Сделать это можно, например, выбрав пункт «Правила авторизации FTP» в меню управления сайтом. На скриншоте ниже, настройки установлены таким образом, что группе «Администраторы» позволены запись и чтение на сайте, а группе «Пользователи» только чтение:
Более детально, уровень доступа можно настроить управляя параметрами безопасности для каталогов и файлов в директории, где находится FTP-сервер. В моем случае это C:\my_ftp\ . Заходим в свойства папки, выбираем вкладу «Безопасность» затем нажимаем «Изменить» и выбираем уровень доступа для пользователей и групп пользователей. Аналогично настраивается безопасность для вложенных папок и отдельных файлов.
спасибо!
Сделал все по алгоритму. При попытке подключиться через FileZilla выдает ошибку:
Status:Resolving address of ftptest123.com
Status:Connection attempt failed with «EAI_NONAME — Neither nodename nor servname provided, or not known».
Error:Could not connect to server
В браузере тож не может найти его. Перезапускал ftp-сервер, не помогло. Брандмауэр выключен.
А с сервера по ftp://localhost работает?
Сделал все по алгоритму. При попытке подключения с любого места (localhost, имя_сервера, IP_сервера) любым способом (Opera, Total Commander) запрашивает логин/пароль. Логины/пароли пользователей, прописанных на сервере, не принимает (в т.ч. и админские). Не взирая на типы разрешений доступа к ftp выдает ошибку 530. В какую сторону копать?
Для решения проблемы, в качестве имени пользователя нужно указывать еще и домен. Например, у вашего FTP-сервера домен: http://ftp.domen.ru. Имя учетной записи: admin. Пароль: 123.
При подключении, адрес сервера будет: http://ftp.domen.ru, порт 21 (по умолчанию). Имя пользователя: http://ftp.domen.ru|admin. Пароль: 123.
Всё сделал по инструкции, теперь просит логин и пароль. admin;123 не подходит. От своего сервера пароль тоже вводил, ниже не работает!!!!!!!
А вообще не сервер вы можете зайти с такими учетными данными? Также проверьте что у пользователя admin есть права на доступ к FTP-серверу.
Здравствуйте, Не получилось… Все сделал как написано. Зарегистрировал домен reklamaest.ru в настройках FTP указал — . При подключении долго грузит страницу и все на этом…
А по ссылке ftp://localhost на самом сервере работает?
Получилось… Не правильно порты пробросил. Теперь другая загвоздка — требует пароль… хотя тип аутентификации поставил для всех открыт… пароли пользователей вводил — не подходят. Пароль админа сервера вводил — не подходит… Как убрать эти пароли?
ftp://localhost заходит, но из внешней сети не подходят пароли
Здравствуйте! Настроил фтп сервер за НАТом. Имеется роутер зуксель. в сети роутера есть комп на котором виртуалки. на одной из виртуалок развернул фтп сервер. Сделал проброс портов с белого ип на внутреннюю сеть. при выборе обычных пользователей выскакивает окно авторизации. Прочитав комментарии так и не понял что нужно сделать, чтобы пользователи могли авторизироваться. Подскажите пожалуйста как это сделать? Есть просто задача разграничить доступ на фтп при резервном копировании данных на последний.
Кстати, на ftp://localhost не заходит, наверное, по причине проброса портов.
День добрый!
Помогите пожалуйста.. Решил проверить схему сети с фтп сервером (отдельной машиной в локальной сети) в vmware.. Сделал все по вышенаписанному (с учетом комментариев), но постоянно появляющееся сообщение появляется все равно:
если указывать адрес ftp://localhost/ пишет:
«Отсутствует доступ к папке. Убедитесь что имя файла задано правильно, и у вас имеется разрешения на доступ к папке. Подробности: (пусто, ничего не пишет)»
если указывать ftp://admin.com (имя домена) то пишет:
«Отсутствует доступ к папке. Убедитесь что имя файла задано правильно, и у вас имеется разрешения на доступ к папке. Подробности: Сброшено подключение к этому серверу»
Добавлял пользователей где только можно: и в ad, и в диспетчере на фтп сервере, и в свойствах самой папки.. Но результат все тот же(((
Уже третий день бьюсь — идеи кончились, а решения как не было, так и нет..
Может упустил какую мелочь, но вроде проверял все досконально раз 20…
Помогите советом — уж очень сервер нужен…
Т. к. Вы работаете в виртуальной среде, могу Вам порекомендовать следующее:
1. Установите Windows Server с нуля в виртуальной машине, не вводя сервер в домен.
2. Настройте FTP-сервер по данной инструкции. Проверьте что все работает.
3. Введите сервер в домен, проверьте работоспособность в данном случае.
4. Если не работает, разбираетесь с настройками безопасностью в домене.
Добрый день.
Локалхост работает. Домена нет привязанного. Но если пытаюсь зайти через Инет (браузер или тоталкоммандер) ftp://94.249.192.144 — не может подключиться!
В чем причина может быть?
1. Проверьте настройки брандмауэра. Попробуйте вообще отключить брандмауэр или другие сетевые экраны, если они есть.
2. Попробуйте зайти на ftp по внутреннему IP с компьютеров в локальной сети.
3. Если с локальной сети заходит, проверьте, проброшен ли на порт на маршрутизаторе.
Добрый день, спасибо FTP сервер работает), но есть не большая проблема с медиа файлами в веб браузере я их не могу скачать. Так как они там воспроизводятся фильмы музыка. Другие файлы скачивает, подскажите как исправить.
Добрый день.
Я также сталкивался с подобной проблемой. В данном случае все зависит от текущих настроек браузера.
Могу вам только порекомендовать использовать пункт контекстного меню «Сохранить как…».
Добрый денью. Сделал все как написано, теперь сайт работает в локалке, а по внешнему ип не заходит, говорит не удалось получить список каталогов… Как быть?
Если у вас есть домен, попробуйте при входе на FTP-сервер ввести доменную учетную запись. Или же создайте локального пользователя, настройте для него права доступа к папкам FTP и попробуйте зайти извне под этим пользователем.
У нас нет домена, просто статичный ип.
Права к папкам пользователю назначены как показано.
не понимаю в чем проблема
Несколько откликов здесь было об этой проблеме, поэтому, имхо, ее надо включить в текст статьи
Логин должен быть вида http://ftp.tavalik.ru|Онянов (Онянов — имяпользователя)
Об этом написано в http://www.net24.co.nz/kb/article/AA-00201/25/Virtual-Private-Servers/Windows/Error-530-Valid-Hostname-is-expected-using-FTP-to-IIS7.html
или о поиску в yahoo.com по словам 530 Valid Hostname is expected можно найти более подробные объяснения.
Может и можно настроить, чтоб имя пользователя было без виртуальной добавки, но в статье об этом не сказано (может снять галку про «разрешить имена виртуальных узлов»?)
Зачем-то при отправке сообщения ваш движок добавляет перед «ftp» в предыдущем моем сообщении «http://», которые я не писал, и еще подчеркивает-делает ссылкой
Из-за этого логин искажается, делается непонятным и неверным, как у Артура в сообщении выше.
Сделал все по инструкции не могу авторизоваться для просмотра контента, дал доступ локальному администратору на каталог содержимого, в окне авторизации набираю логин и пароль администратора, окно мигает и опять предлагает авторизоваться, не пойму в чем дело
Трудно сказать. А по ftp://localhost заходит?
Ну окно авторизации появляется но авторизоваться невозможно, временное решение сделал доступ для анонимных пользователей но в будущем нужно сделать контролируемый доступ. Сервер в домене на него приходит интернет с белым IP адресом, на сервере стоит прокси сервер traffic inspector, 21 порт слушется, доступ к ftp с внешки сделал Почему авторизация не проходит для меня загадка. Даже и не знаю чего еще добавить из информации чтобы решить вопрос. Всегда пользовался инструкциями на вашем сайте и все получалось, в этот раз что то у меня пошло не так.
Все проблему решил
А что было?
День добрый!
по инструкции все сделал, в локалке работает нормально (после отключения брандмауэра)
с включенным брандмауэром не работает, хотя там включены разрешения:
В правилах для входящих: FTP Server Passive, FTP Server Secure, FTP-сервер.
В правилах для исходящих: FTP Server, FTP Server Secure.
Почему бранд может блокировать?
И еще вопрос: работает в локалке, но извне не подключается
Как я понимаю, используются не только порты 20 и 21, но и другие. Можно как-то в настройках найти, какие порты нужно пробросить?
Даже на знаю чем вам помочь. Обычно открытия 20 и 21 портов хватает.
открыты, проброс настроен
Когда по локалке лезу на FTP, брандмауэр DrWeb говорит мне, что я лезу по портам 50884, 50914, 50916-50926
много портов просит открыть, когда файлик закачивал.
Внесу уточнение: сейчас попробовал извне, выдает окно с логином и паролем, ввожу тот же логин и пароль, что и с компа с локалки, и вылетает окно с ошибкой:
В ходе открытия папки на FTP-сервере произошла ошибка.
Убедитесь, что у вас есть разрешения открывать эту папку.
Подробности:
Сброшено подключение в этому серверу.
почему может сбрасываться, как думаете?
Доброго всем денька! Делал, как в описании…
-первое, что заметил, так как у меня IIS был уже установлен, то просто добавить службу ролей FTP оказалось мало, — у меня не было установлено галки «консоль управления IIS»
-второе , как и говорил Алексей 22.07.2015 в 15:22 , локально на ftp сайт пускает, с др компов не пускает, не глядя прописал разрешение в брандмауэре на 21 TCP порт, начал пускать с внешних компов, но как-то криво, в итоге просмотрел правила брандмауэра, продублировал (заново вписал вручную) правила , что система уже сделала сама, названия правил для входящих подключений: -FTP Server Passive (FTP Passive Traffic-In) (TCP 1024-65535), FTP Server Secure (FTP SSL Traffic-In) (TCP 990), FTP-сервер (входящий трафик) (TCP 21); для исходящих подкл : -FTP Server (FTP Traffic-Out) (TCP 20), FTP Server Secure (FTP SSL Traffic-Out) (TCP 989). В итоге все заработало.
Спасибо за комментарий. Хотя это все довольно странно, почему типовые правила не сработали?
специально не ковырялся, но предполагаю, что дело в привязке к исполнит. программам в типовых правилах.
Абсолютно идентичная проблема, чтобы из внешки заработало, пришлось удалять предопределенные правила и добавлять вручную на соответствующие порты без привязки программ.
WinServer 2008 R2
День добрый! Возможно ли сделать несколько ftp-сайтов на одном ip-адресе?
Да, конечно возможно. Я вижу 3 пути:
1. Если у вас приобретен домен, то можно создать несколько поддоменов (или использовать несколько доменов) и настроить привязку каждого домена к конкретному FTP-сайту в диспетчере служб IIS.
2. Вы можете создать виртуальные каталоги на одном сайте. Далее, обращение к ним будет происходить по пути ftp:\\< IP адрес >\< Имя каталога >\
3. Можно использовать разные порты для каждого из FTP-сайтов.
День добрый!
Сделал всё по инструкции. На 2008R2 при подключении к ftp, соединение происходит только при указании в логине имени компьютера. Т.е. так: Comp\ftp, где «Comp» — имя компа, а «ftp» — собственно папка обмена. И никак не получается сократить логин до просто «ftp». Настройки перерыл, но… Подскажите пожалуйста, ЧЯДНТ?
Спасибо!
Хм… Если вы подключаетесь по \\ИмяКомпьютера\FTP, то скорее всего обращаетесь к расшаренной папке с именем FTP на этом компьютере. Другого предположить не могу. А находясь на самом сервере, удается ли вам попасть на FTP-сервер по ссылке: ftp://localhost ?
Ок, сумбурно вопрос задал. Попробую более внятно.
Имеется расшаренная папка FTP. Сделаны настройки IIS (анонимных нет, только авторизованные пользователи). При заходе через браузер по IP (ftp://192.168.X.XXX) выводится окно ввода логина-пароля. Вход осуществляется при вводе логина вида: Comp\ftp. Где Comp — имя компьютера. Если просто в виде логина написать ftp (ну, про пароль не пишу, естественно вводятся) — то появляется окно с 530 ошибкой (точный текст не помню).
Реализовать данную хотелку на стороннем FTP-сервере получилось совсем без проблем. Но, в силу определённых причин надо вернуться на IIS.
А компьютер с IIS у вас в домене?
Виталий, спасибо за полезные и доступные материалы!
По моему вопросу — интерес уже сугубо ознакомительный («можно или нет»), в практическом смысле работа налажена. Поэтому можно не заморачиваться, если решение не на поверхности.
Отвечая по сути Вашего вопроса: сервер в рабочей группе.
настроил все как у вас. есть подключение не видно каталогов и не копирует файлы.
Вот лог.
Connect to: (06.11.2015 1:00:33)
hostname=192.168.1.100
username=user
startdir=
192.168.1.100=192.168.1.100
220 Microsoft FTP Service
USER USER
331 Password required for Alligator.
PASS ***********
230 User logged in.
SYST
215 Windows_NT
FEAT
211-Extended features supported:
LANG EN*
UTF8
AUTH TLS;TLS-C;SSL;TLS-P;
PBSZ
PROT C;P;
CCC
HOST
SIZE
MDTM
REST STREAM
211 END
HELP SITE
214 Syntax: SITE - (site-specific commands)
OPTS UTF8 ON
200 OPTS UTF8 command successful - UTF8 encoding now ON.
Connect ok!
PWD
257 "/" is current directory.
Чтение каталога...
TYPE A
200 Type set to A.
PASV
227 Entering Passive Mode ().
LIST
150 Opening ASCII mode data connection.
Загрузка
Ожидание ответа сервера...
425-Cannot open data connection.
Win32 error: The network connection was aborted by the local system.
Error details: Client IP on the control channel didn't match the client IP on the data channel.
425 End
TYPE I
200 Type set to I.
PASV
227 Entering Passive Mode ().
STOR mp4.php
150 Opening BINARY mode data connection.
Закачка: 5 304 байт
425 Cannot open data connection.
SIZE mp4.php
550-The system cannot find the file specified.
Win32 error: The system cannot find the file specified.
Error details: File system returned an error.
550 End
Copied (06.11.2015 1:00:47): c:\ContaCam\94.232.15.6_39003\mp4.php -> ftp://*.*.*.*:*/mp4.php 5 304 байт, 10 Кбайт/с
Чтение каталога...
TYPE A
200 Type set to A.
PASV
227 Entering Passive Mode ().
LIST
150 Opening ASCII mode data connection.
Загрузка
Ожидание ответа сервера...
425-Cannot open data connection.
Win32 error: The network connection was aborted by the local system.
Error details: Client IP on the control channel didn't match the client IP on the data channel.
425 End
MKD 1231
257 "1231" directory created.
Чтение каталога...
PASV
227 Entering Passive Mode ().
LIST
150 Opening ASCII mode data connection.
Загрузка
Ожидание ответа сервера...
425-Cannot open data connection.
Win32 error: The network connection was aborted by the local system.
Error details: Client IP on the control channel didn't match the client IP on the data channel.
425 End
Здравствуйте.
Скорее всего что-то в настройках прав доступа к каталогам на самом ftp-сервере.
Проблема была в бранмауэре. Решил вот так:
Делать это надо в консоли. Win + R -> cmd -> Enter. Далее пишем следующие команды:
1) Открываем порт 21 в Firewall-e следующей командой:
netsh advfirewall firewall add rule name=»FTP (no SSL)» action=allow protocol=TCP dir=in localport=21
2) Активируем фильтр приложений в Firewall-е для FTP, который будет динамически открывать порты для соединений:
netsh advfirewall set global StatefulFtp enable
Последняя команда работает после перезагрузки. всем удачи. И Вам спасибо за статью.
Админ, добавь что нужно писать не ftp://localhost, а ftp:\\localhost
Основная ошибка
установил ftp все работает но в логах неправильная время показывает
#Date: 2016-05-06 01:26:20
#Fields: date time c-ip cs-username cs-host s-ip s-port cs-uri-stem sc-status sc-win32-status sc-substatus sc-bytes cs-bytes x-session x-fullpath
2016-05-06 01:26:20 189.141.33.18 — — 189.141.33.4 21 — — 0 0 0 0 648d8ced-9254-44d7-9dc3-d9c8cb314a19 —
Здравствуйте, сделал все по вашей инструкции, не могу зайти по FTP. пишет введите логин и пароль, ввожу, опять просит ввести логин и пароль.
Создал группу «Пользователи FTP», добавил в нее пользователя «ftp_user», предоставил полный доступ к папке во вкладке «безопасность». и все равно никак.
порт 21 пробросил в проутере. даже на самом сервере не получается зайти на ftp в браузере. Помогите пожалуйста, что делать?
http://s020.radikal.ru/i707/1611/5a/d9d70aaeaff1.jpg
http://s017.radikal.ru/i406/1611/b5/7bb605ee0609.jpg
Здравствуйте. А под учетной записью администратора получается зайти?
Здравствуйте.
Подскажите а как настроить доступ к ftp сайту в пассивном режиме из вне через маршрутизатор? В активном режиме через тотал коммандер подключается, а в пассивном отказывается. На маршрутизаторе сделал проброс портов 21 на ip ftp сервера, а так же диапазон портов 6021-6023. Так же в IIS в Поддержке брандмауэра FTP указал диапазон портов 6021-6023 и прописал внешний ip адрес
Здравствуйте, добавил роль, вместо папки «сайты» у меня «узлы», что я сделал не так?
И еще 2 ошибки, причину которых я не могу понять