Настройка программы FileZilla Server. Filezilla Server: настройка и подключение

Чаще всего пользователи для обмена в сети файлами небольших размеров используют почту или Скайп. Однако, когда необходимо переслать архив фотографий или фильм, размером в несколько гигабайт, этими сервисами воспользоваться нельзя. Публичный файлообменник тоже создаёт некоторые трудности, например, ожидание таймера и ограничение скорости. Наилучшее решение в таком случае - создать собственный FTP-сервер.

FTP (File Transfer Protocol) - это протокол передачи информации в интернете и локальных компьютерных сетях. Это программа, осуществляющая удалённое подключение к выделенной папке для просмотра и обмена файлами, в том числе больших размеров. Обмен данными возможен от компьютера к удалённому серверу и между другими ФТП-серверами.

Данные передаются без шифрования трафика, поэтому доступ к логинам и паролям легко могут получить злоумышленники. Для безопасной передачи файлов рекомендуется использовать протокол с TLS-защитой - FTPS, шифрующий данные.

Собственный FTP-сервер имеет определённые преимущества:

  • позволяет управлять сервером и его ресурсами;
  • предоставлять пользователям разные права доступа;
  • для него не нужен статический IP-адрес.
  • нет ограничений скорости;
  • отсутствие оплаты хостеру за его размещение;

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

Компанией Майкрософт в Windows 7 добавлена функция Internet Information Services (IIS), осуществляющая общий доступ из сети к выделенной для этой цели папке. Поэтому, чтобы создать FTP-сервер для Windows 7, не требуется дополнительно устанавливать ПО.

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

Некоторые стандартные возможности, которыми пользуются не так часто, в Windows 7 отключены по умолчанию. Поэтому, чтобы их активировать, необходимо выполнить ряд шагов.

Для создания ФТП-сервера на Windows 7 необходимо:

  • Нажать «Пуск» и открыть раздел «Панель управления». Для удобства просмотра можно выбрать режим «Мелкие значки».

  • Перейти в раздел «Программы и компоненты», где выбрать «Включение или отключение компонентов Windows».

  • В списке открывшегося меню нужно отметить компоненты, которые следует активировать, поставив рядом галочку. Это папка «FTP-сервер», в ней два пункта: «Расширяемость FTP» и «Служба FTP», а также папка «Средства управления веб-сайтом», а в ней- «Консоль управления IIS». Для запуска нажать OK.

Настройка ФТП-сервера

  1. Теперь нужно снова зайти через «Пуск» в «Панель управления».
  2. Найти раздел «Администрирование» и открыть в этом разделе «Диспетчер служб IIS».
  3. Перейти во вкладку «Сайты», щёлкнув на название правой кнопкой, выбрать из списка «Добавить FTP сайты».
  4. В новом окне требуется указать имя будущего ФТП-сервера, и путь к каталогу с его данными. К следующему этапу настройки можно перейти, нажав кнопку «Далее».
  5. Теперь устанавливаются параметры сервера. В поле IP-адреса выбрать нужный из списка. Можно привязать его к определённому адресу или сделать расширенный доступ, выбрав пункт «Все свободные». При этом должен быть отмечен стандартный порт- 21. Если планируется постоянно использовать FTP-сервер, то следует поставить отметку галочкой «Запускать FTP-сайт автоматически». Выбрать опцию «Без SSL», её можно включить в случае необходимости позже. Снова нажать «Далее».
  6. В новом окне задаётся тип авторизации. В пункте «Проверка подлинности» можно разрешить вход для обычных или анонимных пользователей. Здесь же можно настроить для них права. Нажать«Готово».

После завершения установки в разделе «Сайты» появится новый ФТП-сервер.

Настройка брандмауэра Windows

Теперь обязательно необходимо настроить брандмауэр Windows для открытия портов и функционирования служб.

Снова войти в «Панель управления», затем «Брандмауэр Windows». Найти раздел «Дополнительные параметры».

В нём выбрать «Правила для входящих соединений». Для них рекомендуется установить пассивный режим. Для этого правой кнопкой мыши нажать и включить правила «FTP Server Passive» и «FTP-сервер (входящий трафик)». Таким же образом для исходящих подключений включить в соответствующем разделе правило «FTP-Server».

Подключение пользователей

Чтобы на сервер могли заходить пользователи, их необходимо подключить.

  • Во вкладке «Панель управления» открыть папку «Администрирование».

Раздел Администрирование

  • Найти раздел «Управление компьютером», затем перейти к папке «Локальные пользователи». Нажав правой кнопкой на строку «Группы», выбрать функцию «Создать группу». В новом окне указать имя и короткое описание группы, нажать «Создать».
  • Теперь можно подключить пользователей к созданной группе. В папке «Локальные пользователи» нажать правой кнопкой на строку «Пользователи» и выбрать из списка меню «Новый». Заполнить поля, введя имя и пароль, здесь же следует установить галочкой запрет на смену пароля.
  • Для подключения пользователя нажать правой кнопкой на его учётную запись и выбрать из списка меню пункт «Свойства», далее - вкладка «Членство в группах» и кнопка «Добавить». Найти созданную группу, добавить и нажать OK. Эту процедуру нужно выполнить для всех пользователей сервера.
  • На следующем этапе определяются права доступа пользователей группы к рабочему каталогу. Для этого нужно перейти к каталогу «Сайт», щёлкнуть по названию правой кнопкой и открыть «Свойства». Далее - вкладка «Безопасность», в пункте «Изменить» указать название группы и нажать ОК. Затем нужно настроить права для пользователей.
  • Войти в «Диспетчер служб IIS», нажав правой кнопкой на строку «Правила авторизации FTP», добавить разрешающее правило. Можно позволить пользователям запись и удаление данных, а можно только чтение.

Установка и настройка сервера завершена. Однако, теперь нужно знать, как зайти на FTP-сервер.

Стандартные функции Windows позволяют сделать это просто. Достаточно открыть папку «Мой компьютер», затем в адресной строке указать путь к серверу.

Другой способ - создать ярлык подключения к ФТП на рабочем столе компьютера.

Для этого открыть«Панель управления», кликнуть правой кнопкой раздел «Сетевое окружение». В задачах выбрать «Добавить новый элемент в сетевое окружение», затем щёлкнуть на пункт «Выберите другое сетевое размещение» и «Далее». Теперь в разделе «Сетевое размещение» появится ярлык, который нужно просто перетащить мышью на рабочий стол.

FileZilla Server - это сервер который поддерживает FTP и FTP через SSL/TLS и обеспечивает безопасное шифрованное подключение к серверу.

FileZilla поддерживает SSL. Такой же уровень шифрования поддерживает ваш браузер, чтобы защитить вашу информацию. Когда вы используете SSL ваша информация шифруется так, что никто не сможет подсмотреть её, поэтому ваша конфиденциальность гарантирована. Также поддерживается функция сжатия «на лету», что ускоряет передачу данных.
К сожалению, опция сжатия данных может иногда работать некорректно, поэтому рекомендуется пользоваться ею с осторожностью. Есть вероятность, что уже сжатые файлы будут переданы, имея больший размер, чем исходные.

Поддержка SFTP (SSH File Transfer Protocol) не предусмотрена в Filezilla Server.

  • Запустите exe установщик
  • Нужно выбрать admin port и запомнить его
  • Запустите FileZilla Server Interface
  • Введите admin port и пароль для администратора, нажмите ok/connect
  • Создайте профиль пользователя и/или группу с разрешениями для home directory.
  • Создайте еще один каталог и включите отображение alias name в home directory (/AliasName)
  • Завершите установку

Установка на Windows 7 с встроенным брандмауэром

