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

Приветствую, друзья. Сегодня у меня в блоге сайт статья, посвященная полезной программе – FTP клиент Filezilla. Я расскажу о возможностях программы, для каких целей применяется, как настроить и как пользоваться Filezilla при работе со своими интернет проектами.

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

Зачем нужен FTP клиент

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

Проще всего это можно сделать на примере из реальной жизни.

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

Аналогично, для «перевозки» разных типов информации в сети применяются разные протоколы.

Наиболее знакомы всем HTTP и HTTPS – это протоколы, предназначенные для получения информации с интернет сайтов. Запрашивая данные по этим протоколам, мы получаем красивые страницы сайтов – для работы с ними используются браузеры ().

FTP – это другой протокол. Он не предназначен для красивой визуализации и исполняет роль рабочей лошадки, которая неприметно для окружающих таскает на себе большие объемы данных, которые не необходимости визуально показывать (по крайней мере, сразу) – нужно просто передать на сервер или скачать с него. FTP так и расшифровывается – File Transfer Protokol (протокол передачи файлов)

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

Для работы по FTP протоколу используются специальные программы – FTP клиенты, к коми относится и Filezilla.

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

Программа Filezilla получила свою популярность благодаря нескольким моментам:

  1. Этот FTP клиент удобен в работе;
  2. Программа совершенно бесплатна;
  3. При перебоях в связи работает докачка;
  4. Можно настроить скорость;
  5. И много чего ещё.

Установка Filezilla

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

Официальный сайт Filezilla – http://filezilla.ru/get/ (страница для скачивания)

На этой страничке выбираете версию, соответствующую вашей операционной системе (Windows, Linux, Mac). На данный момент под Windows есть портативная версия, не требующая установки (можно залить ее на флешку и всегда иметь под рукой).

Сохраняете файл подходящей версии, запускаете его и устанавливаете Filezilla, следуя инструкциям. Там всего 2 шага – выбор папки для установки и языка программы (русский поддерживается), останавливаться на них подробно не имеет смысла.

Настройка Filezilla (подключение к FTP серверу)

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

При запуске filezilla перед вами откроется окно, состоящее из 5 рабочих зон:

  1. Панель управления;
  2. Состояние подключения;
  3. Файлы на локальном компьютере;
  4. Файлы на сервере;
  5. Отчет о передаче файлов.

Пока подключения к FTP серверу нет, часть окон пусты.

Первым делом нас интересует самая левая кнопка в панели управления (открыть менеджер сайтов):

Её нажатие приводит к появлению формы для заполнения серверных данных.

Шаг 1 – жмем кнопку «Новый сайт» (в следующий раз его данные уже будут сохранены).

Шаг 2 – в списке «Мои Сайты» появится «Новый сайт» – переименуйте его в запоминающееся имя, у меня в примере это «хостинг timeweb».

Шаг 3 – заполнение данных для доступа к сайту. Если вы подключаетесь, как у меня в примере в хостингу сайтов, то данные для доступа нужно взять у них (в любых случаях эта информация берется у администрации сервера).

Что нужно:

  1. Хост – это адрес сервера, он может быть как в виде доменного имени, так и в виде IP адреса. Например, в timeweb это имя_сервера.timeweb.ru.
  2. Порт – берется также у хостера и един для всех аккаунтов.
  3. Протокол – оставляем FTP по умолчанию (если вам не требуется иное).
  4. Шифрование – если не указан особый вариант, оставляем по умолчанию.
  5. Тип входа – здесь могут быть варианты. В общедоступных FTP серверах файлами могут пользоваться все без ограничении и там указывается анонимный вход. При индивидуальном доступе к своему хостингу выставляем нормальный – это открывает поля для ввода логина и пароля.
  6. Комментарий – необязательное поле, в него вы можете вписать любые подсказки и пояснения для себя.

Шаг 4 – итоговое действие для подключения – нажатие кнопки «Соединиться».

Если всё заполнено корректно, то результатом станет подключение к FTP серверу – это мы увидим по сообщениям в полях «Состояние подключения» и по файлам, появившимся в окне «Удаленный сайт»:

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

Как пользоваться Filezilla

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

Передача файлов

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

