Filezilla server настройка ftp сервера через роутер

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

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

Содержание

  • Общие сведения
    • Исторические сведения
    • Технические сведения
      • NAT-роутеры
    • Файрволы
    • Умные роутеры, файрволы, и саботаж данных
  • Настройка клиента FileZilla
    • Пассивный режим
    • Активный режим
  • Настройка сервера FileZilla
    • Активный режим
    • Пассивный режим
  • Решение проблем
    • Таймауты при передаче больших файлов
  • Настройка сервера FileZilla под Windows Firewall

Общие сведения

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

Очевидно, что для подключения к любому серверу ваш файрвол должен разрешить такие действия для 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. Вы можете перебросить диапазон портов, или же каждый порт по отдельности, это зависит от модели вашего роутера.

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

Скриншот диалога настроек FileZilla 3, показывающий вкладку настройки активного   режима

Настройка и тестирование сервера 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 портов.

Скриншот диалога настроек FileZilla Server, показывающий вкладку настройки пассивного режима

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

К сожалению, множество персональных файрволов и пользовательских роутеров имеют свои недоработки или, в некоторых случаях, даже способны саботировать работу 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 со включенными сервисами «Маршрутизация и удаленный доступ» или «Шлюз уровня приложения». http://support.microsoft.com/kb/931130

На чтение 8 мин Просмотров 25.1к.

 Виталий Леонидович Черкасов

Виталий Леонидович Черкасов

Системный администратор, инженер компьютерных систем.

Задать вопрос

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

Содержание

  1. Определение
  2. Применение и принцип работы
  3. Создание и настройка
  4. FTP в windows
  5. Filezilla server
  6. Создание правил проброса портов на роутере
  7. Как подключиться
  8. Через проводник Windows
  9. Через любой браузер
  10. С помощью Filezilla

Определение

Сначала давайте разберёмся, что такое FTP сервер. FTP (file transfer protocol протокол передачи файлов) – это протокол, обеспечивающий удалённую передачу данных по сети интернет. Он построен на клиенте серверной архитектуры и использует разные каналы для обмена командами и данными. При этом для передачи используется одно соединение, которое стандартно устанавливается через 21 TCP-порт.

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

Применение и принцип работы

При подключении к FTP клиент и сервер создают сессию, которая остаётся активной на протяжении всего сеанса обмена файлами.

Существуют два режима работы данного протокола:

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

схема

Обмен данными может осуществляться в одном из режимов:

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

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

Создание и настройка

Установить FTP-сервер на ПК может любой пользователь, даже чайник. Это можно сделать либо средствами операционной системы, либо с помощью сторонних программ, таких как Filezilla server.

FTP в windows

В Windows 7 есть все для того, чтобы установить и настроить FTP сервер, ничего дополнительно устанавливать не придётся. На более новых версиях этой системы все делается аналогично.

Чтобы сделать ФТП сервер на компьютере:

  • Кликните по кнопке «Пуск», откройте «Панель управления» и выберите строку «Программы и компоненты».пу
  • Выберите ссылку «Включение или отключение компонентов Windows», откройте пункт «Службы IIS», поставьте галочку в строке «FTP-сервер» и всех его подпунктах.компоненты
  • Зайдите в меню «Администрирование» на панели управления.админ-е
  • Откройте «Диспетчер служб IIS».диспетчер
  • Кликните по строке «Сайты», расположенному в правой части окна, и нажмите «Добавить FTP-сервер».добавление
  • Задайте имя соединения и путь к общей папке, через которую вы будете обмениваться данными.настройка
  • Введите IP-адрес, номер порта и параметры шифрования (можно настроить, как на рисунке).настройка2
  • Настройте доступ (анонимный – без пароля, обычный – нужно будет ввести имя и пароль).доступ
  • Зайдите в «Панель управления», откройте «Система и безопасность» и выберите «Брандмауэр Windows».брандмауэр
  • В левом меню выберите пункт «Дополнительные параметры».доп параметры
  • Кликните по строке «Правила для входящих подключений», которая находится слева, кликните правой кнопкой по строке «FTP-сервер» (находится в центральной части окна) и выберите «Включить правило». Те же действия повторите со строкой «Трафик FTP сервера в пассивном режиме».правила
  • В левой части окна выберите «Правила для исходящего подключения» и включите «Трафик FTP-сервера».трафик ftp
  • Чтобы настроить права пользователей, зайдите в раздел «Администрирование» панели управления и кликните по строке «Управление компьютером».права пользователей
  • Щёлкните правой кнопкой по свободному месту и выберите сроку «Создать группу».создание группы
  • Введите имя группы.имя
  • В папке «Пользователи» создайте нового пользователя.16
  • Заполните поля, касающиеся имени пользователя и пароля.логин и пароль
  • Щёлкните правой кнопкой по только что созданному пользователю, выберите пункт «Свойства», перейдите на закладку «Членство в группах» и, нажав кнопку «Добавить», задайте пользователю новую группу.добавление группы
  • Чтобы разрешить пользователю подключаться к выделенной для обмена папкой, щёлкните по ней правой кнопкой и выберите строку «Свойства», перейдите на вкладку «Безопасность» и нажмите кнопку «Изменить».изменение
  • Щёлкните по кнопке «Добавить» и добавьте созданную недавно группу. Отметьте галочками все пункты в колонке «Разрешить».разрешения
  • Зайдите ещё раз в меню службы IIS, щёлкните по вашему сайту и кликните по иконке «Правила авторизации».авторизация
  • Кликните по пустому месту правой кнопкой и выберите «Добавить разрешающее правило».разрешающее правило
  • Отметьте пункт «Указанные роли или группы пользователей» и введите название созданной группы.название группы