После установки убедитесь, что FileZilla Server внесен в список разрешенных программ встроенного брандмауэра. В Control Panel, откройте System and Security. В разделе Windows Firewall, нужно выбрать "Allowed Programs" для того чтобы открылось окно настроек. Нужно выбрать обе Частную и Общественную сеть для "FileZilla Server" (Не "FileZilla Server Interface". Если "FileZilla Server" нету в списке, нужно добавить"C:\Program Files\FileZilla Server\FileZilla server.exe" в соответсвии с тем куда был установлен клиент). Если не выбрать Частную Сеть, входящее FTP соединение будет заблокировано.

По многочисленным просьбам читателей, в данном HOWTO мы подробно рассмотрим установку и настройку FTP (файлового) сервера под Windows на примере самого популярного — FileZilla Server.

Выбор FileZilla Server обусловлен тем, что это один из самых быстрых и надёжных (при правильной настройке) FTP-серверов с графическим модулем настройки. Сервер регулярно обновляется и имеет хорошую документацию на английском языке.

Подробнее установку и настройку рассмотрим под катом. Внимание, трафик (много скриншотов)!

Установка сервера

Скачайте программу установки сервера с её официального сайта и запустите на выполнение. Первые шаги мастера стандартны для большинства Windows-приложений, поэтому подробно рассмотрим только два последних.

На странице Startup settings Вам будет предложено выбрать способ запуска FTP сервера:

  • Install as service, started with Windows (default) — запускать сервер как службу Windows при загрузке. Этот вариант предлагается по умолчанию. FTP-сервер будет запущен автоматически даже если ни один пользователь не выполнил вход в систему. Рекомендуется выбирать именно этот вариант;
  • Install as service, started manually — сервер будет установлен как служба, но не будет запускаться автоматически. Для запуска Вам потребуется ввести в консоли Windows с правами администратора следующую команду: net start "FileZilla Server"
  • Do not install as service, start server automatically — сервер не будет установлен как служба, но будет запускаться от имени текущего пользователя Windows. Данный вариант категорически не рекомендуется, т.к. в случае взлома злоумышленник получит те же права и может навредить системе.

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

На странице Startup settings предлагается выбрать способ запуска административного интерфейса:


  • Start if user logs on, apply ato all users (default) — запускать административный интерфейс при входе любого пользователя в систему в виде значка в системном трее. Данный пункт выбран по умолчанию;
  • Start if user logs on, apply to current user — запускать административный интерфейс при входе в систему текущего пользователя;
  • Start manually — запускать вручную. Рекомендуем выбрать именно этот пункт.

Флажок в чекбоксе Start Interface after setup completes автоматически запустит административный интерфейс сервера по окончании установки. Не убирайте отсюда флажок.

На этом установка сервера завершена. Приступим к его настройке.

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

Итак, запустите сервер и административный интерфейс если они ещё не запущены.

Запустить сервер можно так: Пуск (Все) Программы FileZilla Server Start FileZilla Server , либо с помощью команды:

Net start "FileZilla Server"

Запустить административный интерфейс можно так: Пуск (Все) Программы FileZilla Server FileZilla Server Interface .

После запуска административного интерфейса Вы увидите окно с предложением ввести IP сервера (для локального оставьте 127.0.0.1 ), порт админки (если Вы изменили его во время установки, укажите здесь правильный вариант, иначе оставьте значение по умолчанию) и пароль.

Пароль по умолчанию пуст (его можно задать в настройках сервера на странице ), поэтому сразу нажимайте OK для перехода в главное окно (нажмите для увеличения):


Большую часть данного окна занимает журнал работы FTP-сервера, в котором будут отображаться подробные записи о подключающихся пользователях и инициированных ими передачах. В нижней части окна Вы увидите логины всех подключённых пользователей, их IP-адреса и прогресс скачивания/загрузки файлов. При нажатии правой кнопкой по логину, Вы сможете отключить пользователя от сервера (Kick user ), либо заблокировать ему доступ по IP (Ban user ).

Откройте настройки сервера, выбрав в меню Edit пункт Settings .

General settings


На этой странице Вы можете заменить основной порт FTP-сервера с 21 на любой другой если Ваш провайдер блокирует на него входящие подключения. Здесь же можно задать таймауты в секундах, по истечении которых пользователь будет автоматически отключён от сервера. Для отключения таймаутов задайте значение 0 . Если Вы хотите ограничить максимальное число подключённых пользователей, это можно сделать в строке Max number of users (по умолчанию установлено 0 , т.е. ограничения отсутствуют).

General settings -> Welcome message


General settings — Welcome message

Здесь Вы можете заменить стандартное приветствие, отправляемое клиентам при подключении к Вашему FTP-серверу. Допускается ввести до 1024 символов, каждая строка должна быть не длиннее 75 символов.

Установите флажок в чекбокс Hide welcome message in log , чтобы уменьшить размер лог-файлов, отключив запись в них данного сообщения.

General settings -> IP bindings


General settings — IP bindings

На этой странице Вы можете указать IP-адреса сетевых интерфейсов, которые должен слушать FTP-сервер. Рекомендуем оставить * , т.е. прослушивание всех возможных интерфейсов.

General settings -> IP Filter


General settings — IP Filter

На этой странице Вы можете управлять списком забаненных IP-адресов, т.е. адресов, доступ с которых к серверу будет закрыт (верхнее поле), а также адресов, которые нельзя банить через административный интерфейс (нижнее поле).

Каждый адрес вводится с новой строки. На нашем примере три указанных IP-адреса не смогут подключиться к серверу, а 192.168.98.187 будет невозможно заблокировать.


Если у Вас есть роутер с NAT, то это одна из самых важных страниц для Вас. Установите флажок в чекбокс Use custom port range и укажите диапазон портов (допускаются числа от 1024 до 65535), которые будут использоваться в пассивном режиме FTP для подключения клиентов к Вашему серверу. Минимальный диапазон — 100 портов, но рекомендуется указывать не меньше 400. Этот диапазон портов Вы должны пробросить в настройках своего роутера (маршрутизатора). Рекомендуется указывать порты в диапазоне от 30000.

Здесь же Вы должны указать свой внешний IP-адрес. Допускается указание имени хоста, с помощью которого сервер самостоятельно определит Ваш внешний IP-адрес. На нашем примере используется сервис DynDNS.org. Если у Вас статический внешний IP, просто укажите его в поле Use the following IP . Если IP динамический — используйте сервис DynDNS.org или подобный и в поле Use the following IP впишите полученное имя хоста (как на нашем примере).

Установите флажок в чекбокс (если он не стоял) Don’t use external IP for local connections для запрещения использования внешних IP при локальных соединениях. Это решит проблемы с NAT Loopback на большинстве роутеров.


На этой странице Вы можете разрешить использование протокола FXP , позволяющего передавать файлы между двумя FTP-серверами напрямую. По умолчанию это запрещено (установлены флажки). Если Вам нужна поддержка FXP, снимите флажки из всех чекбоксов на этой странице.


Пункт Don’t show passwords in message log позволяет скрыть пароли пользователей из журналов сервера.

Start minimized включит запуск административного интерфейса в свёрнутом в трей режиме.

Остальные настройки данной страницы изменять не рекомендуется.


Здесь Вы можете сменить порт, который слушает административный интерфейс, а также пароль администратора.

Установите флажок в чекбокс Change admin password и задайте новый пароль администратора. Допускаются латинские буквы и цифры.


На этой странице Вы можете включить ведение логов (журналов) сервера в файл, установив флажок в чекбокс Enable logging to file . Флажок в чекбокс Limit log file size to позволит указать максимально допустимый размер файла. Если файл превысит указанное число, он будет очищен.

Пункт Log all to FileZilla Server.log позволяет писать все журналы сервера в один файл, а Use a different logfile each day создаёт каждый день новый файл журнала, поэтому рекомендуем именно этот пункт. Чекбокс Delete old logfiles after включает автоматическую очистку от старых логов.

Все логи будут храниться в подкаталоге Logs каталога установки FileZilla Server.


Здесь Вы можете задать глобальные лимиты скорости на загрузку и выгрузку. Эти лимиты будут применены сервером для всех пользователей.

