Ftp

Настройка и тестирование сервера FileZilla

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

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

Использование внешнего адреса внутри локальной сети в большинстве случаев не сработает по одной из приведенных причин:

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

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

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

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

На локальной стороне подключения сервер FileZilla пытается использовать порт со значением на единицу ниже, чем у порта для контрольного соединения (к примеру, порт 20, если сервер принимает соединения на порту 21). Тем не менее, это не всегда возможно, поэтому не следует всегда полагаться на эту особенность.

Пассивный режим

Настройка сервера в этом случае практически повторяет настройку клиента в активном режиме.

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

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

При наличии NAT-роутера вам нужно сообщить серверу FileZilla ваш внешний IP-адрес, в противном случае соединения в пассивном режиме будут работать только внутри локальной сети:

  • Статический IP-адрес можно указать в диалоге настройки сервера FileZilla.
  • Если ваш IP-адрес динамический, у вас есть возможность разрешить серверу FileZilla получать внешний IP-адрес на специальном сайте автоматически при каждом запуске. Никакая информация не будет передана от вас на этот сайт, кроме версии используемого сервера FileZilla.

Если вы не уверены в своем выборе, используйте второй вариант.

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

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

Ftp

Поддержка протоколов

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

FTP FTP over SSH (secure FTP) SFTP FTPS (FTP over SSL) FXP (Site2site transfer) DAV / HTTP(S) P2P/BitTorrent Сжатие данных Удалённое сжатие Доступность API / командной строки
AbsoluteTelnet SFTP нет нет да нет нет нет да нет
AceFTP да да да да да нет нет нет
ALFTP да нет нет нет нет нет нет
AmiTradeCenter да да нет нет ARexx
BitKinex да да да да да нет да
BulletProof FTP да нет нет нет нет нет нет
Captain FTP да нет да да нет нет
Classic FTP да нет нет нет нет нет нет
CoreFTP да да да да да да да нет да
CrossFTP да да (только профессиональная версия) да (только профессиональная версия) да (только профессиональная версия) да (только профессиональная версия) да (только профессиональная версия) да да да
cURL да да да да нет да да нет да (и только)
CurlFtpFS да нет нет да нет нет нет нет
CuteFTP да нет да (только профессиональная версия) да да (только профессиональная версия) да (HTTP(S), но только профессиональная версия) нет да (только профессиональная версия) нет
Cyberduck да да да да нет
Directory Opus да да да да да да нет нет нет
Exceed да нет да нет нет нет да нет нет
FAR Manager да да да да да нет нет
Fetch да нет да да да нет
FileZilla да да да да нет нет да нет да (простая версия)
FireFTP да нет да да да нет нет да нет нет
FlashFXP да нет нет да нет да
Fling FTP да нет нет нет нет нет нет
FTP Commander да да да да да да нет да нет
FtpCube да нет да
FTPEditor да нет да нет нет
FTP Explorer да нет нет нет нет
FTPRush да да да да нет да нет да
FTP Voyager да да да да да нет да
Fugu нет да нет нет нет нет
gFTP да да да да (только управление соединением) да нет
Global Downloader да нет да да да да (HTTP(S)) да/да нет нет нет
Glub Tech Secure FTP да нет нет да нет нет да да да
Interarchy да да да да да да нет
Kasablanca да нет нет да да нет нет
KFTPGrabber да да да да да нет
LeechFTP да нет нет нет нет нет нет
lftp да нет да да да да (частично) нет
Mosaic да нет нет нет нет нет нет
MOVEit Freely да нет нет да нет нет да нет да (и только)
NcFTP да нет нет нет
Red Bird SFX — Secure File Transfer нет нет да нет нет нет да нет
Robo-FTP Secure Automated File Transfer да да да да нет да — HTTP(S) нет нет да
SftpDrive нет нет да нет нет нет нет
SFTPPlus да нет да да да нет
SmartFTP да да да да да нет нет да нет да
Sysax FTP Automation да нет да да нет нет нет нет да
Transmit да нет да да нет да нет
TurboFTP да да да да нет нет да нет да
WebDrive да да да да да да да нет да
WinSCP да да да да нет да да (но только SFTP) нет да
WISE-FTP да нет да да да нет да да
WS FTP да да да (только профессиональная версия) да да да нет нет нет да
ZipDeploy да нет нет нет нет нет да да да