Файлы или папки, которые мы хотим передать выделяем мышью и:

  • Либо просто перетаскиваем с одной стороны на другую;
  • Либо щелкаем правой кнопкой мыши по выделенным объектам и в контекстном меню выбираем команду «Скачать» или «Закачать на сервер» в зависимости от направления передачи данных.

Скачать с сервера:

Закачать на сервер:

Докачка данных при сбоях

От обрывов связи при передаче данных через интернет никто не застрахован, но Filezilla следит за каждым битом информации и контролирует их успешное прохождение.

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

Вкладка находится в нижней части окна программы:

Создание и редактирование папок и файлов

Данную часть можно было и не описывать, так как на скриншотах выше уже показано, что в контекстном меню есть соответствующие кнопки:

  • Создать каталог – добавляем пустую папку;
  • Создать новый файл – указываете любое расширение вручную;
  • Переименовать – присваивает объекту новое название;
  • Просмотр/правка – позволяет редактировать файлы в текстовом режиме;
  • Права доступа к файлу – задает права на чтение, запись и выполнение разным категориям пользователей.

Заключение

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

Успешная передача данных по FTP требует очень точной и скрупулезной настройки. Правда, в новейших программах-клиентах, в значительной мере данный процесс автоматизирован. Тем не менее, надобность вносить основные настройки для соединения все-таки осталась. Давайте на подробном примере изучим, как производится настройка программы FileZilla – самого популярного FTP-клиента на сегодняшний день.

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

Для этих целей переходим в раздел верхнего меню «Файл», и выбираем пункт «Менеджер сайтов».

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

Перед нами открывается Менеджер сайтов. Чтобы добавить подключение к серверу, жмем на кнопку «Новый сайт».

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

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

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

В графе шифрование, тоже по возможности оставляем данные по умолчанию – «Использовать явный FTP через TLS если доступен». Это позволит максимально защитить соединение от злоумышленников. Только если возникают проблемы с подключением по защищенному соединению TLS, есть смысл выбрать пункт «Использовать обычный FTP».

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

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

В остальных вкладках Менеджера сайтов «Дополнительно», «Настройки передачи» и «Кодировка» никаких изменений вносить не нужно. Все значения должны оставаться по умолчанию, и только в случае каких-то неполадок в соединении, в соответствии с их конкретными причинами, в данных вкладках можно вносить изменения.

После того, как мы ввели все настройки, чтобы произвести их сохранение, жмем на кнопку «OK».

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

Общие настройки

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

Для того, чтобы попасть в менеджер общих настроек, переходим в раздел верхнего меню «Редактирование», и выбираем пункт «Настройки…».

В первой открывшейся вкладке «Соединение» вводятся такие параметры подключения, как время ожидания, максимальное число попыток подключения и пауза между ожиданиями.

Во вкладке «FTP» указывается тип FTP-подключения: пассивный или активный. По умолчанию выставлен пассивный тип. Он более надежный, так как при активном подключении при наличии файерволов и нестандартных настроек на стороне провайдера возможны дефекты подключения.

В разделе «Передачи» производится настройка количества одновременных передач. В данной графе можно выбрать значение от 1 до 10, но по умолчанию стоит 2 подключения. Также при желании, вы можете в этом разделе указать ограничение скорости, хотя по умолчанию она не ограничена.

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

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

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

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

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

Последний раздел — «Отладка» позволяет включить меню отладки. Но эта функция доступна лишь для очень продвинутых пользователей, так что для людей, которые только знакомятся с возможностями программы FileZilla, она точно ни к чему.

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

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

    Аббревиатура FTP происходит от английского F ile T ransfer P rotocol (протокол передачи файлов) - протокол прикладного уровня для обмена файлами по транспортному протоколу TCP/IP между двумя компьютерами, FTP-клиентом и FTP-сервером. Это один их старейших, и тем не менее, по-прежнему активно используемый протокол.