Чтобы задать лимит скорости, поставьте точку в пункт Constant speed limit of и укажите значение в килобайтах в секунду.

Кроме этой страницы Вы можете задавать лимиты для каждого пользователя в отдельности в модуле управления пользователями.


Некоторые FTP-клиенты поддерживают передачу данных со сжатием. Сжатие можно включить, установив флажок в чекбокс Enable MODE Z support . Здесь же указывается минимальный и максимальный коэффициенты сжатия. Обязательно установите флажок в чекбокс Exclude private IP address ranges , что отключит сжатие при передаче файлов внутри локальной сети, либо при локальном подключении к серверу.

Внимание! Включение сжатия может негативно сказаться на производительности FTP сервера.


На этой странице можно включить автоматическую блокировку по IP для пользователей, которые неправильно ввели пароль определённое количество раз. Для включения это функции установите флажок в чекбокс Enable automatic bans , в строке Ban IP address after укажите предельно допустимое количество неправильных попыток ввода пароля (минимум — 10), а в строке Ban for — время в часах, на которое будет забанен нарушитель.

FileZilla Server позволяет создать неограниченное количество пользователей. Для каждого пользователя есть возможность задать свою рабочую папку, параметры доступа, лимиты скорости и т.д.

Для управления пользователями в меню Edit административного интерфейса выберите пункт Users .


При первом запуске у Вас в разделе Users будет пусто, поэтому мы должны создать пользователя. Для этого нажмите кнопку Add .

В открывшемся окне укажите желаемый логин (допускаются только латинские буквы и цифры). Здесь же можно указать и группу если они уже созданы. Просто вводите логин и нажимайте OK .

Выберите созданного пользователя в разделе Users . Вам будет предложено указать для него рабочую папку, поэтому автоматически откроется страница .


Нажмите кнопку Add в разделе и укажите на диске каталог, к которому получит доступ выбранный пользователь FTP. После этого выделите его в списке и нажмите Set as home dir . Это действие запретит выход из данного каталога наверх в целях безопасности.

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

Права для файлов:

  • Read — разрешить чтение, скачивание файлов из каталога;
  • Write — разрешить запись файлов в каталог;
  • Delete — разрешить удаление файлов из каталога;
  • Append — разрешить докачку файлов на сервер.

Права для каталогов:

  • Create — разрешить создание подкаталогов;
  • Delete — разрешить удаление каталогов;
  • List — разрешить листинг (просмотр списка файлов). Никогда не запрещайте это действие (флажок всегда должен быть установлен);
  • Subdirs — распространить права на подкаталоги.

Теперь перейдите на страницу General . Установите пароль для пользователя, поставив флажок в чекбокс Password и прописав пароль.

Чекбокс Enable account позволяет включать/отключать выбранную учётную запись FTP. Здесь же можно задать лимиты на максимальное число соединений для пользователя. Лимиты скорости для пользователя задаются на странице .

Для удаления пользователя выберите его в разделе Users и нажмите Delete . Кнопка Rename позволяет сменить логин выбранному пользователю (переименовать), а Copy — клонировать, т.е. создать копию с другим логином.

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

Включение анонимного доступа на сервер

Если Вам потребуется анонимный доступ на сервер, откройте окно управления пользователями, добавьте пользователя с логином anonymous , уберите флажок из чекбокса Password для отключения запроса пароля, на странице выберите домашний каталог, который будет доступен всем, и установите нужные права (не забудьте отключить запись, докачку и удаление файлов и каталогов). После нажатия OK анонимный доступ к серверу будет открыт для всех желающих.

Серверы FTP - редкие гости на домашнем компьютере. Но иногда в них возникает необходимость: организовать общий доступ к файлам для компьютеров, которые не получается связать в локальную сеть, «поднять» небольшой веб-сайт с файлохранилищем или домашний медиасервер. Особняком стоят задачи по перепрошивке или восстановлению после «окирпичивания» разнообразной сетевой машинерии, медиапроигрывателей и приставок. Решение этих задач требует овладения принципами работы FTP. Цена неверного решения может оказаться высокой, поэтому важно внимательно подойти к изучению материала.

FTP, TFTP серверы: описание, работа, настройка

FTP (File Transfer Protocol) - один из самых старых компьютерных протоколов, который стали использовать для приёма/передачи данных на расстоянии. Серверы с его применением активно использовались задолго до возникновения интернета. В настоящее время протокол модифицирован для использования каналов TCP/IP. Протокол использует архитектуру клиент-сервер, то есть для организации сервера используется одна программа, а для загрузки и скачивания - другая.

Как запустить FTP-сервер через Golden FTP Server

Конфигурирование и настройка FTP-сервера средствами Windows 7 - надёжный, но небыстрый способ, требующий большого количества квалифицированных действий. Если вам нужен сервер «на вчера», а возиться с инструкциями и настройками не хочется, то неплохим вариантом будет использование компактной и очень простой программы Golden FTP Server. Она существует в виде бесплатной и профессиональной версий, хотя для бытовых применений будет вполне достаточно первого варианта. Несмотря на скромные размеры дистрибутива, программа обладает рядом достоинств:

  • простота настройки и малый размер установочных файлов;
  • использование всей скорости интернет-канала. Хотя это может быть и недостатком, поскольку при подключении 50–100 пользователей одновременно программа положит на лопатки канал вместе с корпоративной сетью;
  • возможность докачки файлов при обрыве соединения. Чтобы воспользоваться этой возможностью, нужно использовать FTP-клиент, который также поддерживает докачку файлов;
  • русифицированный интерфейс по умолчанию.

После скачивания и установки дистрибутива настройте программу для старта сервера FTP.

Адрес, полученный с помощью Golden FTP Server, доступен только внутри сети. Если вам нужно предоставлять доступ к серверу через интернет, то придётся задавать маршруты и проброс портов через веб-интерфейс роутера.

За простоту использования и настройки вам придётся платить крайне низким уровнем безопасности подобного сервера. Используйте созданные таким способом серверы только в домашней сети, не предоставляя им доступ из интернета.

Как открыть FTP-сервер в проводнике

Уже с древней Windows 98 операционная система стирала границы между «Файловым проводником» и интернет-браузером. Проводник позволял открывать страницы прямо у себя в окне, но это требовало включения ненадёжного на тот момент Active Desktop, поэтому особого распространения в те времена механизм не получил. Технологии не стояли на месте, и сейчас на FTP-сервер можно безопасно зайти, введя его адрес в «Проводнике»:


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

Что делать, если FTP-сервер не открывается

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

Таблица: часто встречающиеся причины ошибок доступа к серверу FTP и их решения

Причина Возможное решение
Неправильное имя пользователя или пароль (отсутствие пароля), с которыми осуществляется попытка доступа к ресурсу. Повторите попытку с правильной парольной парой. Помните, что многие корпоративные ресурсы FTP не поддерживают вход с гостевой записи.
Доступ осуществляется при помощи сторонней программы, которая не добавлена в список исключений сетевого экрана, и он блокирует исходящие запросы клиента. Внесите программу-клиент в таблицу исключений брандмауэра.
Порт 21 TCP/IP, через который по умолчанию осуществляется доступ к FTP-ресурсам, заблокирован настройками маршрутизатора. Как вариант, сервер может быть настроен на работу с другим портом. У администратора ресурса нужно выяснить, с каким именно. При помощи панели веб-администрирования вашего маршрутизатора измените его настройки, обеспечив возможность работы с 21-м портом или другим портом, который используется сервером.
Акционный тарифный план вашего интернет-провайдера не позволяет работать с рядом интернет-протоколов, в том числе и FTP. Позаботьтесь о более дорогом тарифном плане. Многие провайдеры предоставляют возможности, необходимые для запуска FTP-сервера (статический адрес, разрешение на входящие запросы, скрипты) только в дорогих корпоративных тарифах.

Как сконфигурировать и запустить FTP сервер при помощи встроенных средств ОС windows 7

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