Создание сервера с протоколом FTP в Windows 7

Компания Майкрософт по умолчанию добавила эту возможность в Windows 7. Потому, чтобы создать сервер, вам даже не придется скачивать какое-либо дополнительно ПО из Интернета. Вам потребуется зайти в “Пуск”, оттуда в “Панель управления” и во вкладку “Программы и компоненты”, чтобы настроить FTP.

Дело в том, что некоторые стандартные возможности Windows 7 автоматически отключены. Так делают, потому что не каждый пользователь этой операционной системы занимается, к примеру, созданием сервера FTP. Потому зайдите сбоку в раздел “Включение или отключение компонентов Windows”. Перед вами появится список папок. Найдите папку “FTP сервер”, внутри нее два каталога: “Расширяемость FTP” и “Служба FTP”; и ниже в директории “Средства управления веб-сайтом” – “Консоль управления IIS”. Возле указанных папок вам нужно поставить галочку, а затем нажать OK – службы будут активированы.

Далее вам снова необходимо зайти в “Панель управления” и отыскать раздел “Администрирование”. После добавления новых служб там появился новый пункт – “Диспетчер служб IIS” – откройте его. Отыщите вкладку “Сайты”, а после нажмите на “Добавить FTP сайты”, чтобы создать сервер. Далее необходимо настроить данные о вашем сайте: указать его имя и физический путь к данным сервера. Следующим шагом вы можете указать для сервера нестандартный порт, если желаете, а также активировать или деактивировать автоматический запуск FTP в Windows. Рекомендуется сразу отключить SSL, если в дальнейшем понадобится, то сможете подключить.

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

Обязательно после того, как у вас получилось сделать FTP сайт, нужно настроить брандмауэр Windows. Для этого нужно снова открыть “Панель управления”, найти пункт “Брандмауэр”, отыскать раздел “Дополнительные параметры” и пункт “Правила для входящих соединений”. Рекомендуется сразу настроить пассивный режим для входящих соединений, так установка активного режима – это непредсказуемая опция – ваш роутер или фаервол могут начать “ругаться” и ни один клиент не сумеет подключиться к серверу. Потому отметьте пункты “FTP Server Passive” и “FTP сервер (входящий трафик)”. Также зайдите в “Правила для исходящих соединений” и поставьте галочку возле “FTP Server”.

Чтобы вашим сервером могли пользоваться другие люди, вам необходимо подключить новых пользователей. Сделать это можно через панель “Администрирование” во вкладке “Управление компьютером”, где в разделе “Локальные пользователи” есть пункт “Группы”. Нажмите правой кнопкой на “Группы” и выберите “Создать группу”. Пропишите имя и описание для группы и жмите на “Создать”. А теперь необходимо добавить пользователей и подключить их к созданной группе. Указывайте любое имя, пропишите два раза пароль и запретите пользователю менять его.

Чтобы подключить пользователей к группе, нажмите на одного из них правой кнопкой и выберите пункт “Свойства”. Далее перейдите в “Членство в группах” и выберите “Добавить”. Находите созданную вами ранее группу, добавляете и жмете OK.

Для этого найдите корневой каталог сайта и нажмите правой кнопкой мыши “Свойства”. Откройте вкладку “Безопасность” и нажмите “Изменить”. Укажите название созданной группы пользователей и OK. Потом настройте разрешения для добавленной группы. После этого вам останется лишь зайти в “Диспетчер служб IIS” и найти пункт “Правила авторизации FTP” и добавить разрешающее правило, после чего сервер можно считать успешно созданным и активированным!

Клиент и сервер

Для рабо­ты по FTP нуж­ны двое: FTP-сервер и FTP-клиент. Что дела­ет сер­вер:

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