На этом создание FTP сервера закончено. Теперь вы знаете, как поднять домашний файлообменник.

Filezilla server

Самое популярное приложение для создания FTP — это FileZilla Server. Его можно скачать с официального сайта.

Чтобы создать свой FTP сервер FileZilla:

На этом создание FTP-сервера закончено.

Создание правил проброса портов на роутере

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

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

Чтобы настроить эти правила на роутере, надо через веб интерфейс браузера войти в настройки и открыть раздел перенаправления портов. Для каждой модели роутера существуют свои нюансы настроек. В маршрутизаторе Dlink DIR-300 для этого нужно открыть вкладку «Advanced» и выбрать «Port Forwarding».

проброс

Это все что нужно, чтобы установить filezilla server и настроить ftp сервер через роутер.

Как подключиться

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

Через проводник Windows

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

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

Через любой браузер

Ещё проще зайти на FTP сервер с помощью браузера. Для этого в адресную строку вводим адрес хоста и нажимаем кнопку «Enter».

С помощью Filezilla

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

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

  • Хост. IP сервера FTP, к которому вы хотите подключиться.
  • Имя пользователя. Это логин, который был предоставлен вам при регистрации. Если доступ публичный, то это поле можно оставить пустым.
  • Пароль. При использовании публичного доступа ничего вводить не требуется.
  • Порт. Оставьте это поле пустым или введите порт по умолчанию — 21.

подключение

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

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

Для этого заходим в меню «Файл» выбираем «Менеджер сайтов» и нажимаем «Новый сайт». После этого вводим имя или IP-адрес хоста и порт, выбираем тип входа: анонимный, нормальный или другой. Если вы выбрали анонимный, то больше ничего вводить не нужно, а если нормальный, то потребуется ввести логин и пароль.

соединение

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

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

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

Установка FileZilla Server

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

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

ftp-server-behind-router-011

Нажмите Далее:

ftp-server-behind-router-012

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

ftp-server-behind-router-013

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

ftp-server-behind-router-014

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

ftp-server-behind-router-015

Нажмите I agree:

ftp-server-behind-router-016

Next:

ftp-server-behind-router-017

Next:

ftp-server-behind-router-018

Install:

ftp-server-behind-router-019

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

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

ftp-server-behind-router-022

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

ftp-server-behind-router-023

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

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

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

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

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

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

ftp-server-behind-router-024

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

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

ftp-server-behind-router-031

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

ftp-server-behind-router-032

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

ftp-server-behind-router-033

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

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

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

ftp-server-behind-router-034

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

ftp-server-behind-router-035

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

ftp-server-behind-router-036

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

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

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

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

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

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

ftp-server-behind-router-037

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

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

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

Нажимаем ссылку Дополнительные параметры:

ftp-server-behind-router-042

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

ftp-server-behind-router-043

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

ftp-server-behind-router-044

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

ftp-server-behind-router-045

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

ftp-server-behind-router-046

Нажмите Далее ещё раз:

ftp-server-behind-router-047

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

ftp-server-behind-router-048

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

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

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

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

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

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

ftp-server-behind-router-041

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

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

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

ftp-server-behind-router-052

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

Setting up network components for FTP is not trivial for use outside your LAN (Local Area Network). Since so many firewalls and routers exist, it is impractical to give detailed step-by-step instructions suitable for every user. It is important to understand the basics of the FTP protocol in order to configure FileZilla and the routers and/or firewalls involved.
This documentation describes the history of the FTP and how some aspects of the protocol work. Reading it carefully will save you a lot of trouble setting up FTP.