Если у вас установлена Windows 7 Home edition или Starter, придётся воспользоваться программными пакетами сторонних разработчиков или обновить операционную систему до версии Windows 7 Basic и выше.

Приведённая инструкция позволит вам шаг за шагом пройти все этапы запуска сервера FTP. В процессе настройки может понадобиться дистрибутив установленной у вас ОС на оптическом носителе или флешке. Также нужно будет авторизоваться в ОС под пользователем с правами администратора.

  1. Откройте «Панель управления» и выберите «Мелкие значки» в настройке «Просмотр».
  2. Перейдите в раздел «Программы и компоненты», затем в подраздел «Включение или отключение компонентов Windows».
    Перейдите в раздел «Программы и компоненты» – в нём находится подраздел «Включение и отключение компонентов Windows»
  3. Поставьте чекбоксы:
  4. Нажмите «ОК» и дождитесь завершения процесса. Дождитесь завершения процесса установки компонентов
  5. Перейдите в раздел «Администрирование» на «Панели управления».
    В разделе «Администрирование» находятся инструменты для настройки сервера
  6. Выберите инструмент «Диспетчер служб IIS».
    Откройте «Диспетчер служб IIS» - это основной элемент сервера FTP
  7. Перейдите на вкладку «сайты». В «Диспетчере служб IIS» перейдите на вкладку «Сайты»
  8. Сделайте правый клик на вкладке «сайты» и в выпадающем меню выберите действие «Добавить FTP-сайт». Из контекстного меню вкладки «сайты» выберите действие «Добавить FTP-сайт»
  9. Укажите название будущего FTP-сайта и путь до каталога, содержимое которого собираетесь раздавать с FTP-сервера.
    По умолчанию в поле «Физический путь» проставляется путь C:\inetpub\ftproot - вы можете сменить его на свой
  10. Нажмите «Далее» и укажите параметры запуска FTP-сайта. Если не хотите, чтобы сайт запускался автоматически при включении компьютера, то снимите галочку «Запускать FTP-сайт автоматически».
    Настройте параметры запуска FTP-сервера
  11. В разделе SSL выберите пункт «Без SSL». Нажмите «Далее», потом нажмите «Готово».
    В окне «Сведения о проверке подлинности и авторизации» просто нажмите кнопку «Готово»
  12. Вам удалось создать FTP-сайт. Теперь перейдите по пути «Панель управления»>«Брандмауэр»>«Дополнительные параметры»>«Правила для входящих подключений».
  13. Выберите и активируйте пункты FTP Server Passive (FTP Passive Traffic-In) и «FTP-сервер (входящий трафик)».
    Для активации правила поставьте на него курсор и нажмите кнопку «Включить правило» в правом меню
  14. Перейдите в раздел «Правила для исходящих соединений» и включите правило FTP Server (FTP Traffic-Out).
    Активирйте правило FTP Server (FTP Traffic-Out) в разделе «Правила для исходящих подключений»
  15. Перейдите по пути «Панель управления»>«Администрирование»>«Управление компьютером»>«Локальные пользователи»>«Группы». Сделайте правый клик на параметре «Группы» и выберите действие «Создать группу».
    Создайте группу пользователей, которые смогут заходить на ваш FTP-сервер
  16. Укажите название группы FTP и кликните «Создать».
    Придумайте имя для группы пользователей
  17. Сделайте правый клик по разделу «Пользователи» и выберите действие «Новый пользователь» из контекстного меню. Создайте пользователей для включения в вашу группу
  18. Укажите имя пользователя и пароль (не менее 8 символов). Рекомендуем проставить чекбоксы «Запретить смену пароля пользователем» и «Срок действия пароля неограничен». Нажмите кнопку «Создать».
    Задайте параметры авторизации пользователя (имя, пароль), включите или отключите доступные опции
  19. Сделайте правый клик на созданном пользователе и выберите действие «Свойства», затем перейдите на вкладку «Членство в группах». Нажмите «Добавить».
    В свойствах созданного вами пользователя на закладке «Членство в группах» нажмите кнопку «Добавить»
  20. Введите имя созданной вами группы в текстовое поле и нажмите «Проверить имена».

    Не забудьте нажать кнопку «Проверить имена» после ввода имени группы в текстовое поле
  21. Перейдите в «Панель управления»>«Администрирование»>«Диспетчер служб IIS». В разделе «Подключения» поставьте курсор на ваш FTP-сайт и кликните значок «Правила авторизации FTP».
    Поставьте курсор на ваш FTP-сайт в меню «Подключения, затем кликните значок «Правила авторизации FTP»
  22. Кликните «Добавить разрешающее правило».
    Кликните действие «Добавить разрешающее правило» для вашего FTP-сайта
  23. Выберите параметр «Указанные роли или группы пользователей», наберите имя вашей группы в текстовом поле. Проставьте галочки в чекбоксах «Чтение» и «Запись». Нажмите «ОК».
    Укажите имя вашей группы и проставьте галочки в чекбоксах «Чтение» и «Запись»
  24. Если хотите разрешить доступ всем пользователям, то снова кликните «Добавить разрешающее правило» и выберите «Все анонимные пользователи». Галочку поставьте только в чекбоксе «Чтение».
    Если требуется, то добавьте право на скачивание файлов с вашего FTP-сервера всем пользователям
  25. Теперь кликните значок «Проверка подлинности FTP».
    Кликните значок «Проверка подлинности FTP»
  26. Сделайте правый клик на режиме «Анонимный доступ» и выберите действие «Включить». Теперь к FTP серверу могут подключиться все.
    Включите анонимный доступ, чтобы все пользователи могли получить доступ к вашему FTP-серверу
  27. Кликните значок «Ведение журнала FTP».
    Кликните значок «Ведение журнала FTP»
  28. В открывшемся окне настройте логирование.
    Настройте логирование для вашего FTP-сервера

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

Подключение папки FTP-ресурса сетевым диском в ОС Windows

Многим пользователям удобнее работать с обычным диском системы, который отображается в проводнике. Сторонние программы для работы с дисками приветствуют не все. Чтобы получить такой диск, нужно смонтировать папку FTP и ассоциировать её с логическим диском. Сделать это можно двумя способами:

  • через «Проводник»;
  • через специальную консольную утилиту ftpuse.

Монтирование FTP-ресурса с помощью «Проводника» Windows

Монтирование FTP-ресурса при помощи консольной утилиты ftpuse

К сожалению, FTP-ресурс, смонтированный как сетевой диск при помощи «Проводника», будет виден только в «Проводнике». Если вам нужен доступ к такому диску через файловый менеджер или из командной строки, придётся использовать специальную утилиту ftpuse.

Распространяется ftpuse совершенно бесплатно. После скачивания и установки утилита доступна из любого открытого окна командного процессора. Чтобы сетевой диск оставался подключённым даже после закрытия такого окна, утилиту нужно использовать совместно с программой PowerShell. После установки утилиты она доступна из командной строки или процессора PowerShell.
При помощи утилиты ftpuse вы сможете настроить консольный доступ к FTP-серверу, как к сетевому диску

Процессор PowerShell является частью ОС начиная с Windows 7 SP1. Если у вас не установлен сервис-пак, установочный файл командного процессора придётся загрузить с сайта Microsoft.

Таблица: команды утилиты ftpuse, позволяющие настроить доступ к ресурсу FTP

devicename Задаёт имя логического диска, под которым сетевой ресурс будет смонтирован в ОС.
ftphostname Задаёт имя или адрес сервера, к которому надо подключиться.
remotepath Сетевая папка, которая будет использована корневым каталогом смонтированного логического диска.
password Задаёт пароль доступа.
/user Имя пользователя, который подключается к серверу.
/nopassive Устанавливает активный режим работы.
/owneraccessonly Сетевой диск виден только той программе, из которой запущена утилита ftpuse.
/port Можно задать произвольный адрес порта TCP, используемый для обмена данными с сервером. По умолчанию это порт 21.
/hide Запускает утилиту в фоне, на экран не выводятся никакие сообщения.
/debug Работа утилиты в режиме отладки.
/delete Удаляет текущую сессию, отключается от сервера и размонтирует диск.

