Режимы работы ftp серверов. Активный режим

12.05.2019

24.06.2018

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

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

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

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

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

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

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

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

    Эти примеры сеансов должны помочь сделать вещи немного яснее. Традиционно это порт 21 для командного порта и порт 20 для порта данных. Однако путаница начинается, когда мы обнаруживаем, что в зависимости от режима порт данных не всегда находится на порту.

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

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

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

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

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

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

    Конфигурация сети для пассивного режима

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

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

    Конфигурация сети для активного режима

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

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

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

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

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

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

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

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

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

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

    Два режима передачи данных в FTP

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

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

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

    Проблемы FTP в современных сетях

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

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

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

    Активный и пассивный режим FTP

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

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

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

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

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

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

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

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

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

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

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

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

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


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

    Как только соединение будет установлено, клиент будет аутентифицироваться на сервере, а затем это соединение будет одним клиентом, а сервер будет использовать «чат» друг с другом. Для передачи файлов это соединение не будет использоваться, а для каждого файла будет установлено новое соединение для переноса данных файла. Существует два способа открытия этих новых каналов передачи данных: активный и пассивный.

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

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

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

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

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

    Несколько портов, несколько режимов

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

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

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

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

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

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

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

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

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

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

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

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


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

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

    И на самом деле, всё просто, когда есть знания происходящего… для людей с желанием разобраться - читайте ниже раздел «теория», для остальных «гайд» в картинках по настройке, на примере Zyxel KeeneticII Giga (прошивка V2) и G6FTP Server на одном из компьютеров в домашней сети.

    При работе по протоколу FTP между клиентом и сервером устанавливается два соединения - управляющее (по нему идут команды) и соединение передачи данных (по нему передаются файлы). Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024-65535) к порту номер 21 на FTP-сервере и говорит «Привет! Я хочу подключится к тебе. Вот мое имя и мой пароль». Дальнейшие действия зависят от того, какой режим FTP (Активный или Пассивный) выбран.
    Активный режим . Когда клиент говорит «Привет!» он так же сообщает серверу номер порта (из динамического диапазона 1024-65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения для передачи данных. FTP-сервер подключается к заданному номеру порта клиента, используя со своей стороны номер TCP-порта 20 для передачи данных. Для клиента такое соединение является входящим. Так что зачастую работа в активном режиме клиентов, находящихся за файрволлом или NAT затруднена или требует дополнительных настроек.
    Пассивный режим . В Пассивном режиме, после того как клиент сказал «Привет!», сервер сообщает клиенту свой IP адрес и номер TCP-порта (из динамического диапазона 1024-65535), к которому можно подключиться для установки соединения передачи данных. В дальнейшем будем называть их пассивными портами. При этом, как легко заметить, порты в таком соединении, как со стороны клиента, так и со стороны сервера оказываются произвольными. В пассивном режиме клиент легко может работать с сервером сквозь свой файрволл, но зачастую для поддержки пассивного режима сервером требуется соответствующая настройка файрволла уже на стороне сервера.

    Главное отличие между Активным режимом FTP и Пассивным режимом FTP - это сторона, которая открывает соединение для передачи данных. В Активном режиме клиент должен суметь принять это соединение от FTP сервера. В Пассивном режиме клиент всегда инициирует это соединение сам, и принять его должен уже сервер.

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

    Теперь практика в картинках.

    Для начала делаем привязку компьютера к IP , в моём случае это 10.0.0.100


    затем настраиваем стандартные порты фтп

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


      активный режим - Состояние оборудования, которое включено и подсоединено к радиосети для осуществления обмена пользовательской информацией (голос или данные), также определяется как режим трафика (МСЭ Т K.49). }

    Похожие статьи