Background

This section provides an overview of the historical and technical background of the FTP protocol. For detailed in-depth information see specifications.

Historical Background

In the fast living world of the internet, the File Transfer Protocol is not just old, it’s ancient. Early drafts of the protocol go back as far as 1971, and the current specifications are from 1985. The protocol might even be older than you!

Back then, the Internet was mainly used by universities and research centers. The community was small, many users knew each other and all were collaborating together. The internet was a friendly, trusting place. Security was not much of a concern.

A lot has changed since then. The Internet is now ubiquitous, with millions of users communicating with each other in many different ways.
It is also a more hostile place. The availability and openness has attracted malicious users who exploit design limitations, incomplete implementations, bugs, and the inexperience of other users.

Several attempts have been made to address these problems:

  • NAT (Network Address Translation) routers. Many hosts and routers on the internet use the IPv4 protocol. The number of hosts connected to the internet has reached IPV4’s design limit for the number of addresses (IPv6 is designed to relieve this). NAT routers allow multiple systems within a LAN to connect to the outside world with one external IP address.
  • Personal firewalls try to protect personal computers from attacks by malicious users.

Unfortunately, both NAT and personal firewalls conflict with FTP more often than not. To make things worse, some are themselves flawed, causing additional problems regarding FTP.

Technical background

What distinguishes FTP from most other protocols is the use of secondary connections for file transfers. When you connect to an FTP server, you are actually making two connections. First, the so-called control connection is established, over which FTP commands and their replies are transferred. Then, in order to transfer a file or a directory listing, the client sends a particular command over the control connection to establish the data connection.

The data connection can be established two different ways, using active mode or passive mode.

In passive mode, which is recommended (see below), the client sends the PASV command to the server, and the server responds with an address. The client then issues a command to transfer a file or to get a directory listing, and establishes a secondary connection to the address returned by the server.

In active mode, the client opens a socket on the local machine and tells its address to the server using the PORT command. Once the client issues a command to transfer a file or listing, the server will connect to the address provided by the client.

In both cases, the actual file or listing is then transferred over the data connection.

Generally, establishing outgoing connections requires less configuration on the routers/firewalls involved than establishing incoming connections. In passive mode, the connection is outgoing on the client side and incoming on the server side and in active mode this is reversed.
Note that the only differences are in establishing a connection. Once established, the connection can be used for uploads or downloads.

A common network setup might look like this:

FTP1.png

In passive mode, the router and firewall on the server side need to be configured to accept and forward incoming connections. On the client side, however, only outgoing connections need to be allowed (which will already be the case most of the time).

Analogously, in active mode, the router and firewall on the client side need to be configured to accept and forward incoming connections. Only outgoing connections have to be allowed on the server side.

Since in most cases one server provides a service for many users, it is much easier to configure the router and firewall on the server side once for passive mode than to configure the client’s router/firewall for each individual client in active mode. Therefore, passive mode is recommended in most cases.

NAT routers

Most broadband users will have a NAT (Network Address Translation) router between their computer and the internet. This may be a standalone router device (perhaps a wireless router), or be built into a DSL or cable modem. In a NAT environment, all systems behind the NAT router form a Local Area Network (LAN), and each system in the LAN has a local IP address (recognizable as four small numbers separated by dots. See Private addresses). The NAT router itself has a local IP address as well. In addition, the NAT router also has an external IP address by which it is known to the Internet.

An example system might look like this:

FTP2.png

The internal IP addresses are only valid inside the LAN, since they would make little sense to a remote system. Think about a server behind a NAT router. Imagine what might happen if a client requests passive mode, but the server doesn’t know the external IP address of the NAT router. If the server sends its internal address to the client, two things could happen:

  • If the client is not behind a NAT, the client would abort since the address is invalid.
  • If the client is behind a NAT, the address given by the server might be the same as a system in the client’s own LAN.

Obviously, in both cases passive mode would be impossible.

So if a server is behind a NAT router, it needs to know the external IP address of the router in passive mode. In this case, the server sends the router’s external address to the client. The client then establishes a connection to the NAT router, which in turn routes the connection to the server.

Firewalls

Personal firewalls are installed on many systems to protect users from security vulnerabilities in the operating system or applications running on it. Over the internet, malware such as worms try to exploit these flaws to infect your system. Firewalls can help to prevent such an infection. However, firewalls and other security applications can sometimes interfere with non-malicious file transfers.

