Установка FTP сервера и его настройка (на примере программы FileZilla Server). Способы подключения к FTP серверу. Как пользоваться Filezilla: подробный обзор по работе с FTP клиентом

Приветствую всех читателей и гостей сайт. С вами Калмыков Антон.

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

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

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

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

Что такое Filezilla и с чего начать?

Итак, давайте остановимся подробнее на самом моем любимом, да и не только моем, фтп клиенте FileZilla. Это один из самых распространенных и удобных бесплатных FTP клиентов в блогосфере.

Скачивание и установка программы

Для начала вам нужно скачать и установить программу себе на компьютер. Это вы можете сделать перейдя по данной ссылке http://filezilla.ru/get/ на официальный сайт разработчика и выбрать подходящую версию.

После установки вам нужно подключится к хостингу, нажав на вкладку Файл→ Менеджер сайтов.

В открывшемся окне нажимаем кнопку «Новый сайт» (1) и вводим название вашего сайта (2).

После, в поле «Хост» (3) вставляем IP адрес вашего сервера. Он вам дается при покупке вашего хостинга, чаше всего электронным письмом. В нем будут указаны также «Пользователь» и «Пароль» (5)

Кстати, для активации полей с логином и паролем в поле «Тип входа» (4) в выпадающем меню выберите «Нормальный». Ну и чтобы подключиться не забываем нажать кнопку «Соединиться» (6).

Если вы все сделали правильно, то в первом окне вы увидите, что «Соединение установлено».

Интерфейс и возможности Filezilla

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

Первая часть – это Локальный сайт (2, 3). В нем вы видите содержимое вашего компьютера (диски, папки, файлы). Вторая часть – это Удаленный сайт (раздел 4, 5). В них мы видим объекты вашего хостинга.

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

Как создать резервную копию

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

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

Кликаем курсором на любой файл или папку в окне №5. После, при помощи сочетаний клавиш Ctrl+C выделяем все содержимое окна 5. Далее нажимаем правую кнопку мыши и у нас появляется выпадающее меню, при помощи функционала которого, вы можете копировать, создавать, удалять все, что по вашему мнению не нужно, добавлять в задание и т.д.

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

Итак, что-то я отвлекся от нашего ликбеза, в выпадающем меню выбираем «Скачать». При этом, не забудьте проверить, чтобы в окне №3 был открыт заранее созданный вами каталог.

В моем случае - это «Тест» на диске D (это видно в окне №2 и №3). Ну вот, теперь у нас создана резервная копия нашего сайта, а заодно мы и научились скачивать файлы с нашего хостинга себе на рабочий диск.

Пример работы с файлами

Хочу заметить, что перенос требуемого объекта на сервер нужно производить в таком же порядке, отличие только в том, что выделение происходит в левой части (область Локального сайта).

Многие спросят, а для чего нужно все это, зачем скачивать на компьютер, что мне это даст?

Давайте разберем маленький пример: вам нужно поправить код index.php. Находим его на сервере, скачиваем в нашу папку на компьютере.

Примечание: Обращаю ваше внимание, что для редактирования файлов не стоит пользоваться стандартной программой Блокнот в Виндоус, т.к. при сохранении возможно изменение кодировки и некорректное отображение содержимого. Для редактирования кода я советую использовать программу Notepad++ .

Более подробное ее описание вы можете прочитать у нас на блоге в одной из следующих статей. А чтобы не пропустить —

Если открытие произошло в другой программе, то находим наш файл у себя на диске, в моем случае – нажимаю на меню Пуск→ Компьютер, выбираю Локальный диск D и захожу в нашу папку «Тест». Далее нажимаю правой кнопкой мышки на index.php и в выпадающем меню выбираю «Открыть с помощью».

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

Теперь можно спокойно работать с данным объектом.

Более подробно как работать с Нотепадом я расскажу в следующих статьях.

После того как вы отредактировали ваш файл, сохраните его и просто перетащите в зону 5.

Так как файл уже существует на сервере, программа уточнит ваши действия. Не пугайтесь, в появившемся окне просто выбираем «Перезаписать» и нажимаем ОК.

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

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

А вот еще парочка полезных программ:

Антон Калмыков

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

1. Запустите программу FileZilla, после чего в верхнем меню нажмите пункт Файл Менеджер сайтов .

Новый сайт .

Хост - адрес FTP-сервера.
Тип сервера - FTP - File Transfer Protocol.
Тип входа - нормальный.
Пользователь - имя пользователя.
Пароль - пароль.
Encryption (Шифрование) - Use plain FTP.

4.Перейдите во вкладку Настройки передачи , выберите пассивный режим передачи, поставьте галочку Ограничение одновременных подключений и установите Максимальное количество подключений равное двум. Нажмите кнопку Соединиться .