Примеры работы утилиты ftpuse

Приведём несколько примеров использования команд ftpuse для настройки сервера в качестве локального диска:

  • ftpuse F: ftp.abrris.com - так мы создаём в системе логический диск F:, ассоциированный с ftp-сервером ftp.abrris.com;
  • ftpuse F: ftp.abrris.com /USER:junkers 1944 - авторизованного пользователя junkers с паролем 1944 подключаем к серверу ftp.abrris.com;
  • ftpuse F: /delete - отключаем диск F: и отсоединяемся от сервера.

FTP-ресурс, подключённый при помощи утилиты ftpuse, всегда будет отображаться в проводнике с объёмом диска в один гигабайт. Это не ошибка, а особенность работы утилиты. Впрочем, диск, подключённый средствами проводника, вообще не будет отображать свой объем.

Как настроить FTP-сервер

На просторах сети можно загрузить большое количество уже готовых дистрибутивов, которые после распаковки и простой настройки развернут на вашем компьютере готовый FTP-сервер. Есть как коммерческие, так и бесплатные продукты, не уступающие первым в возможностях. Ниже мы рассмотрим два бесплатных решения, давно уже ставших индустриальным стандартом у компьютерных энтузиастов и небольших фирм.
С запуском сервера для нужд малого офиса или многоквартирного дома может справиться даже непрофессионал

FileZilla Server - гибкий, производительный и защищённый

FileZilla Server - разработка команды, создавшей знаменитый браузер FireFox. Он отличается огромным количеством настроек, наличием версий для 32-х и 64-битных операционных систем, возможностью удалённого администрирования. И за весь этот спектр возможностей не нужно платить ни копейки. Установка и настройка сервера делятся на несколько несложных этапов. Программа существует на многих платформах, и если вы научились настраивать такой сервер в среде Windows, то с минимальными отличиями сможете сделать то же самое в Linux или MAC OS.

Установка сервера FireZilla Server

  1. После скачивания инсталляционного файла запустите его на выполнение, после чего следуйте подсказкам мастера установки.
  2. Прочитайте и примите лицензионное соглашение.
    Примите лицензионное соглашение для продолжения процесса установки
  3. Выберите необходимый тип установки (рекомендуем тип standart):
  4. Определитесь с папкой, в которую будет установлена программа, и переходите к выбору способа автозапуска FireZilla Server (рекомендуем первый вариант):
  5. Теперь укажите порт для интерфейса сервера. Оставлять значение по умолчанию 14147 нежелательно из соображений безопасности.
  6. Завершающим этапом установки будет выбор типа запуска интерфейса вашего сервера (рекомендуем первый вариант):
  7. Запустите процесс установки по кнопке Install.

Настройка сервера

Успешно установив программный пакет сервера, перезагрузите компьютер и запустите программу FireZilla Server.

  1. В появившемся диалоговом окне укажите адрес сервера и порт. Пароль при первом подключении вводить не нужно. Данное подключение будет возможно только с того компьютера, на котором установлены программные компоненты сервера. С другой машины достучаться до сервера не выйдет, поскольку адрес 127.0.0.1:14147 служит только для локальных соединений. Введите адрес сервера и порт для подключения
  2. В разделе Settings меню Edit находятся многочисленные настройки, которые позволят вам сконфигурировать программный комплекс должным образом.
    Зайдите в настройки FileZilla Server
  3. На вкладке General Settings вы можете изменить первичные параметры настройки:
  4. Для удобства пользователей вы можете настроить текстовое приветствие в разделе Welcome message, которое программа-клиент покажет пользователю при успешном подключении к серверу. При помощи метасимволов можно настроить вывод служебной информации в окно клиента.
    В разделе Welcome message вы можете настроить приветственное сообщение и вывод служебной информации для пользователей
  5. В разделе IP bindings укажите диапазон IP-адресов, с которых пользователи смогут получить доступ к серверу. Этот раздел настроек позволяет организовать доступ к ресурсу только из локальной сети или даже из одного её сегмента.
    Ограничьте диапазон адресов, с которых возможен доступ к вашему серверу
  6. Настройте фильтрацию адресов в разделе IP Filter: в верхнем текстовом поле задаётся «белый» список, а в нижнем — «чёрный».
    Заполните «белый» и «чёрный» списки IP-адресов
  7. Настройте логирование в разделе Logging. Файлы с логами могут создаваться заново каждый день или вся статистика будет писаться в один.
    Настройте логирование FileZilla Server в разделе Logging
  8. В разделе Speed Limits вы можете ограничить полосу пропускания, доступную для сервера. Можно настроить глобальные ограничения, а можно по календарю и даже отдельным часам. Единица измерения - килобайт.
    При необходимости вы можете настроить ограничения полосы пропускания в разделе Speed Limits
  9. В разделе Filetransfer compression вы можете настроить сжатие файлов при загрузке. Но мы рекомендуем оставить настройки по умолчанию.
    Лучше не вносить изменения в раздел настроек Filetransfer compression
  10. Пришло время настроить учётные записи пользователей, которым будет разрешён доступ к ресурсам вашего сервера. Перейдите в раздел Users меню Edit, чтобы открыть интерфейс управления пользователями.
    Нового пользователя вы сможете добавить в разделе Users меню Edit
  11. По кнопке Add добавьте нового пользователя, задайте ему логин и укажите принадлежность к группе. Для нового пользователя задайте логин и укажите, в какую группу он входит
  12. Для созданного пользователя задайте пароль и ограничение на количество подключений к вашему серверу.
    Настройте пользовательский пароль и допустимое количество подключений к серверу
  13. На вкладке Share Folders вы можете настроить доступ пользователя к определённым ресурсам вашего сервера. Для этого выделите закладку Shared folders и нажмите кнопку Add.
    Не перепутайте кнопки Add: для добавления папок надо нажать ту кнопку Add, которая выделена на картинке
  14. Выберите папку на диске, а при помощи опций в левой части окна задайте необходимые права доступа:
    • только чтение - read;
    • запись - write;
    • удаление - delete;
    • изменение файлов в папке - append.

На этом первоначальная настройка закончена. Сервер готов к эксплуатации, а настройки безопасности соответствуют критериям домашнего пользования или работы небольшой офисной сети.

Видео: установка и настройка FileZilla Server шаг за шагом

TFTP - сервер для малых нужд

Среди разновидностей FTP и программ для работы с ними особняком стоит TFTP - это до предела упрощённая версия FTP. Отсутствие механизмов защиты трафика и даже аутентификации пользователя не позволяет использовать TFTP для обмена файлами через интернет.

Зато он как нельзя лучше подходит для заливки прошивок и микропрограмм в маршрутизаторы, приставки цифрового ТВ, планшеты и смартфоны. Загрузчик таких устройств содержит в себе TFTP-клиент, который позволит загрузить и установить в устройство программное обеспечение, даже если оно находится в аварийном режиме из-за повреждённой прошивки.
Основным применением протокола TFTP является прошивка беспроводных маршрутизаторов через консоль восстановления

Установите TFTP-сервер на свой компьютер:

  1. Скачайте себе дистрибутив программы:
    • tftpd32, если у вас 32-разрядная ОС;
    • tftpd64, если у вас 64-разрядная ОС.
  2. Установите программу в одном из двух вариантов: стандартного приложения или системной службы.
  3. Если вы выбрали установку службы, то перезагрузите компьютер по завершению процесса установки.

Особых настроек сервер не требует, но после его запуска удостоверьтесь, что все настройки на вкладке TFTP выглядят так, как на картинке. Так выглядят дефолтные настройки утилиты tftpd32