Especially if using FTP, firewall users might occasionally see messages like this from their firewall:

Trojan Netbus blocked on port 12345 used by FileZilla.exe

In many cases, this is a false alarm. Any program can choose any port it wants for communication over the internet. FileZilla, then, might choose a port that is coincidentally also the default port of a trojan or some other malware being tracked by your firewall. FileZilla is clean of malware as long as it is downloaded from the official website.

Malicious routers, firewalls and data sabotage

Some routers and firewalls pretend to be smart. They analyze connections and, if they think they detect FTP, they silently change the data exchanged between client and server. If the user has not explicitly enabled this feature, this behavior is essentially data sabotage and can cause various problems.

For an example, imagine a client behind a NAT router trying to connect to the server. Let’s further assume that this client does not know it is behind a NAT and wants to use active mode. So it sends the PORT command with the user’s local, un-routable IP address to the server:

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

This command tells the server to connect to the address 10.0.0.1 on port 12*256+34 = 3106

The NAT router sees this and silently changes the command to include the external IP address. At the same time, the NAT router will also create a temporary port forwarding for the FTP session, possibly on a different port even:

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

The above command tells the server to connect to the address 123.123.123.123 on port 24*256+55 = 6199

With this behavior, a NAT router allows an improperly configured client to use active mode.

So why is this behavior bad? Essentially, it can cause a number of problems if it is enabled by default, without explicit user consent. The FTP connections in their most basic form appear to work, but as soon as there’s some deviation from the basic case, everything will fail, leaving the user stumped:

  • The NAT router blindly assumes some connection uses FTP based on criteria like target ports or the initial server response:
    • The used protocol is detected as FTP, yet there is no guarantee that this is true (a false positive). Though unlikely, it is conceivable that a future revision of the FTP protocol might change the syntax of the PORT command. A NAT router modifying the PORT command would then silently change things it does not support and thus break the connection.
    • The router’s protocol detection can fail to recognize an FTP connection (a false negative). Say the router only looks at the target port, and if it is 21, it detects it as FTP. As such, active mode connections with an improperly configured client to servers running on port 21 will work, but connections to other servers on non-standard ports will fail.
  • Obviously, a NAT router can no longer tamper with the connection as soon as an encrypted FTP session is used, again leaving the user clueless why it works for normal FTP but not for encrypted FTP.
  • Say a client behind a NAT router sends «PORT 10,0,0,1,12,34». How does the NAT router know the client is improperly configured? It is also possible that the client is properly configured, yet merely wants to initiate an FXP (server-to-server) transfer between the server it is connected to and another machine in the server’s own local network.

Therefore, having protocol specific features enabled in a NAT router by default can create significant problems. The solution to all this, then, is to know your router’s settings, and to know the configuration abilities of a router before you set it up. A good NAT router should always be fully protocol-agnostic. The exception is if you as the user have explicitly enabled this feature, knowing all its consequences.

While this section only discussed the combination of a NAT router on the client side with active mode, the same applies to a server behind a NAT router and the reply to the PASV command.

Setting up FileZilla Client

If you’re running FileZilla 3, it’s recommended you run the network configuration wizard. It will guide you through the necessary steps and can test your configuration after set-up.

Obviously, if you want to connect to any server, you need to tell your firewall that FileZilla should be allowed to open connections to other servers. Most normal FTP servers use port 21, SFTP servers use port 22 and FTP over TLS (implicit mode) use port 990 by default. These ports are not mandatory, however, so it’s best to allow outgoing connections to arbitrary remote ports.

Since many servers on the internet are misconfigured and don’t support both transfer modes, it’s recommended that you configure both transfer modes on your end.

Passive mode

In passive mode, the client has no control over what port the server chooses for the data connection. Therefore, in order to use passive mode, you’ll have to allow outgoing connections to all ports in your firewall.

Active mode

In active mode, the client opens a socket and waits for the server to establish the transfer connection.

By default, FileZilla Client asks the operating system for the machine’s IP address and for the number of a free port. This configuration can only work if you are connected to the internet directly without any NAT router, and if you have set your firewall to allow incoming connections on all ports greater than 1024.

If you have a NAT router, you need to tell FileZilla your external IP address in order for active mode connections to work with servers outside your local network:

  • If you have a fixed external IP address, you can enter it in FileZilla’s configuration dialog.
  • If you have a dynamic IP address, you can authorize FileZilla to obtain your external IP address from a special website. This will occur automatically each time FileZilla is started. No information will be submitted to the website (regardless of FileZilla version).