Важно: Содержимое вашего сайта нужно разместить в папке /home/login/Ваш_домен/docs/ .

FAR

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

1. Запустите программу FAR. Определите в какой панели Вы хотите сделать ftp-соединение. Допустим, справа. Тогда нажмите Alt F2 и в появившемся окне выберите строку FTP.

2. Нажмите Shift+F4, появится окно для ввода параметров соединения.

3. Заполните необходимые поля. В поле Descripton можете дать любое имя настраиваемому ftp-соединению, отметьте позицию Passive mode .

4. После этого, нажмите кнопку Save .

5. На выбранной вами панели программы FAR, у нас это - правая, появится строка с только что заведенным именем ftp-соединения. Находясь на этой строке, нажмите Enter.

6. Произойдет соединение с сервером и можно работать в привычном режиме двухпанельного файлового менеджера.

Total Commander

Скачать Total Commander вы можете на сайте http://www.ghisler.com .

1. Запустите программу Total Commander, после чего в верхнем меню нажмите пункт Сеть , в открывшемся меню выберите пункт Соединиться с FTP-сервером .

2. В открывшемся окне нажмите на кнопку Добавить .

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

Имя соединения - придумайте название, например, «Хостинг login».
Сервер - адрес FTP-сервера.
Учетная запись - имя пользователя.
Пароль - пароль пользователя.

Установите флаг Пассивный режим обмена (как Web-браузер) .

После этого нажмите кнопку ОК .

4.Выберите созданное подключение и нажмите кнопку Соединиться .

5. Произойдет соединение с сервером, после чего можно работать в привычном режиме двухпанельного файлового менеджера.

Важно : Содержимое вашего сайта нужно разместить в папке /home/login/Ваш_домен/docs/ .

Total Commander (версия 6.53)

Русифицированная версия

1. Запустите программу TotalCommander, после чего, в верхнем меню нажмите пункт Конфигурация и выберите строку Настройка: FTP

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

После чего, нажмите OK и окне исчезнет.

3. В верхнем меню нажмите пункт FTP и выберите строку Соединиться с FTP-сервером .

4. В появившемся окне нажмите на кнопку Добавить .

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

После чего, нажать кнопку OK .

6. В оставшемся окне нажмите на кнопку Соединиться .

7. Произойдет соединение с сервером и можно работать в привычном режиме двухпанельного файлового менеджера.

iWeb

После создания сайта на экране появится окно программы iWeb с содержимым вашего сайта.


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


На открывшейся странице введите параметры, необходимые для публикации.
В разделе Публикация :
Опубликовать на: FTP
Имя сайта: Название вашего сайта
E-mail для связи: ваш электронный ящик


В разделе Параметры FTP-сервера :
Адрес сервера: ftp.ваш_логин.nichost.ru
Пользователь: имя_пользователя (обычно ваш_логин_ftp)
Пароль: ваш_пароль
Каталог/путь: ваш_сайт/docs
Протокол: FTP
Порт: 21


В качестве URL укажите адрес вашего сайта.



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

В случае успешной публикации, появится сообщение: «Ваш сайт опубликован».


Важно: По умолчанию iWeb использует кодировку текста UTF-8 . На нашем хостинге по умолчанию используется кодировка Windows-1251 . Для корректного отображения вашего сайта, вам необходимо зайти в , раздел Веб-сервер Сайты ваш_сайт и выбрать из списка Кодировка сайта кодировку UTF-8 .

CuteFTP (версия 7.0)

1. Запустите программу CuteFTP, после чего, в верхнем меню нажмите пункт Tools


2. Выберите строку Site Manager .


3. В появившемся окне выберите строку Display Site Manager .


4. В новом окне нажмите на кнопку New .


5. Внизу появятся две строчки подменю. Выберите строку FTP Site .


6. Появится окно:


7. Заполните поля в этом окне.


8. Затем, не выходя из этого окна, нажмите кнопку Type .


9. В сменившемся окне, в разделе Data Connection Type выберите строку Use PASV - это пассивный режим передачи данных.


10. Затем, в нижем ряду кнопок, нажмите на кнопку Connect .


11. Произойдет соединение с сервером и можно работать в привычном режиме двухпанельного файлового менеджера.


FlashFXP

Скачать trial версию вы можете здесь: http://www.inicom.net/pages/en.ffxp-download.php
После установки есть несколько способов подключиться к серверу: Записав через Менеджер сайтов и Быстрое подключение.

Быстрое подключение.

1. Для быстрого подключения вам необходимо нажать на значок молнии и выбрать пункт Quick Connect или же нажать кнопку F8.


2. После чего, в открывшейся форме:

3. Заполнить поля Server or Url , User Name , Password .

4. После этого откроется ваш FTP аккаунт.

5. После чего необходимо будет зайти в папку с названием вашего сайта и в ней в Папку Docs. После этого в левой части зайти в папку с файлами, необходимыми для сайта,