Так как FTP при­шёл к нам из вре­мён UNIX-систем, то любое соеди­не­ние тре­бу­ет логи­на и паро­ля. Если у поль­зо­ва­те­ля его нет, сер­вер его не про­пу­стит. Но что­бы сде­лать фай­лы доступ­ны­ми для всех, исполь­зу­ют ано­ним­ный режим. В нём логи­ном будет сло­во anonymous, а паро­лем — любой адрес элек­трон­ной почты. Совре­мен­ные бра­у­зе­ры уме­ют сами захо­дить на ано­ним­ные FTP-серверы и под­став­лять почту. Со сто­ро­ны это выгля­дит так, как буд­то ника­ко­го логи­на и паро­ля нет, но они есть.

Когда запус­ка­ет­ся FTP-сервер, ему гово­рят: «Ува­жа­е­мый сер­вер, вот спи­сок фай­лов и папок, кото­рые нуж­но пока­зы­вать на сер­ве­ре. Если к тебе посту­чит­ся поль­зо­ва­тель с таким-то логи­ном и паро­лем, то пока­жи ему всё, а если с вот таким логи­ном — то дай ему одну толь­ко эту пап­ку. Ано­ни­мов не пус­кать». Ещё один обя­за­тель­ный пара­метр — адрес сер­ве­ра и порт, по кото­ро­му будет идти пере­да­ча фай­лов.

Что­бы под­клю­чить­ся к сер­ве­ру, нуж­на спе­ци­аль­ная про­грам­ма, их ещё назы­ва­ют FTP-клиентами. Для каж­дой опе­ра­ци­он­ной систе­мы есть мно­го сво­их кли­ен­тов, напри­мер, FileZilla или CuteFTP. Те, кто рабо­та­ет в Linux-подобных систе­мах, часто исполь­зу­ют команд­ную стро­ку.

Ftp Интер­фейс CuteFTP для MacOS.

Ftp Рабо­та с FTP в команд­ной стро­ке.

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

Программы для работы с FTP-серверами

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

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

  • поддержка FTP через SSL/TLS (FTPS) и SSH File Transfer Protocol (SFTP);

  • поддержка IDN, IPv6, Drag-and-drop;

  • удаленное редактирование файлов;

  • работа с вкладками;

  • возможность приема и передачи больших объемов информации (более 4 Гб);

  • менеджер сайтов и очередь загрузки.

Ftp

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

Ftp

Far Manager. Также является свободно распространяемым ПО. Российская разработка, отличающаяся узнаваемым интерфейсом, выполненным в сине-белых цветах. Управление осуществляется посредством ввода команд с клавиатуры. Доступ к FTP-серверам производится через различные типы прокси-серверов. Присутствует функция автоматической докачки файлов.

Ftp

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

Ftp

Права доступа и авторизация

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

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

ftp://vasya:[email protected]

  • ftp:// — указание того, что мы используем протокол FTP
  • vasya — имя пользователя
  • : — разделитель имени пользователя и пароля
  • key — пароль
  • @ — разделитель аутентификационной информации и адреса сервера
  • ftp.example.com — адрес FTP-сервера

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

Безопасный FTP

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

SFTP

Основная статья: SFTP

SFTP, или «SSH File Transfer Protocol», не связан с FTP, за исключением того, что он тоже передаёт файлы и имеет аналогичный набор команд для пользователей. SFTP, или безопасный FTP, — это программа, использующая SSH (Secure Shell) для передачи файлов. В отличие от стандартного FTP он шифрует и команды, и данные, предохраняя пароли и конфиденциальную информацию от открытой передачи через сеть. По функциональности SFTP похож на FTP, но так как он использует другой протокол, клиенты стандартного FTP не могут связаться с SFTP-сервером и наоборот.

FTP через SSH (не SFTP)