If in doubt, use the second option.

If you do not want to allow incoming connections on all ports, or if you have a NAT router, you need to tell FileZilla to use a specific range of ports for active mode connections. You will have to open these ports in your firewall. If you have a NAT router, you need to forward these ports to the local machine FileZilla is installed on. Depending on your router model, you can either forward a range of ports or you need to forward all ports individually.

Valid ports can be from 1 to 65535; however, ports less than 1024 are reserved for other protocols. It is best to choose ports greater than or equal to 50000 for active mode FTP. Due to the nature of TCP (the underlying transport protocol), a port cannot be reused immediately after each connection. Therefore, the range of ports should not be too small to prevent the failure of transfers of multiple small files. A range of 50 ports should be sufficient in most cases.

Screenshot of settings dialog of FileZilla 3 showing configuration page for active mode.

Setting up and testing FileZilla Server

Warning: The content of this section is outdated and needs to be adapted to apply to FileZilla Server version 1.x

Setting up the server is very similar to setting up the client, with the main difference being that the roles of active and passive mode are reversed.

A common mistake, especially by users with NAT routers, is in testing the server. If you are within your local network, you can only test using the local IP address of the server. Using the external address from the inside will probably fail, and one of the following may happen:

  • It actually works (surprisingly — and it probably means something else is wrong …)
  • The router blocks access to its own external address from the inside, due to identifying it as a possible attack
  • The router forwards the connection to your ISP, which then blocks it as a possible attack

Even if the test works, there is no guarantee that an external user can really connect to your server and transfer files. The only reliable way to test your server is to try connecting from an external system, outside of your LAN.

Active mode

Make sure FileZilla Server is allowed to establish outgoing connections to arbitrary ports, since the client controls which port to use.

On the local end of the connection, FileZilla Server tries to use a port one less than that of the control connection (e.g. port 20 if server is listening on port 21). However, this is not always possible — so don’t rely on it.

Passive mode

The server configuration is very similar to client configuration for active mode. In passive mode, the server opens a socket and waits for the client to connect to it.

By default, FileZilla Server asks the operating system for the machine’s IP address, and for a free port number. This configuration can only work if you are connected to the internet directly without any NAT router and if you have set your firewall to allow incoming connections on all ports greater than 1024.

If you have a NAT router, you need to tell FileZilla Server your external IP address or passive mode connections will not work with clients outside your local network:

  • If you have a fixed external IP address, you can enter it in the configuration dialog of FileZilla Server.
  • If you have a dynamic IP address, you can let FileZilla Server obtain your external IP address from a special website automatically. Except your version of FileZilla Server, no information will be submitted to that website.

If in doubt, use the second option.

If you do not want to allow incoming connections on all ports, or if you have a NAT router, you need to tell FileZilla Server to use a specific range of ports for passive mode connections. You will have to open these ports in your firewall. If you have a NAT router, you need to forward these ports to the local machine FileZilla Server is installed on. Depending on your router model, you can either forward a range of ports or you need to forward all ports individually.

Valid ports can be from 1 to 65535, however ports less than 1024 are reserved for other protocols. It is best to choose ports >= 50000 for passive mode FTP. Due to the nature of TCP (the underlying transport protocol), a port cannot be reused immediately after each connection. Hence the range of ports should not be too small or transfers of multiple small files can fail. A range of 50 ports should be sufficient in most cases.

Screenshot of settings dialog of FileZilla Server showing configuration page for passive mode.

Troubleshooting

The following are a few troubleshooting suggestions:

Unfortunately, many personal firewalls and consumer routers are flawed or in some cases, even actively sabotage FTP (e.g. SMC Barricade V1.2). First of all, as with all software, you should keep everything updated. This includes the firewall software as well as the firmware version of your router.

If that does not help, you might want to try to uninstall your firewall to see what happens. Simply disabling your firewall might not work, as some firewalls cannot be fully disabled. In particular, most firewalls install virtual device drivers which cannot be disabled other than by uninstalling them. Also check for hidden firewalls. Programs such as virus scanners often have firewall functionality as well.

If possible, try to connect directly to the internet without a router by plugging your computer directly into your modem. If you have a combination modem/router device, try putting it into bridge mode to disable the routing part.

If you are trying to setup a server and it works fine within your LAN but is not reachable from the outside, try changing the listening port. Some ISPs don’t like their customers to host servers and they may block ports with numbers under 1024.

Another issue may occur if you are hosting an FTP server on default port 21. There might be a firewall at the ISP side of your connection which can do odd things like changing the port for PASV commands. Try using another non-default port for your FTP server.