Менеджер Сайтов.

1. Для того чтобы войти в Менеджер сайтов вам необходимо зайти в закладку Sites Site Manager либо нажать кнопку F4

4. Ввести название сайта и нажать на кнопку OK . Далее заполнить поля IP Adress , User name , Password

5. Вместо test111 подставьте ваш идентификатор хостинга. После чего нажмите кнопку Apply . После чего нажав на кнопку молнии в выпадающем меню выбираете имя вашего соединения.

6. Нажав на него, попадете в ваш ftp аккаунт.

Macromedia Dreamweaver 8

1. При запуске приложения откроется окно:

3. У вас откроется окно менеджера сайтов.

6. Если все пройдет нормально, то у вас справа должен появиться список файлов:

В этой статье мы расскажем о таких вещах:

  1. как настроить FTP-сервер на компьютере, который подключён к роутеру;
  2. как предоставить к нему доступ из всемирной сети Интернет.

Настройка программы FTP сервера

Установка FileZilla Server

Скачайте и установите любой FTP-сервер, который вам нравится, или с которым вы привыкли работать. Мы для примера скачаем бесплатную программу Filezilla Server с официального сайта: https://filezilla-project.org/download.php?type=server

Запустите скачанный установочный файл:

Нажмите Отклоняю :

Нажмите Отклоняю ещё раз:

Нажмите Установить :

Нажмите I agree:

Next:

Install :

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

Запустите интерфейс программы.

Войдите в настройки: меню Edit -> Settings :

Теперь нужно настроить пассивный режим FTP.

1) Выберите раздел Passive mode settings;

2) Установите галку Use custom port range;

3) Задайте удобный для вас диапазон портов для использования в пассивном режиме;

4) В поле Use the following IP пропишите ваш внешний IP;

5) Нажмите кнопку OK для сохранения настроек.

Теперь необходимо настроить учётные записи пользователей и указать домашние директории.

Войдите в меню Edit и выберите Users :

В разделе General нажмите Add :

Введите имя пользователя и нажмите OK :

1) Установите галку возле Password . Этим вы укажете, что для данной учётной записи будет требоваться пароль.

2) Задайте пароль для данной учётной записи;

3) Перейдите в раздел Shared folders:

В разделе Shared folders нажмите Add :

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

Задайте разрешения для данного пользователя в папке.

В области Файлы вы можете разрешить или запретить следующие операции с файлами :

  • Чтение;
  • Запись;
  • Удаление;
  • Изменение.

В области Папки вы можете разрешить или запретить следующие операции с папками :

  • Создание;
  • Удаление;
  • Просмотр списка;
  • Просмотр вложенных папок.

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

Настройка компьютера

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

Заходим в Панель управления и выбираем Брандмауэр Windows.

Нажимаем правой кнопкой мыши по Правила для входящих подключений и выбираем Создать правило :

Выбираем вариант Для программы и нажимаем Далее :

Установите переключатель в положение Путь программы и с помощью кнопки Обзор укажите путь к файлу FileZilla Server.exe.
Затем, нажмите Далее:

Выберите вариант Разрешить подключение и нажмите Далее:

Дайте произвольное имя правилу и нажмите Готово :

Настройка роутера: создание правил проброса портов

Теперь нам необходимо создать проброс портов на шлюзе. Шлюзом может быть роутер, модем или другое устройство. Войдите на веб-интерфейс роутера (читайте статью о том, что такое веб-интерфейс и как на него зайти: ) и откройте раздел перенаправления портов. Подробнее о перенаправлении портов читайте в нашей статье: Что такое проброс порта.

Создайте два правила.

Правило №1: проброс внешнего порта 21 на порт 21 компьютера, где установлена программа FTP-сервер.

Правило №2: проброс диапазона портов на такой же диапазон портов на компьютере с установленной программой FTP-сервер.

Сохрание настройки.

Как удалённо подключиться к FTP-серверу

Для доступа к FTP-серверу вы можете использовать либо FTP-клиент, либо браузер, либо даже проводник. Конечно же, предпочтительнее использовать FTP-клиент. Мы рекомендуем бесплатную программу FileZilla client . Скачать его вы сможете на официальном сайте: https://filezilla-project.org/download.php?type=client

В поле Хост введите либо ), либо внешний IP-адрес роутера. Затем, введите имя пользователя, созданное вами в программе FileZilla Server на компьютере, соответствующий ему пароль и нажмите кнопку Быстрое соединение :

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

В этом разделе будет кратко рассмотрена история и технические сведения, касающиеся протокола 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 со включенными сервисами "Маршрутизация и удаленный доступ" или "Шлюз уровня приложения".

По многочисленным просьбам читателей, в данном 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 анонимный доступ к серверу будет открыт для всех желающих.