Для скачивания файлов с сервера или для загрузки на сервер через командную строку используются следующие команды:

  • tftp 192.168.1.10 GET имя_файла.txt - для получения файла с сервера;
  • tftp 192.168.1.10 PUT имя_файла.txt - для отправки файла на сервер.

Чтобы работать с клиентом TFTP в ОС Windows 7, его необходимо установить через диалог «Компоненты системы». В старших версиях ОС клиент доступен без дополнительных действий.


Клиент TFTP добавляется при помощи диалогового окна «Компоненты системы»

Видео: работа с сервером TFTP - аварийное восстановление прошивки роутера

Программы-клиенты для подключения к серверам FTP

Программы-клиенты выполняют такие функции, как:

  • подключение к серверам FTP;
  • докачка файлов при разрыве соединения;
  • ведение журнала подключений;
  • хранение множества настроек к различным серверам;
  • групповые операции с файлами;
  • поиск по серверам.

Также в программах-клиентах имеется встроенный редактор, позволяющий использовать программу как полноценный конструктор сайтов.

Total Commander

Пожалуй, самый популярный файловый менеджер для ОС Windows. Он содержит встроенный FTP-клиент, который позволяет работать с удалённым сервером как с обычным логическим диском. Программа условно-бесплатная, и до приобретения лицензии она будет постоянно напоминать пользователю, что хорошо бы её уже наконец купить. Функциональность при этом не страдает.
Total Commander имеет встроенный FTP-клиент

FAR

Как и Total Commander, эта программа представляет собой многофункциональный двухпанельный файловый менеджер. Она куда более аскетична в оформлении интерфейса (работает в текстовом режиме), зато является кроссплатформенной - доступна для полудюжины различных операционных систем. FTP-клиент встроен в дистрибутив, и работу с сайтами можно начинать без установки дополнений. Несомненным плюсом является бесплатность программы. Активация клиента FTP проводится при помощи менеджера плагинов, но это очень простая и интуитивно понятная процедура, которая не вызовет трудностей даже у начинающего пользователя.
FAR сможет работать с серверами FTP на любых операционных системах

Ещё одна бесплатная программа-клиент от создателей браузеров Mozilla и Firefox. Проста и доступна пользователю благодаря лаконичному интерфейсу и отличной русификации. Существуют версии FireZilla для Windows, Linux, Mac OS и даже Andriod.
FileZilla - FTP-клиент от создателей всемирно известного браузера FireFox

Среди особенностей, отличающих её от программ-конкурентов, следует отметить:

  • поддержку большого количества протоколов;
  • возобновление загрузки файлов при разрыве соединения и поддержку работы с большими файлами;
  • кроссплатформенность;
  • возможность ведения закладок;
  • поддержку перетаскивания файлов (технология drag & drop);
  • гибкие настройки скорости передачи и возможность резервирования части интернет-канала;
  • редактирование файлов прямо на сервере;
  • удалённый поиск файлов.

Интерфейс бесплатной программы FTPRush имеет много общего с продуктами Microsoft Office и конфигурируется похожим способом. Из изюминок стоит отметить:

  • возможность переноса файлов с сервера на сервер без скачивания на компьютер;
  • качественную реализацию двухпанельного интерфейса;
  • встроенный менеджер закачек с конфигурируемым списком загрузки.

FTPRush должен понравиться пользователям MS Office

Лучше работать с англоязычной версией интерфейса, поскольку качество русской локализации оставляет желать лучшего.

CoffeCup Free FTP - это клиент для самых нетребовательных и неопытных пользователей, он позволяет скачивать и выгружать файлы буквально одним кликом мыши. Скудность настроек с лихвой компенсируется интуитивно понятным интерфейсом, качественной локализацией и бесплатностью программы. Тем не менее программа поддерживает полноценный двухпанельный режим и возможность передачи файлов с сервера на сервер без предварительной загрузки, а также имеет на борту простой редактор HTML.
С клиентом CoffeeCup Free FTP вам не придётся напрягаться с настройками

Создание FTP-сервера - простой способ получить на рабочем столе файловое хранилище с возможностью множественного доступа. Большое количество программ и относительная простота настройки делают этот способ очень популярным. Выделите один компьютер чисто под сервер и не храните на нём никаких других данных кроме того, что должно лежать на сервере. И даже в этом случае два - три десятка пользователей, одновременно обращающихся к вашему ресурсу могут практически полностью «просадить» интернет-канал. Да и провайдер ненавязчиво предложит изменить тарифный план на корпоративный. Если вам нужно файлохранилище с одновременным доступом большого количества пользователей, то размещайте FTP-сервер на коммерческом хостинге. Или пользуйтесь готовыми порталами-файлообменниками, например, Google Drive или DropBox.

В этом разделе будет кратко рассмотрена история и технические сведения, касающиеся протокола FTP. Для получения подробной информации смотрите спецификации .

Исторические сведения

На фоне быстро развивающейся сети Интернет протокол FTP выглядит не просто старым, а действительно архаичным. Ранние черновые спецификации протокола датируются 1971-ым годом, составление текущей спецификации начато в 1985-ом. На протяжении последних двух десятилетий протокол не менялся в своей основе.

В те времена сетью Интернет пользовались в основном университеты и исследовательские центры. Сообщество пользователей было небольшим, большинство из них знали друг друга и все работали сообща. Интернет был дружелюбной сетью, а проблемы безопасности как таковой не стояло.

Те времена прошли и многое изменилось. Технологический прогресс шел быстрее, чем кто-либо мог себе представить, одновременно выросло новое поколение пользователей. Интернет теперь - повсеместное явление, благодаря которому миллионы людей общаются друг с другом множеством разных способов. Главное ощутимое изменение: Интернет стал враждебным. Доступность и открытость сети привлекла злонамеренных пользователей, активно эксплуатирующих ошибки и неопытность других.

Побочным эффектом такого развития событий стали, следующие явления:

  • NAT -роутеры. Большинство сети использует протокол IPv4 , имеющий ограниченное адресное пространство (IPv6 разработан решить эту проблему). Благодаря NAT-роутерам системы с большим количеством устройств могут пользоваться одним и тем же IP-адресом.
  • Персональные файрволы для защиты пользователей от недоработок операционных систем и приложений.

В большинстве случаев эти явления конфликтуют с работой протокола. Ситуацию ухудшают недоработки в самих роутерах и файрволах.

Тем не менее, при правильной настройке FTP предлагает надежный и опробованный способ передачи файлов.

Технические сведения

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

Существует два способа создания этого подключения: активный и пассивный режимы.

В пассивном режиме, который является рекомендуемым, клиент отсылает серверу команду PASV, на которую сервер отвечает адресом. После этого клиент отсылает команду для передачи файла или листинга директории и создает вторичное подключение по адресу, который был получен от сервера.

В активном режиме клиент открывает сокет на локальном устройстве и отсылает серверу адрес сокета с помощью команды PORT. После отсылки команды передачи файла или листинга сервер создает подключение по заданному адресу, который был указан клиентом.

В обоих случаях файл/листинг будут переданы через подключение для передачи данных.

Создание исходящих подключений требует задания меньшего количества параметров для роутеров/файрволов, чем создание входящих подключений. В пассивном режиме, подключение является исходящим от клиента и входящим для сервера. В активном режиме клиент и сервер меняются ролями - входящее подключение для клиента и исходящее для сервера.

Примите во внимание, что разница состоит только в порядке подключения, после создания подключения для передачи данных, данные могут как загружаться, так и выгружаться.

Типичная сетевая конфигурация может выглядеть так:

Таким образом, в пассивном режиме роутер и файрвол на стороне сервера должны быть настроены для приема и перебрасывания входящих подключений. В свою очередь, на стороне сервера должны быть разрешены только исходящие подключения, а в большинстве случаев исходящие подключения разрешены.

Аналогично в активном режиме роутер и файрвол на клиентской стороне должны быть настроены для приёма и перебрасывания входящих подключений. Очевидно, на стороне сервера должны быть разрешены только исходящие подключения.

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