If you encounter «cannot open data connection» on a random basis (i.e., the ftp client can connect to the ftp server without problem for many connections until it encounters this problem), one possible reason may be that your client PC anti-virus software is configured to block outgoing connections on certain ranges of ports. When your ftp connections are running in pasv mode, the client-side outgoing ports are selected randomly and some of those randomly selected ports may be blocked by the anti-virus software. To identify this problem, read your anti-virus log on the client. In general, any software that can block certain ranges of outgoing ports (such as PC firewalls) can cause similar FTP grief.

Timeouts on large files

If you can transfer small files without any issues, but transfers of larger files end with a timeout, a broken router and/or firewall exists between the client and the server and is causing a problem.

As mentioned above, FTP uses two TCP connections: a control connection to submit commands and receive replies, and a data connection for actual file transfers. It is the nature of FTP that during a transfer the control connection stays completely idle.

The TCP specifications do not set a limit on the amount of time a connection can stay idle. Unless explicitly closed, a connection is assumed to remain alive indefinitely. However, many routers and firewalls automatically close idle connections after a certain period of time. Worse, they often don’t notify the user, but just silently drop the connection. For FTP, this means that during a long transfer the control connection can get dropped because it is detected as idle, but neither client nor server are notified. So when all data has been transferred, the server assumes the control connection is alive and it sends the transfer confirmation reply. Likewise, the client thinks the control connection is alive and it waits for the reply from the server. But since the control connection got dropped without notification, the reply never arrives and eventually the connection will timeout.

In an attempt to solve this problem, the TCP specifications include a way to send keep-alive packets on otherwise idle TCP connections, to tell all involved parties that the connection is still alive and needed. However, the TCP specifications also make it very clear that these keep-alive packets should not be sent more often than once every two hours. Therefore, with added tolerance for network latency, connections can stay idle for up to 2 hours and 4 minutes.

However, many routers and firewalls drop connections that have been idle for less than 2 hours and 4 minutes. This violates the TCP specifications (RFC 5382 makes this especially clear). In other words, all routers and firewalls that are dropping idle connections too early cannot be used for long FTP transfers. Unfortunately manufacturers of consumer-grade router and firewall vendors do not care about specifications … all they care about is getting your money (and only deliver barely working lowest quality junk).

To solve this problem, you need to uninstall affected firewalls and replace faulty routers with better-quality ones.

Setting up FileZilla Server with Windows Firewall

If you are having problems with setting up FileZilla Server to run behind Windows Firewall (specifically, it fails on «List» and the client receives a «Failed to receive directory listing» error), you must add the FileZilla Server application to Windows Firewall’s Exceptions list. To do this, follow these steps:

  1. Open Windows Firewall under Control Panel.
  2. If using Vista, click «Change Settings»
  3. Select the «Exceptions» tab.
  4. Click «Add program…»
  5. Do NOT select «FileZilla Server Interface» from the list, instead click on «Browse…»
  6. Locate the directory you installed FileZilla Server to (normally «C:\Program Files\FileZilla Server\»)
  7. Double click or select «FileZilla server.exe» and press open (Once again, NOT «FileZilla Server Interface.exe»)
  8. Select «FileZilla server.exe» from the list and click «Ok»
  9. Verify that «FileZilla server.exe» is added to the exceptions list and that it has a check mark in the box next to it
  10. Press «Ok» to close the window
  11. Open a command prompt with administrative rights and execute the following command: netsh advfirewall set global statefulftp disable

Passive mode should now work. If you are still having problems connecting (from another computer or outside the network), check your router settings or try to add the port number in the Windows Firewall settings located in the Exceptions tab.

See the Microsoft kb article 931130 about running FileZilla with the «Routing and Remote Access» or the «Application Layer Gateway» service enabled.
http://support.microsoft.com/kb/931130

Setting up FileZilla Server with Windows 8 Firewall

These are the instructions if your operating system is Windows 8 — the interface is slightly different from that described above in Setting up FileZilla Server with Windows Firewall.

