Как включить активный режим ftp. Активный и пассивный режим FTP. Пример активного соединения

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

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

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

Флаги TCP(управляющие биты)

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

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

Активный режим

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

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

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

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

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

Как узнать, какой режим вы используете в настоящее время?

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

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

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

Как вы можете видеть в журнале отладки, активирован ли пассивный режим

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

Изменение режима FTP-клиента в Internet Explorer

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

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

В современных сетях (NAT, брандмауэр, балансировщик нагрузки) следующие особенности FTP не позволяют ему нормально работать:

  1. Два отдельных соединения TCP / IP: для передачи данных и для передачи команд;
  2. Соединение для передачи данных может быть установлено на случайном номере порта;
  3. Соединение для передачи данных может исходить как от сервера к клиенту, так и от клиента к серверу;
  4. Адрес назначения соединения для передачи данных (выбор режима работы) согласовывается на лету между клиентом и сервером через соединение для передачи команд;
  5. Соединение для передачи команд находится в режиме ожидания, пока происходит передача данных через соединение для передачи данных.

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

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

Режим активного и пассивного подключения

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

Проблема 2 вызвана тем, что FTP не может работать в том случае, если входящие порты жестко ограничены только определенно известными. Т.е. в обычном режиме FTP не может работать только при открытом 21 входящем порте, используемым соединением для передачи команд, ему также необходим набор открытых портов высокого значения (49152-65534) для передачи данных.

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

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

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

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

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

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

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

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

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

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

  • В активном режиме сервер подключается со своего 20-го порта на оговоренный порт клиента.
  • В пассивном режиме клиент подключается со своего случайного порта на оговоренный порт сервера.

Таким образом, все современные FTP-клиенты обговаривают с сервером то, от кого данные передаются и кто инициирует соединение. Клиент может указать использование активного режима , послав команду «PORT», которая сообщит серверу, что нужно подключиться на определенный IP и порт клиента, и начать отправку данных. Или клиент может использовать пассивный режим , послав команду “PASV” серверу, которая сообщит серверу, что клиент ожидает IP и порт сервера для начала приема данных.

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

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

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

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

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

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

Ftp://:@:/

Пример сессий с использованием активного и пассивного режимов передачи данных

Пример активного режима, где клиент подключается анонимно и совершает одну активную передачу данных (просмотр директории).

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

Так происходит передача файлов с помощью протокола передачи файлов

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

Client: USER anonymous
Server:
Client: PASS NcFTP@
Server: 230 Logged in anonymously.
Client: PORT 192,168,1,2,7,138 Клиент хочет чтобы сервер подключился на порт 1930 и IP адрес 192.168.1.2.
Server: 200 PORT command successful.
Client: LIST
Server: 150 Opening ASCII mode data connection for /bin/ls. Сервер подключается с порта 21 на порт 1930 и ip адрес 192.168.1.2.
Server: 226 Listing completed. Данные переданы успешно.
Client: QUIT
Server: 221 Goodbye.

Пример пассивного режима

Client: USER anonymous
Server: 331 Guest login ok, send your e-mail address as password.
Client: PASS NcFTP@
Server: 230 Logged in anonymously.
Client: PASV Клиент запрашивает у сервера данные для подключения.
Server: 227 Entering Passive Mode
(172,16,3,4,204,173)
Сервер отвечает клиенту, что нужно подключаться на порт 52397 и IP адрес 172.16.3.4.
Client: LIST
Server: 150 Data connection accepted from
172.16.3.4:52397; transfer starting.
Клиент подключился к серверу на порт 52397 и IP адрес 172.16.3.4.
Server: 226 Listing completed. Данные переданы успешно.
Client: QUIT
Server: 221 Goodbye.

Частные проблемы:

    PORT режим - FTP клиент за NAT или брандмауэром

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

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

    Активный режим FTP-подключений




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

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

    Решение 1. Клиент FTP должен быть настроен на использование пассивного режима.

    Решение 2. Настройка NAT за слежением соединений FTP. Когда клиент использует активный режим, NAT устройство должно переписывать внутренний адрес клиента и заменять его внешним адресом устройства. Тогда соединение, для передачи данных с FTP сервера поступив на внешний адрес NAT устройства, будет проброшено им на внутренний адрес FTP клиента за NAT.

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

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

    PASV режим - FTP сервер за брандмауэром

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

    Решение 1. Администратор может открыть группу портов на брандмауэре, через которые может происходить соединение с FTP сервером.

    Решение 2. Если есть поддержка со стороны брандмауэра, администратор может настроить так, чтобы порты автоматически открывались для установления пассивного соединения с FTP сервером. Эта настройка схоже с той, что была описана для активного клиента, находящегося за NAT. Таким образом, когда брандмауэр отслеживает ответ FTP сервера на пассивный запрос клиента, он временно открывает порт, указанный в ответе, и только для того IP, с которого исходил пассивный запрос.

    PASV режим - FTP сервер за NAT

    В режиме PASV FTP сервер отвечает клиенту своим внутренним ip адресом и портом, чем обрекает клиента на невозможность подключения.

    Решение 1. Настройка NAT за слежением соединений FTP для передачи данных. Когда сервер отправляет ответ в пассивном режиме, NAT устройство должно переписывать внутренний адрес сервера и заменять его внешним адресом устройства. Тогда соединение для передачи данных с FTP клиента, поступив на внешний адрес NAT устройства, будет проброшено им на внутренний адрес FTP сервера за NAT.

    PASV режим - FTP сервер за балансировщиком нагрузки

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

    Решение 1. Каждому FTP серверу за балансировщиком присвоить легитимный ip адрес, доступный извне. В этом случае FTP сервер будет способен самостоятельно обслуживать FTP клиентов в пассивном режиме, минуя балансировщик.

    Решение 2. Настройка балансировщика за слежением соединений FTP для передачи данных. Когда сервер отправляет ответ в пассивном режиме, балансировщик должен переписывать внутренний адрес сервера и заменять его внешним адресом балансировщика. Тогда соединение для передачи данных с FTP клиента, поступив на внешний адрес балансировщика, будет проброшено им на внутренний адрес FTP сервера за балансировщиком.

    Решение 3. Настроить FTP сервер так, чтобы его ответы в пассивном режиме содержали внешний адрес балансировщика, а не сервера и надеется, что балансировщик перенаправит соединение на ожидающий сервер.

    Неразрешимая проблема - брандмауэры на обоих концах

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

    FTP сервер на нестандартном порте

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

    Но даже в этом случае брандмауэр на стороне клиента может помешать. Это может произойти, если брандмауэр на стороне клиента жестко требует, чтобы FTP соединение для передачи данных от FTP сервера исходило с 20 порта (в активном режиме). Если же сервер FTP работает на порту N, то по спецификации FTP его соединения для передачи данных будут исходить с порта N – 1 и блокироваться брандмауэром клиента.

    Проблемы, вызванные брандмауэрами преждевременно завершающими FTP сессию

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

    Решением данной проблемы является устройство, поддерживающее соединение для передачи команд в активном состоянии даже не смотря на то, что по нему долго не передавались пакеты. Другой вариант - включение функции “Keep Alive” в стеке протокола TCP/IP на стороне клиента или сервера, которая отправляет пакет проверки доступности через определенные интервалы времени, и если сторона назначения не отвечает - закрывает нормально соединение. Если же принимающая сторона ответит, то соединение со стороны брандмауэра будет считаться активным.

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


 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!