NAT-роутеры

У большинства пользователей широкополосного подключения NAT-роутер расположен между их компьютером и сетью. Это может быть самостоятельное устройство (возможно беспроводной роутер), или же встроенный роутер в DSL- или кабельном модеме. В среде NAT все устройства за роутером составляют локальную сеть (LAN), каждое из устройств в сети имеют локальный IP-адрес (четыре небольших числа разделённых точками). NAT-роутер в свою очередь имеет свой локальный IP-адрес, а также внешний IP-адрес для идентификации в глобальной сети. Локальные адреса действительны только внутри LAN, для удаленного устройства они не имеют смысла. Пример:

Предположим, что сервер находится за NAT-роутером. Смоделируем ситуацию, в которой клиент подключается в пассивном режиме, но серверу не предоставлен внешний IP-адрес роутера. В этом случае сервер отсылает свой локальный адрес клиенту, после чего могут произойти две вещи:

  • Если клиент не расположен внутри NAT, подключение будет разорвано, т.к. адрес сервера не является действительным.
  • Если клиент расположен внутри NAT, адрес сервера может совпадать с адресом устройства в сети самого клиента.

Очевидно, в обоих случаях пассивный режим не сработает.

Таким образом, если сервер находится за NAT-роутером, ему должен быть предоставлен IP-адрес роутера для работы пассивного режима. В обоих случаях сервер отсылает внешний адрес роутера клиенту. Клиент создает подключение с роутером, который в свою очередь передает подключение на сервер.

Файрволы

Предназначением персонального файрвола является защита пользователя от уязвимости в безопасности операционной системы или используемых приложений. Зловредные приложения, к примеру, черви, часто используют эти уязвимости для заражения вашей системы через сеть. Файрволы помогают избежать таких случаев.

В особенности при использовании FTP пользователи файрвола могут получать такие сообщения:

Trojan Netbus заблокирован на порту 12345, который используется процессом FileZilla.exe

Почти во всех случаев такое сообщение - ложная тревога . Любое приложение может выбрать любой порт для сообщения через интернет. Может случиться так, что FileZilla выберет порт, случайно являющийся портом по умолчанию для трояна или другой зловредной программы. Дистрибутив FileZilla скачанный с официального сайта не содержит вирусов.

Умные роутеры, файрволы, и саботаж данных

Некоторые роутеры или файрволы достаточно умны. Они анализируют подключения и при обнаружении FTP-подключения бесшумно подменяют данные передающиеся между клиентом и сервером. Такое поведение является саботажем данных и может доставить неприятности, если пользователь не разрешил такое поведение явным образом.

Приведем пример. Предположим, что клиент находится за NAT-роутером и пытается подключиться к серверу. Предположим также, что клиент не осведомлен в том, что он находится за NAT и использует активный режим. Клиент отсылает команду PORT со своим локальным, немаршрутизируемым IP-адресом, серверу:

PORT 10,0,0,1,12,34

Эта команда указывает серверу на подключение по адресу 10.0.0.1 на порту 12*256+34 = 3106

После этого NAT-роутер бесшумно подменяет команду, включая внешний IP-адрес, а также создает временный порт для переброски FTP-сессии, возможно даже на другом порту:

PORT 123,123,123,123,24,55

Эта команда указывает серверу на подключение по адресу 123.123.123.123 на порту 24*256+55 = 6199

Благодаря такому поведению NAT-роутер позволяет неправильно настроенному клиенту использовать активный режим.

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

  • NAT-роутер слепо предполагает, что некоторые подключения принадлежат FTP основываясь на таких данных, как целевые порты или ответы сервера:
    • Нет никакой гарантии относительно используемого протокола, несмотря на автоматическое определение (такие случаи называют ложной тревогой ). Хоть это и маловероятно, вполне допустимо, что в будущих версиях протокола FTP синтаксис команды PORT может измениться. NAT-роутер, модифицируя команду PORT, изменяет без ведома пользователя параметры, которые он не поддерживает, из-за чего соединение будет разорвано.
    • Определение протокола роутером может не распознать FTP. Предположим, что роутер следит только за целевым портом, а если этот порт 21-ый, он будет распознан как FTP. Подключения в активном режиме от неправильно настроенного клиента к серверу на 21-ом порту будут работать, но подключения к другим серверам на нестандартных портах - нет.
  • Очевидно, что NAT-роутер не сможет модифицировать подключение, если FTP-сессия зашифрована, оставляя пользователя в недоумении, т.к. работать будут только незашифрованные подключения.
  • Предположим, что клиент за NAT-роутером отсылает "PORT 10,0,0,1,12,34". Каким образом NAT-роутер осведомлен в том, что клиент настроен неправильно? Также возможен случай с правильно настроенным клиентом, который инициирует FXP (сервер-сервер) передачу между сервером, к которому он подключен и устройством, которое находится в локальной сети сервера.

Как мы видим, возможности специфические для протоколов, включенные на NAT-роутере по умолчанию могут вызвать множество проблем. Хороший NAT-роутер всегда и полностью работает с протоколом без информации о самом протоколе. Исключением может быть случай, когда пользователь явно применил эту возможность и осознает все возможные последствия.

В этом подразделе мы рассматривали сочетание NAT-роутера на стороне клиента в активном режиме, те же рассуждения применяются и в случае сервера за NAT и ответами на команду PASV.

Настройка клиента FileZilla

Очевидно, что для подключения к любому серверу ваш файрвол должен разрешить такие действия для FileZilla. Большинство обычных FTP-серверов используют 21-ый порт, SFTP-серверы - 22-ой, а FTP через SSL/TLS (неявный режим) по умолчанию - 990-ый. Номера портов не являются жестко заданными, поэтому лучше всего разрешить исходящие подключения на любой порт.

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

Пассивный режим

Клиент не может указывать серверу выбор порта для передачи данных в пассивном режиме, поэтому для использования пассивного режима вам нужно разрешить исходящие подключения по любому порту на своем компьютере.

Активный режим

В активном режиме клиент открывает сокет и ожидает от сервера подключения для передачи.

По умолчанию клиент FileZilla запрашивает у операционной системы IP-адрес и свободный номер порта. Такая конфигурация сработает только в случае прямого соединения с интернетом без NAT-роутеров, также ваш файрвол должен разрешать создание подключений на всех портах выше 1024-го.

Если у вас присутствует NAT-роутер, вам нужно указать FileZilla внешний IP-адрес, в противном случае соединения в активном режиме не сработают для серверов вне вашей локальной сети:

  • Статический IP-адрес можно указать в диалоге настройки FileZilla.
  • Если ваш IP-адрес динамический, у вас есть возможность разрешить FileZilla получать внешний IP-адрес на специальном сайте автоматически каждый раз при запуске. Никакая информация не будет передана от вас на этот сайт, кроме версии используемого клиента FileZilla.

Если вы не хотите разрешать входящие соединения на всех портах, или ваш компьютер расположен за NAT-роутером, укажите FileZilla использовать определенный диапазон портов для соединений в активном режиме. Этот диапазон также нужно будет открыть для вашего файрвола. При наличии NAT-роутера вам нужно перебросить эти порты на локальный компьютер, на котором установлен FileZilla. Вы можете перебросить диапазон портов, или же каждый порт по отдельности, это зависит от модели вашего роутера.

TCP

Настройка и тестирование сервера FileZilla

Настройка сервера по большей части повторяет настройку клиента, главным отличием является то, что в случае сервера активный и пассивный режимы меняются ролями.

Важно отметить, что проверка работы сервера в большинстве случаев происходит ошибочным образом, особенно часто эту ошибку допускают владельцы NAT-роутеров. Находясь внутри локальной сети, вы сможете протестировать сервер, только используя локальный IP-адрес. Использование внешнего адреса внутри локальной сети в большинстве случаев не сработает по одной из приведенных причин:

  • Роутер заблокирует доступ к своему внешнему адресу изнутри локальной сети как возможную атаку
  • Роутер перебросит соединение вашему провайдеру, который заблокирует его как возможную атаку.