Under Windows 8 you must allow the FileZilla Server application through Windows Firewall. To do this, follow these steps:

  1. Move mouse to upper right corner and click the magnifying glass search icon, and type «firewall» (without the double quotes) in the Search box and then click the «Settings» text. Or, hold down the Windows logo key on the keyboard and press the I key, select the text «Control Panel» and press Enter, in the Search Control Panel area at top right type «firewall». In either case, now click the «Allow an app through Windows Firewall» that should appear.
  1. Click «Change Settings» and a new button should appear titled «Allow another app…»
  2. Click «Allow another app…»
  3. A window titled «Add an app» should appear; do not do anything in this step.
  4. Do NOT select «FileZilla Server Interface» from the list, instead click on «Browse…»
  5. Locate the directory you installed FileZilla Server to (normally «C:\Program Files\FileZilla Server\»)
  6. Double click or select «FileZilla server.exe» and press open (Once again, NOT «FileZilla Server Interface.exe»)
  7. Your mouse pointer should now return to the «Add an app» window; scroll down the list and select «FileZilla server.exe» and click «Add».
  8. Your mouse pointer should now return to the Windows Firewall Allowed apps window; verify that «FileZilla server.exe» is added to the allowed apps and features list and that it has a check mark in either the Private box or the Public box. Choose Private if you want the server accessible only from within your local network, and choose Public if you want the server accessible from outside your local network (this might include clients connected wirelessly to your network).
  9. Press «Ok» to close the Windows Firewall window
  10. Open a command prompt with administrative rights and execute the following command: netsh advfirewall set global statefulftp disable

If you are still having problems see the advice at the end of section Setting up FileZilla Server with Windows Firewall above or search Microsoft Knowledge base for Firewall related articles.

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

Во-первых, убедитесь, что ваш роутер поддерживает протокол NAT (Network Address Translation), который позволяет переводить внешний IP-адрес вашего роутера во внутренний IP-адрес вашего компьютера, на котором работает Filezilla Server. Если вы не уверены, можете проверить это в настройках роутера или обратиться к документации.

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

Теперь, приступим к самой настройке Filezilla Server. Вам нужно запустить программу Filezilla Server и перейти во вкладку «Настройки». Здесь вам необходимо указать статический IP-адрес вашего компьютера и порт, через который будут проходить соединения FTP. Обычно используется порт 21, но вы можете указать другой, если хотите.

Содержание

  1. Настройка Filezilla Server через роутер
  2. Подготовка и установка Filezilla Server
  3. Подключение роутера для доступа к Filezilla Server
  4. Настройка портов и протоколов в роутере для Filezilla Server
  5. Тестирование подключения к Filezilla Server через роутер

Настройка Filezilla Server через роутер

Шаг 1: Получите статический IP-адрес для вашего компьютера. Это можно сделать, связавшись с вашим интернет-провайдером. Также вам понадобятся порты, которые будут использовать Filezilla Server. Обычно это порты 21 (для установки соединения) и 20 (для передачи данных).

Шаг 2: Войдите в настройки вашего роутера, используя IP-адрес роутера. Этот адрес можно найти в документации к роутеру или обратившись к вашему интернет-провайдеру.

Шаг 3: В разделе «Порты» добавьте новое правило для портов 21 и 20. Укажите внутренний IP-адрес вашего компьютера и выберите тип соединения «TCP». Сохраните настройки.

Шаг 4: Теперь перейдите в программу Filezilla Server и откройте настройки сервера. В разделе «Пассивный режим» укажите внешний IP-адрес вашего роутера и порты, которые вы использовали для настройки роутера (21 и 20). Сохраните настройки.

Шаг 5: Проверьте доступность вашего FTP-сервера из интернета, введя веб-браузере адрес ftp://your-external-ip. Если все настройки выполнены правильно, вы должны увидеть страницу авторизации Filezilla Server.

Шаг 6: Теперь вы можете использовать внешний IP-адрес вашего роутера и настроенные порты для доступа к FTP-серверу через интернет.

Настройка Filezilla Server через роутер может показаться сложной задачей, но следуя этой пошаговой инструкции, вы сможете справиться с ней без проблем. Удачи в настройке своего собственного FTP-сервера!

Подготовка и установка Filezilla Server

Шаг 1: Перейдите на официальный сайт Filezilla Server и скачайте последнюю версию программы.

Шаг 2: Запустите установщик Filezilla Server и следуйте инструкциям на экране.

Шаг 3: В процессе установки вам может быть предложено установить дополнительные компоненты, такие как Filezilla Server Interface или Filezilla Service. Вы можете выбрать нужные вам компоненты или оставить выбранные по умолчанию.

Шаг 4: После завершения установки запустите Filezilla Server.

Шаг 5: В появившемся окне выберите «Использование существующего файла настроек» и нажмите «Next».

Шаг 6: В следующем окне укажите путь к файлу настроек, который будет использоваться Filezilla Server. Вы можете выбрать путь по умолчанию или указать свой собственный путь. Нажмите «Next».

