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

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

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

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

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

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

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

Способов передачи больших файлов через интернет много, но почти все они с ограничениями – либо по размеру файла, либо по объему свободного пространства, либо по скорости скачки.

Но существует один отличный вариант – создание FTP сервера. Главные его преимущества:

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

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

Настройка осуществляется очень просто. Для этого Вам понадобится программа для FTP сервера (или точнее – утилита), которая называется Golden FTP Server (Free версии будет предостаточно).

Скачали программу? Установили? Теперь приступаем к созданию. Для этого выполняете следующую инструкцию:

Вот и все. Теперь Вы знаете, как сделать FTP сервер. И можете свободно обмениваться файлами с любыми пользователями.

Чтобы проверить, что создание ФТП сервера прошло успешно, зайдите на него через Internet Explorer.

Кстати, еще один момент. Качать расшаренные документы могут одновременно несколько пользователей, которым Вы дали ссылку на скачивание. Разумеется, скорость скачки в таком случае будет делиться. Но если у Вас 100 Мбит/с, то это не является проблемой. Просто, чтобы Вы были в курсе.

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

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

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

  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-ый порт.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png