Даже если вам удалось подключиться, у вас нет никакой гарантии того, что пользователю из внешней сети удастся это сделать и, кроме того, загружать файлы на ваш сервер. Единственное надежное средство проверки работы сервера - подключение извне вашей локальной сети.

Активный режим

Убедитесь, что серверу FileZilla разрешено создавать исходящие подключения по любому порту, т.к. в этом режиме клиент определяет порт для соединения.

На локальной стороне подключения сервер FileZilla пытается использовать порт со значением на единицу ниже, чем у порта для контрольного соединения (к примеру, порт 20, если сервер принимает соединения на порту 21). Тем не менее, это не всегда возможно, поэтому не следует всегда полагаться на эту особенность.

Пассивный режим

Настройка сервера в этом случае практически повторяет настройку клиента в активном режиме.

В пассивном режиме сервер открывает сокет и ожидает соединения от клиента.

По умолчанию сервер FileZilla запрашивает у операционной системы IP-адрес компьютера и свободный порт. Эта конфигурация является рабочей только, если компьютер напрямую подключен к интернету без NAT-роутеров и установленным для файрвола разрешением на входящие подключения по всем портам выше 1024-го.

При наличии NAT-роутера вам нужно сообщить серверу FileZilla ваш внешний IP-адрес, в противном случае соединения в пассивном режиме будут работать только внутри локальной сети:

  • Статический IP-адрес можно указать в диалоге настройки сервера FileZilla.
  • Если ваш IP-адрес динамический, у вас есть возможность разрешить серверу FileZilla получать внешний IP-адрес на специальном сайте автоматически при каждом запуске. Никакая информация не будет передана от вас на этот сайт, кроме версии используемого сервера FileZilla.

Если вы не уверены в своем выборе, используйте второй вариант.

Если вы не хотите разрешать входящие соединения на всех портах, или ваш компьютер расположен за NAT-роутером, укажите серверу FileZilla использовать определенный диапазон портов для соединений в активном режиме. Этот диапазон также нужно будет открыть для вашего файрвола. При наличии NAT-роутера вам нужно перебросить эти порты на локальный компьютер, на котором установлен сервер FileZilla. Вы можете перебросить диапазон портов, или же каждый порт по отдельности, это зависит от модели вашего роутера.

Доступные порты находятся в диапазоне от 1 до 65535, порты ниже 1024-го зарезервированы для остальных протоколов. Для активного режима FTP лучшим выбором является номер порта равный или выше 50000. В связи с устройством протокола TCP (протокол, который находится ниже уровня FTP и используется для передачи данных), порт не может быть использован повторно сразу после каждого подключения. Таким образом, диапазон портов не должен быть слишком узким, в противном случае вы не сможете передать много файлов малого размера. В большинстве случаев достаточно диапазона в 50 портов.

Решение проблем

К сожалению, множество персональных файрволов и пользовательских роутеров имеют свои недоработки или, в некоторых случаях, даже способны саботировать работу FTP (например SMC Barricade v1.2).

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

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

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

Если вы пытаетесь настроить сервер и он работает нормально внутри вашей локальной сети, но не доступен вне её, попробуйте сменить порт для подключения. Некоторые провайдеры не разрешают своим клиентам размещать сервера и блокируют порты ниже 1024-го.

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

Если время от времени вы наблюдаете сообщение "невозможно открыть подключение для передачи данных", т.е. FTP-клиент способен без проблем подключиться к FTP-серверу достаточное число раз, пока вы не получите данное сообщение, возможным препятствием может быть антивирус на клиентском ПК, настроенный на блокировку исходящих подключений по определенному диапазону портов. При работе сервера в пассивном режиме исходящие порты клиента определяются случайным образом, а при выборе портов попадающих в заблокированный диапазон, вы будете получать сообщение об ошибке. Для того, точной диагностики, вам следует просмотреть логи антивируса на машине клиента, который получает данную ошибку. В общем, любое ПО, способное блокировать диапазон исходящих портов, может быть причиной проблем подобного рода.

Таймауты при передаче больших файлов

Если передача небольших файлов происходит без проблем, но загрузка больших файлов обрывается по таймауту, причиной этого является неправильно настроенный роутер и/или файрвол находящийся между клиентом и сервером.

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

В спецификации TCP не указывается лимит времени для сохранения неиспользуемого подключения. Предполагается, что подключение сохраняется на неопределенное время пока не будет закрыто явным образом. Тем не менее, большинство роутеров и файрволов автоматически закрывают свободные подключения по истечению некоторого времени. Более того, в большинстве случаев разрыв соединения происходит без уведомления об этом его участников. В случае продолжительной передачи данных через FTP это значит, что контрольное соединение может быть разорвано, но, ни клиент, ни сервер не будут об этом уведомлены. Таким образом, после того, как все данные были переданы, сервер все еще ожидает, что контрольное подключение можно использовать и отсылает через него подтверждение передачи клиенту. Аналогично, клиент готов использовать контрольное соединение и ожидает ответа от сервера. Но, т.к. контрольное соединение было разорвано, это ответ никогда не будет доставлен, что приводит к таймауту.

Для решения этой проблемы спецификация TCP предусматривает способ отправки пакетов для поддержки неиспользуемого подключения, сообщающих участников о том, что соединение требуется сохранить для дальнейшего использования. Тем не менее, в спецификации TCP явно указывается, что такие пакеты можно передавать не чаще, чем один раз каждые два часа. Для этого, предусматривая задержки в сети, срок жизни неиспользуемого подключения устанавливается спецификацией в 2 часа и 4 минуты.

Препятствием этому служит то, что многие роутеры и файрволы разрывают соединения, которые не использовались меньше чем 2 и 4 минуты. Такое поведение нарушает спецификацию протокола TCP, в RFC 5382 это указано достаточно ясно. Другими словами, роутеры и файрволы, разрывающие соединение раньше нужного момента, нельзя признать рабочими, т.к. они не могут использоваться при длительной передаче данных через FTP. К сожалению, производители роутеров потребительского класса и поставщики файрволов не заботятся о соблюдении спецификаций.

Для решения этой проблемы вам нужно удалить такие файрволы и заменить неправильно работающий роутер на качественный.

Настройка сервера FileZilla под Windows Firewall

Если вы испытываете проблемы при настройке сервера FileZilla при работающем Windows Firewall (в особенности, если клиент, подключающийся к такому серверу получает сообщение об ошибке "Невозможно получить листинг директории"), вам нужно добавить сервер FileZilla в список исключений Windows Firewall. Для этого вам нужно сделать следующие шаги:

  • Откройте Windows Firewall из Панели Управления
  • Если вы пользуетесь Vista, нажмите "Изменить настройки"
  • Выберите вкладку "Исключения"
  • Нажмите "Добавить программу.."
  • НЕ выбирайте "интерфейс сервера FileZilla" из списка, вам нужно нажать на "Просмотр..."
  • Найдите установочную директорию сервера FileZilla (обычно это "C:\Program Files\FileZilla Server\")
  • Выберите "FileZilla server.exe" и нажмите открыть (повторим еще раз, НЕ ВЫБИРАЙТЕ "FileZilla Server Interface.exe")
  • Выберите "FileZilla server.exe" из списка и нажмите "Ok"
  • Удостоверьтесь в том, что "FileZilla server.exe" находится в списке исключений и отметьте соответствующий пункт
  • Нажмите "Ok" для закрытия окна

Это обеспечивает работу пассивного режима. Если после этого вы все равно испытываете проблемы при подключении (внутри или извне сети), проверьте настройки вашего роутера или попробуйте добавить номер порта в настройках Windows Firewall во вкладке "Исключения".

Обратитесь к 931130 KB-статье от Microsoft, описывающей работу FileZilla со включенными сервисами "Маршрутизация и удаленный доступ" или "Шлюз уровня приложения".