Шаг 7: Затем настройте параметры сервера, такие как порт и тип сервера (FTP, FTPS, SFTP). Убедитесь, что вы выбрали правильные настройки для вашего сервера. Нажмите «Next».

Шаг 8: Далее, укажите пользователей и их доступные директории на сервере. Вы можете добавить новых пользователей и определить их права доступа. Нажмите «Next».

Шаг 9: В окне «Активный режим» выберите «Задать IP-адрес» и введите IP-адрес вашего роутера. Нажмите «Next».

Шаг 10: В окне «Пассивный режим» выберите «Использовать настройки прокси» и введите общедоступный IP-адрес вашего роутера. Нажмите «Next».

Шаг 11: Завершите процесс установки, нажав «Install».

Шаг 12: После установки Filezilla Server будет запущен и готов к использованию.

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

Подключение роутера для доступа к Filezilla Server

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

Шаг Инструкция
Шаг 1 Войдите в настройки вашего роутера, введя его IP-адрес в адресную строку вашего веб-браузера.
Шаг 2 Найдите в настройках роутера раздел «Порты» или «Port Forwarding».
Шаг 3 Создайте новое правило (Rule), где вам необходимо указать порт, на котором работает Filezilla Server (обычно порт 21 для FTP и порт 990 для FTPS).
Шаг 4 Укажите локальный IP-адрес вашего компьютера, на котором запущен Filezilla Server, в соответствующем поле правила.
Шаг 5 Сохраните настройки роутера.
Шаг 6 Откройте Filezilla Server и убедитесь, что настройки сервера соответствуют портам и IP-адресу, указанным в настройках роутера.

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

Настройка портов и протоколов в роутере для Filezilla Server

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

Шаг 1: Вход в настройки роутера

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

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

Шаг 2: Вход в настройки портов и протоколов

После успешного входа в настройки роутера, найдите раздел, отвечающий за настройку портов и протоколов. Этот раздел может называться «Port Forwarding», «Virtual Server», «Application or Gaming» и т. д. Необходимый раздел может отличаться в каждом роутере, поэтому лучше обратиться к руководству пользователя к вашей модели роутера.

Шаг 3: Создание нового правила

В найденном разделе вы должны создать новое правило для Filezilla Server. Вам потребуется указать следующую информацию:

  1. Имя правила: Укажите любое удобное для вас имя правила, например, «Filezilla Server».
  2. Внешний порт: Укажите порт, который будет открыт для входящих соединений с интернета. Рекомендуется использовать стандартный FTP порт — 21.
  3. Внутренний порт: Укажите порт, на котором работает Filezilla Server. По умолчанию это тоже 21.
  4. Протокол: Выберите протокол TCP.
  5. Внутренний IP-адрес: Укажите IP-адрес компьютера, на котором работает Filezilla Server. Вы можете узнать его, открыв командную строку и введя команду «ipconfig» или «ifconfig».

После того, как вы ввели все необходимые данные, сохраните правило и примените изменения.

Шаг 4: Проверка настроек

Чтобы убедиться, что настройки портов и протоколов были установлены верно, вы можете использовать онлайн-инструменты для сканирования открытых портов. Просто введите IP-адрес вашего роутера и порт, указанный в настройках, и нажмите «Сканировать». Если порт открыт, значит настройка прошла успешно.

Теперь ваш Filezilla Server должен быть доступен из интернета через роутер. Убедитесь, что вы также настроили соответствующие правила в брандмауэре или антивирусной программе, чтобы разрешить доступ к Filezilla Server.

Тестирование подключения к Filezilla Server через роутер

После настройки Filezilla Server через роутер необходимо протестировать подключение, чтобы убедиться, что всё работает корректно. Вот пошаговая инструкция:

Шаг Описание
1 Откройте Filezilla Client на компьютере, с которого вы хотите подключиться к Filezilla Server.
2 Введите IP-адрес вашего роутера в поле «Host» и порт в поле «Port».
3 Укажите ваше имя пользователя в поле «Username» и пароль в поле «Password».
4 Нажмите кнопку «Quickconnect» для установления подключения.
5 Если подключение успешно, вы увидите свою локальную файловую систему в окне Filezilla Client. Это означает, что вы успешно подключились к Filezilla Server через роутер.

Если подключение не установилось, убедитесь, что правила перенаправления портов на роутере настроены правильно и что Filezilla Server запущен и работает без ошибок.

  • Eeprom что это в роутере
  • Enable igmp snooping что это в роутере
  • Fiber connection в роутере что это
  • Dynamic dns что это в роутере
  • Easymesh что это такое в роутере