Протокол FTP предназначен для решения следующих задач:

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

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

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

    FTP- клиент является программой, которая выполняет подключение к FTP- серверу и выполняет необходимые операции для просмотра содержимого каталогов сервера, приема, передачи и удаления файлов или папок. В качестве такой программы может использоваться обычный браузер, компоненты операционной системы или специально разработанные программные продукты, как, например, популярный менеджер закачек Download Master или многофункциональный бесплатный FileZilla FTP Client .

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

    Реалии же сегодняшнего дня таковы, что подобное TCP - соединение от сервера к клиенту в подавляющем большинстве случаев невозможно, или очень непросто реализовать по причине того, что в большинстве случаев, для подключения к Интернет используется технология с трансляцией сетевых адресов NAT (Network Address Translation) , когда клиент не имеет сетевого интерфейса, доступного для создания прямого TCP- соединения из Интернет. Типовая схема стандартного подключения к Интернет выглядит следующим образом:

    Подключение к Интернет выполняется через специальное устройство - Router (маршрутизатор с функцией NAT), имеющее, как минимум два сетевых порта - один подключенный к сети провайдера, имеющий сетевой интерфейс с маршрутизируемым IP-адресом (так называемый, "белый IP"), например 212.248.22.144, и порт с сетевым интерфейсом для подключения устройств локальной сети с приватным, немаршрутизируемым IP-адресом, например 192.168.1.1 ("серый IP"). При создании соединений от сетевых устройств локальной сети к внешним сетевым узлам, IP-пакеты направляются на маршрутизатор, который выполняет трансляцию адресов и портов таким образом, чтобы, адресом отправителя стал его белый IP-адрес . Результаты трансляции сохраняются и при получении ответного пакета, выполняется обратное преобразование адреса. Таким образом, маршрутизатор обеспечивает пересылку TCP/IP - пакетов от любых устройств локальной сети во внешние сети и обратную пересылку полученных ответных пакетов. Но в тех случаях, когда на вход сетевого интерфейса, подключенного к сети провайдера, принимается пакет, который не имеет отношения к ответным TCP-пакетам, возможны следующие варианты реакции программного обеспечения маршрутизатора:

    Пакет игнорируется, так как нет сетевой службы, которая могла бы его обработать.

    Пакет принимается и обрабатывается сетевой службой самого маршрутизатора, если такая служба существует и ожидает ходящее соединение ("слушает") порт, номер которого указан в принятом пакете.

    Пакет пересылается серверу в локальной сети, ожидающему данный вид входящих соединений в соответствии с правилами перенаправления портов (port mapping) заданными настройками маршрутизатора.

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

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

    PASSV - команда на переключение в пассивный режим, передаваемая FTP - клиентом FTP-серверу

    227 Entering Passive Mode (212,248,22,144,195,89) - ответ FTP-сервера, где 227 - код ответа, текстовое сообщение о переходе в пассивный режим и в скобках IP-адрес и номер порта, которые будут использованы для создания канала передачи данных. Адрес и номер порта отображаются в виде десятичных чисел, разделяемых запятой. Первые 4 числа - это IP-адрес (212.248.22.144), оставшиеся 2 числа задают номер порта, который вычисляется по формуле - первое число умножается на 256 и к результату прибавляется второе число, в данном примере номер порта 195*256 +89 = 50017

    PORT IP адрес клиента номер порта - клиент передает команду, чтобы организовать сеанс в активном режиме. IP-адрес и номер порта задаются в том же формате, как и в предыдущем примере, например PORT 212.248.22.144,195,89 Для организации передачи данных сервер сам подключается к клиенту на указанный порт.

    Установка и настройка FileZilla FTP Server.

    Скачать инсталляционный пакет FileZilla Server для вашей версии операционной системы можно на

    Установка сервера выполняется стандартным образом, за исключением пункта с выбором настроек панели управления сервером :

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

    После завершения установки откроется окно приглашения для подключения к серверу:

    После ввода IP-адреса, номера порта и пароля (если вы задавали их в процессе установки) открывается панель управления FileZilla Server:

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

    File - режимы работы панели управления FTP-сервером. Содержит подпункты

    - Connect to Server - подключиться к серверу
    - Disconnect - отключиться от сервера
    - Quit - завершение работы панели управления.

    Server - управление FTP-сервером. Содержит подпункты:

    - Active - запустить/остановить FTP-сервер. При установленной галочке FTP-сервер запущен, при снятой - остановлен.
    - Lock - запретить/разрешить подключения к серверу. При установленной галочке новые подключения к серверу запрещены.

    Edit - редактирование настроек. Подпункты:

    - Settings - основные настройки сервера.
    - Users - настройки пользователей FTP-сервера
    - Groups - настройки групп пользователей.

    В качестве примера, выполним настройки сервера для следующих условий:

  • сервер находится за NAT, имеет приватный IP-адрес, но должен быть доступен из Интернет, поддерживает пассивный режим и использует нестандартные TCP порты. Использование нестандартных портов позволяет уменьшить вероятность хакерских атак, и кроме того, некоторые провайдеры используют фильтрацию трафика и блокируют стандартные 20 и 21 порты.
  • пользователи имеют возможность скачивать с сервера, закачивать на сервер, удалять и переименовывать файлы и папки.
  • в случае использования динамического IP-адреса, требуется обеспечить доступность сервера по DNS-имени.
  • сервер будет функционировать на рабочей станции в среде ОС Windows 7 / Windows 8.
  • Другими словами, нужно создать доступный из Интернет FTP-сервер для обмена файлами между пользователями, разумеется бесплатно. Вполне понятно, что кроме создания необходимой конфигурации самого FTP - сервера, потребуется изменение некоторых настроек маршрутизатора, параметров брандмауэра Windows, решение проблемы динамического IP-адреса, чтобы сервер был доступен по имени, независимо от смены IP-адреса.

    Решение проблемы динамического IP-адреса.

        Данная проблема не требует решения в тех случаях, когда при подключении к интернет используется статический IP - адрес, или же динамический, но в соответствии с настройками провайдера, практически всегда один и тот же. В противном случае, можно воспользоваться технологией, получившей название Динамический DNS ( DDNS ) . Данная технология, позволяет почти в реальном масштабе времени обновлять информацию об IP-адресе на DNS-сервере, и получать доступ к маршрутизатору (и службам за ним) по зарегистрированному имени, не обращая внимание на изменение динамического IP.

    Для бесплатной реализации данной технологии потребуется регистрация на каком-нибудь сервисе динамического DNS и установка клиентского программного обеспечения для обновления записи DNS в случае изменения соответствующего IP-адреса. Поддержку динамического DNS, как правило, осуществляют производители сетевого оборудования (D-Link, Zyxel и др.), некоторые хостинговые и специализированные компании, как например, широко известная DynDNS . Однако, после того, как во второй половине 2014 года, все услуги, которые предоставлялись зарегистрированным пользователям бесплатно для некоммерческого использования, стали платными, наиболее популярным решением, пожалуй, стало использование динамического DNS на базе сервиса No-IP.org , который в бесплатном режиме предоставляет услуги по поддержке 2-х узлов с динамическим IP. Для бесплатного использования сервиса потребуется регистрация, и периодическое (приблизительно 1 раз в месяц) посещение сайта для обновления информации об используемых узлах с динамическим IP. Эсли пропустить обновление данных об узле, то услуга приостанавливается, и соответственно, подключиться к узлу по имени станет невозможно. При платном использовании сервиса обновление не требуется.

        Практически все современные маршрутизаторы (модемы) имеют встроенную поддержку динамического DNS-клиента. Его настройка обычно очень простая, - заполняются поля с именем пользователя и паролем, а также с именем узла, полученные при регистрации на сервисе DDNS . Пример для Zyxel P660RU2

        Использование клиента DDNS, встроенного в маршрутизатор/модем предпочтительнее по сравнению с утилитой обновления данных DNS, работающей в среде ОС, поскольку позволяет реализовать дополнительные возможности, как например, управление маршрутизатором через Интернет при выключенном компьютере и удаленное включение электропитания компьютеров за NAT по технологии Wake On Lan .

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

    Порядок действий следующий:

  • Идем на сайт No-IP.org . Для работы с уже имеющейся или новой учетной записью используется кнопка "Sign In" (в верхней правой части страницы).

  • Создаем, если она еще не создана, свою учетную запись - жмем "Create Account" . Форма регистрации периодически меняется, но обязательными являются ввод желаемого имени пользователя, пароля и вашего E-mail. На указанный при регистрации e-mail приходит письмо с ссылкой для подтверждения регистрации. При регистрации выбираем бесплатный доступ - жмем кнопку Free Sign Up после заполнения всех требуемых полей формы.
  • После успешной регистрации входим на сайт и добавляем запись для своего узла - жмем кнопку "Add Hosts"

    Фактически, необходимо ввести только выбранное имя узла, в данном случае - myhost8.ddns.net . Остальные параметры менять не нужно. Затем необходимо скачать и установить специальное программное обеспечение - Dynamic Update Client (DUC), ссылка на который размещена на главной странице сайта. После завершения установки DUC выполнится его запуск и откроется окно авторизации, где нужно ввести имя пользователя или E-mail и пароль, полученные при регистрации на сайте no-ip.org. Затем нажать кнопку Edit Hosta и поставить галочку напротив созданного ранее имени узла (myhost8.ddns.net) . Теперь, выбранному имени узла будет постоянно соответствовать "белый IP-адрес" вашего подключения к Интернет. При возникновении проблем с обновлением IP-адреса, проверьте, не блокируется ли сетевая активность клиента DUC брандмауэром.

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

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

    Настройки FileZilla Server выполняются через меню "Edit" -"Settings"

    Окно General Settings предназначено для общих настроек FTP-сервера.

    В поле "Listen on this port" можно указать номер порта для входящих TCP-соединений. По умолчанию в данном поле установлено значение 21 , и для использования нестандартного номера нужно указать выбранное значение, например - 12321 . Использование нестандартного TCP-порта имеет некоторое неудобство, поскольку требует обязательное указание его значения при создании сеанса:

    Если сервер планируется использовать как с доступом из Интернет, так и в локальной сети, есть смысл оставить стандартное значение 21, а нестандартный номер порта использовать для подключений из Интернет, настроив перенаправление пакетов, пришедших на порт 12321 маршрутизатора, на порт 21 FTP-сервера в локальной сети. При такой настройке, для FTP-сессий внутри локальной сети указывать номер порта не нужно.

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

    Welcome Message - текст, который передается клиенту при подключении.

    IP Binding - на каком сетевом интерфейсе будут ожидаться клиентские подключения. По умолчанию - на любом, но можно указать конкретный, например - 192.168.1.3.

    IP Filter - настройка правил фильтрации IP-адресов клиентов. По умолчанию - разрешены подключения для любых IP.

    Раздел Passive mode settings служит для настроек пассивного режима FTP и потребует изменения практически всех параметров, принятых по умолчанию.

    Номера портов, которые будут использоваться для передачи данных в пассивном режиме, нужно задавать вручную, поскольку потребуется настройка маршрутизатора для перенаправления их на слушаемый сервером сетевой интерфейс. Поэтому нужно установить галочку на разрешение режима "Use custom port range" и задать диапазон - например от 50000 до 50020 . Количество портов, слушаемых сервером, определяет предельное число одновременных сеансов передачи данных.

    Подраздел IPv4 specific определяет IP - адрес, который будет отправляться сервером в ответ на команду PASV. В данном случае, это должен быть не собственный IP сервера 192.168.1.3, а "белый IP" нашего подключения к Интернет. Поэтому нужно установить режим "Use the following IP" и вместо IP-адреса ввести имя, полученное при регистрации на сервисе динамического DNS - myhost8.ddns.net . В качестве альтернативы, можно использовать режим определения внешнего IP-адреса средствами проекта FileZilla, включив. "Retrieve external IP Address from:". Данный вариант можно выбрать в тех случаях, когда нет возможности использовать средство динамического DNS. Если предполагается использование FTP - сервера в своей локальной сети, нужно установить режим "Don"t use external IP for local connections" (не использовать внешний IP-адрес для соединений внутри локальной сети)

    Остальные настройки сервера можно оставить без изменений или, при необходимости, выполнить позже: Security settings - настройки безопасности. По умолчанию - запрещены соединения, которые могут быть использованы для реализации DDoS-атак

    Miscellaneous - настройки размеров буферов и прочих параметров журналов и некоторых команд FTP.

    Admin Interface settings - настройки панели управления сервером. Можно указать сетевой интерфейс, номер слушаемого порта, IP-адреса, с которых разрешено подключение к панели управления и пароль.

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

    Speed Limit - настройки ограничения скорости передачи данных. По умолчанию - без ограничений.

    Filetransfer compression - настройки сжатия файлов при передаче. По умолчанию - без сжатия.

    SSL/TLS settings включение режима шифрования передаваемых данных. По умолчанию - без шифрования.

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

    Настройка перенаправления портов и брандмауэра

    Для того, чтобы FTP-сервер был доступен из Интернет, необходимо выполнить настройки маршрутизатора таким образом, чтобы входящие соединения, пришедшие на определенные TCP-порты внешнего интерфейса, перенаправлялись на TCP - порты, слушаемые FTP-сервером внутренней сети. Для различных моделей маршрутизаторов настройки могут отличаться терминологией, но смысл их один и то же - принятый на внешнем (WAN) интерфейсе TCP-пакет с определенным номером порта переслать в локальную сеть на нужный IP-адрес и порт. Пример настроек маршрутизатора D-Link DIR-320NRU для перенаправления портов, используемых для пассивного режима FTP:

    Пакеты, принятые на интерфейсе с "белым IP" и имеющие номера портов в диапазоне 50000-50020 будут перенаправляться на IP-адрес, задаваемый полем "Внутренний IP" (в нашем случае - 192.168.1.3). Аналогичным образом создается перенаправление для порта 50021, если вы изменили номер стандартного порта, или на порт 21 FTP-сервера, если вы оставили его без измененния.

    После применения данных настроек, FTP-сервер будет доступен по URL ftp://myhost8.ddns.net:50021 или, для соединения внутри локальной сети:

    ftp://192.168.1.3 - если вы не изменяли стантартный номер порта (21) в настройках FTP-сервера.

    ftp://192.168.1.3:50021 - если используется нестандартный номер порта.

    Вместо IP-адреса можно использовать имя компьютера, если оно может быть разрешено в IP-адрес

    ftp://comp1

    ftp://comp1.mydomain.ru

    Диагностика проблем

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

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

    telnet localhost 21 - если используется стандартный номер порта.

    telnet localhost 50021 - если был изменен стандартный номер порта.

    При выполнении данной команды происходит подключение к FTP-серверу по петлевому интерфейсу и в окне telnet должно отобразиться приглашение сервера (Welcome Message). Если этого не происходит, возможно, сервер остановлен, имеет место конфликт портов, или слушается не порт 21 (50021) . Для диагностики можно использовать команду netstat :

    netstat –nab

    Параметры командной строки означают:

    n - использовать числовые номера портов и адреса IP

    a - отображать все соединения и слушаемые порты

    b - отображать имена программ, участвующих в создании соединений.

    Пример отображаемых результатов выполнения команды:

    Активные подключения

    Имя     Локальный адрес     Внешний адрес     Состояние
    TCP         0.0.0.0:21                 0.0.0.0:0                 LISTENING
    TCP         0.0.0.0:135               0.0.0.0:0                 LISTENING
    RpcSs

    В колонке Локальный адрес имеется значение 0.0.0.0:21 , которое говорит о том, что программа с именем FileZilla Server.exe слушает (состояние LISTENING ) TCP порт с номером 21 на всех сетевых интерфейсах. Если в настройках FTP-сервера был указан конкретный интерфейс и другой номер порта, то это значение будет содержать IP:порт , например – 192.168.1.3:50021

    Для вывода результатов в постраничном режиме, можно воспользоваться командой:

    netstat -nab | more

    Или использовать поиск результатов по номеру порта: netstat -nab | find ":21"

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

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

    Настройка пользователей и групп выполняется через меню "Edit" - "Users" ("Groups"). Группы создавать необязательно, но иногда удобно, для тех случаев, когда имеется большое количество пользователей, и их права по отношению к FTP-серверу различаются. Настройки и групп и пользователей практически идентичны:

    В данном примере отображен результат добавления пользователя FTP-сервера с именем user1 имеющего полные права на запись, чтение, удаление и слияние файлов, а также на просмотр содержимого, удаление и создание подкаталогов в каталоге C:\ftp\public

    На странице General выполняется добавление, удаление и изменение свойств пользователей.
    На странице Shared Folders выполняются настройки, определяющие перечень каталогов файловой системы, которые будут использоваться FTP-сервером для предоставления доступа к ним по протоколу FTP. Каждому пользователю или группе пользователей может предоставлен свой каталог с определенными правами по отношению к его содержимому.
    На странице Speed limits можно задавать ограничения по скорости обмена данными.
    На странице IP Filter можно задать правила фильтрации для IP - адреса пользователя, указав адреса с которых запрещено или разрешено подключение к серверу.

    Список основных команд FTP

    ABOR - Прервать передачу файла
    CDUP - Сменить директорию на вышестоящую.
    CWD - Сменить текущую директорию.
    DELE - Удалить файл (DELE filename).
    HELP - Выводит список команд принимаемых сервером.
    LIST - Возвращает список файлов директории. Список передается через соединение данных (20 порт).
    MDTM - Возвращает время модификации файла.
    MKD - Создать директорию.
    NLST - Возвращает список файлов директории в более кратком формате чем LIST. Список передается через соединение данных (20 порт).
    NOOP - Пустая операция
    PASV - Войти в пассивный режим. Сервер вернет адрес и порт к которому нужно подключиться чтобы забрать данные. Передача начнется при введении команд RETR, LIST и т.п.
    PORT - Войти в активный режим. Например PORT 12,34,45,56,78,89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.
    PWD - Возвращает текущую директорию сервера.
    QUIT - Отключиться
    REIN - Реинициализировать подключение
    RETR - Скачать файл. Перед RETR должна быть команда PASV или PORT.
    RMD - Удалить директорию
    RNFR и RNTO - Переименовать файл. RNFR - что переименовывать, RNTO - во что.
    SIZE - Возвращает размер файла
    STOR - Закачать файл на сервер. Перед STOR должна быть команда PASV или PORT.
    SYST - Возвращает тип системы(UNIX, WIN,)
    TYPE - Установить тип передачи файла(A- текстовый ASCII, I - двоичный)
    USER - Имя пользователя для входа на сервер

    Пример FTP-сессии

    FTP-клиент подключается к серверу с именем пользователя user1 , пустым паролем и скачивает файл с именем cpu-v . Красным цветом выделены сообщения FTP-сервера, синим - FTP-клиента. Обмен директивами и параметрами может незначительно отличаться для разных версий программного обеспечения FTP-клиента и FTP-сервера.

    После подключения, сервер передает клиенту сведения о себе:
    220-FileZilla Server version 0.9.45 beta
    220-written by Tim Kosse ([email protected])
    220 Please visit http://sourceforge.net/projects/filezilla/
    Клиент передает имя пользователя:
    USER user1
    Сервер запрашивает ввод пароля:
    331 Password required for user1
    Клиент передает пустой пароль:
    PASS
    Сервер проверяет учетную запись пользователя и сообщает о начале сеанса:
    230 Logged on
    Клиент запрашивает тип операционной системы на сервере:
    SYST
    Сервер сообщает, что тип Unix , эмулируемый Filezilla-сервером:
    215 UNIX emulated by FileZilla
    Клиент запрашивает перечень параметров, поддерживаемых сервером:
    FEAT
    Сервер отвечает перечнем поддерживаемых параметров:
    211-Features:
    MDTM
    REST STREAM
    SIZE
    MLST type*;size*;modify*;
    MLSD
    UTF8
    CLNT
    MFMT
    211 End

    Клиент запрашивает текущий каталог сервера:
    PWD
    Сервер сообщает, что текущий каталог – корневой ("/"):
    257 "/" is current directory.
    Клиент сообщает, что будет передавать двоичные данные:
    TYPE I

    Сервер подтверждает тип передаваемых данных:
    200 Type set to I
    Клиент сообщает, что будет использовать пассивный FTP-режим:
    PASV
    Сервер сообщает о переходе в пассивный режим и передает IP и порт для пассивного FTP-режима.
    227 Entering Passive Mode (212,248,22,114,195,97)
    Клиент запрашивает прием файла с именем cpu-v из текущего каталога сервера
    RETR cpu-v
    Сервер сообщает о начале передачи данных:
    150 Opening data channel for file download from server of "/cpu-v"
    По завершении, сервер сообщает об успешной передаче:
    226 Successfully transferred "/cpu-v"

    В заключение добавлю, что проект Filezilla включает в себя не только разработку и поддержку качественного бесплатного FTP-сервера, но и популярного бесплатного FTP-клиента

    Статья с кратким описанием бесплатного FTP клиента для Linux, Mac OS и Windows. Данный FTP клиент поддерживает множество прикладных протоколов передачи данных - FTP, FTP поверх SSL/TLS (FTPS), SSH File Transfer Protocol (SFTP), HTTP, SOCKS и FTP-Proxy. Другими словами, Filezilla FTP Client - это универсальное программное обеспечение для приема и передачи файлов по всем современным прикладным протоколам между узлами на различных платформах.

    Здравствуйте, друзья.

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

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

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

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

    После перехода на сайт жмем на следующую кнопку.


    Попадаем еще на следующую страницу, где также жмем на кнопку.


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


    После скачивания сразу запускаем установщик и устанавливаем клиент.

    Клиент бесплатный, поэтому установка производится в обычном порядке. Процесс установки показывать не буду. Там все предельно просто.

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

    Основы FileZilla

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

    Программа состоит из 2х основных рабочих областей:

    1. Область, в которой отображаются файлы компьютера (локальный сайт);
    2. Область, в которой отображается содержимое сервера (удаленный сайт).

    Как понимаете, в левой области (1) можно перемещаться по компьютеру, как в стандартном проводнике операционной системы. Во второй же области все аналогично, только находимся мы на сервере и видим все расположенные в нем папки и файлы.

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

    Первый способ - через правую кнопку мышки, выбрав в контекстном меню пункт "Закачать на сервер".


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


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

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

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

    Если же вы хотите скачать файлы с хостинга на компьютер, то делается все аналогично. Можете использовать любой способ. Только, при использовании контекстного меню, необходимо выбрать пункт "Скачать".


    Процесс управление загрузкой файлов мы разобрали.

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


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

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

    Соединяемся с ftp сервером хостинга


    Имеется 2 варианта соединения с ftp серверами через FileZilla:

    1. Быстрое соединение;
    2. Подключение через добавленное соединение в менеджер сайтов.

    Рассмотрим сначала быстрое соединение.

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

    Для такого соединения в ftp клиенте предусмотрена специальная панель, находящаяся под главным меню программы.

    При соединении таким способом необходимо заполнить поля:

    • Хост - это сам адрес сервера;
    • Имя пользователя - логин к ftp аккаунту сервера;
    • Пароль - пароль к ftp аккаунту сервера;
    • Порт - вводим номер порта (21) или же оставляем поле пустым.

    Хост, имя пользователя и пароль узнавайте у своего хостинг провайдера. Как правило, эти данные даются сразу после регистрации хостинг аккаунта. Например, на хостинге TimeWeb и Макхост данные приходят сразу в регистрационном письме.

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

    После ввода данных, жмете на кнопку "Быстрое соединение", что собственно после этого и происходит. Если все правильно ввели, то должны в правом окне программы увидеть содержимое своего хостинг аккаунта., а также надпись об успешном соединении в логах программы.


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

    Еще один момент. После совершения быстрых соединений, они будут сохраняться в списке, который доступен при нажатии на стрелку возле кнопки "Быстрое соединение".


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

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

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

    Преимущества данного способа очевидны.

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

    Для создания такого соединения, под меню "Файл" имеется пиктограмма "Менеджер сайтов".

    Нажав на нее, открывается окно, в котором происходит добавление соединения (сайта).


    У меня уже имеются 3 соединения, которыми я постоянно пользуюсь. Сейчас без труда вы сможете добавить свое соединение. Опишу данный процесс на уже имеющемся соединении. Приступим.

    Жмем на кнопку "Новый сайт" и вводим название соединения (любое удобное для вас название).


    Затем выбираем тип входа "Нормальный" и вводим все данные (хост, пользователь и пароль) для доступа к ftp серверу. Поле "Порт" я оставляю пустым.



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


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

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

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

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

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

    Синхронизированный просмотр

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

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

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

    Допустим, что мне необходимо перейти в обоих областях в папку wp-admin. Мне для этого нужно перейти в эту папку в левой области, а затем в правой. То есть, нужно выполнять 2 одинаковых действия.

    Синхронизированный просмотр же переходит автоматически в ту же самую папку во второй области, при переходе в первой (или наоборот). То есть, я перехожу в правой области в папку wp-admin, а синхронизированный просмотр автоматически подхватил мои действия и программа сама перешла в эту же папку в левой области.

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

    Но есть одно но . Данная функция работает только при идентичном названии всех директорий, между которыми происходит перемещение в обоих областях. Если бы я захотел перейти в папку "sales" на своем компьютере, а на хостинге ее нет, то синхронизированный просмотр не сработает.

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

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

    Как происходит синхронизированный просмотр, более наглядно я показал в видео ниже. В нем также показал, как пользоваться ftp клиентом FileZilla.

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

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

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

    Спасибо за внимание. Пока.

    С уважением, Константин Хмелев.