FTP через SSH (не SFTP) относится к практике туннелирования обычной FTP-сессии через SSH-соединение. Поскольку FTP использует несколько TCP-соединений, туннелирование через SSH особенно затруднительно. Когда много SSH-клиентов пытаются установить туннель для канала управления (изначальное «клиент-сервер» соединение по порту 21), защищён будет только этот канал; при передаче данных программное обеспечение FTP на любом конце установит новые TCP-соединения (каналы данных), которые обойдут SSH-соединение и, таким образом, лишатся целостной защиты.

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

FTP через SSH иногда относят к безопасным FTP; но не стоит путать его с другими методами, такими как SSL/TLS (FTPS). Другие методы передачи файлов с помощью SSH и не связанные с FTP — SFTP и SCP; в каждом из них и учётные и файловые данные всегда защищены протоколом SSH.

Предпосылки

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

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

В 1994 году, компания Netscape разработала и опубликовала протокол SSL — обертку над протоколами уровня приложений (согласно стеку протоколов TCP/IP). Этот протокол позволял приложениям взаимодействовать между собой по сети в защищенном режиме, предотвращая подслушивание, фальсификацию и разглашение приватных данных. SSL протокол добавлял защиту любому протоколу, который использует надежные соединения (такие как TCP) и начал активно использоваться в браузере Netscape а позже, для формирования защищенного протокола HTTPS.

Протокол SSL был в конечном итоге применен к протоколу FTP в проекте рабочего предложения (RFC) в 1996 году.
Немногим позже, этот проект был зарегистрирован администрацией адресного пространства Интернет. Тем не менее, проект поправок не был завершен до 2005 года.

Взаимодействуем с протоколом по средством программы

Сначала жмем в значок:

Ftp

В появившемся окошке жмем в кнопочку «Новый хост», выбираем в поле тип входа «Нормальный» (если у Вас нет логина и пароля и Вы знаете, что FTP доступно без них, то можете оставить тип входа «Анонимный») и заполняем поля «Хост» (как раз адрес FTP-сервера к которому Вы хотите подключиться), Логин, Пароль и тыкаем в кнопочку «ОК»:

Ftp

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

Далее все собственно просто как в «Мой компьютер» — перетаскивайте нужные вам файлы с сервера или на него, путешествуйте по папкам и тд и тп.

Схема работы

Технически FTP-сервер представляет собой компьютер, к которому подключаются внешние пользователи. Они запускают на своих компьютерах специальный FTP-клиент, который делает попытку подключения. Клиент позволяет загружать и скачивать файлы с сервера. Клиентские FTP-программы могут быть встроены в операционную систему, web-браузер, HTML-редактор, файловые менеджеры, а также быть отдельными программами (FileZilla, Total Commander и другими). Взаимодействие между сервером и пользовательским компьютером выглядит следующим образом:

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

  • после подключения FTP-клиент подает определенные команды интерпретатору;

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

  • после передачи или приема файлов канал закрывается, оставляя открытым порт 21 для обработки новых команд.

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

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

Если вы пользуетесь 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 портов.

Ftp

Как подключится к FTP через Проводник Windows

Сначала рассмотрим, как подключиться к FTP-серверу через программу «Проводник» в Windows 10. Здесь ничего дополнительно устанавливать не надо, просто открываем системный файловый менеджер. В левой панели находим значок «Этот компьютер» и жмем по нему правой кнопкой мыши для вывода контекстного меню. В списке выбираем элемент «Добавить новый элемент в сетевое окружение».

Ftp

В результате откроется окно мастера добавления сетевого расположения. В начальном окне просто нажимаем «Далее».

Ftp

Следом надо выбрать его дальнейшее местоположение, но в этом окне нам доступен только один вариант. Для продолжения снова нажимаем на кнопку «Далее».

Ftp

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

Важно соблюдать предписанный формат (чуть ниже есть несколько примеров). В поле вводим адрес/ссылку и вновь идем дальше.  

Ftp

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

Ftp

В самом конце даем название новому сетевому окружению.

Ftp

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

Ftp

Новое подключение теперь находится в «Сетевых расположениях» в разделе «Этот компьютер».

Ftp

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

Ftp

Если все данные введены успешно, откроется папка сервера. Можно приступать к работе.

Ftp