Настройка сети
Настройка FTP является довольно сложной задачей. Т.к. существуют тысячи разных файрволов и моделей роутеров, практически невозможно привести полное пошаговое руководство для каждого пользователя. Пользователь должен понимать основы протокола FTP для того, чтобы настроить FileZilla и роутеры/файрволы через которые происходит подключение. В этой статье приведена краткая история развития протокола FTP и принципы работы некоторых его аспектов. Внимательное прочтение этой статьи предотвратит многие проблемы, которые могут возникнуть при настройке FTP-подключения.
Содержание
Общие сведения
В этом разделе будет кратко рассмотрена история и технические сведения, касающиеся протокола FTP. Для получения подробной информации смотрите спецификации.
Исторические сведения
На фоне быстро развивающейся сети Интернет протокол FTP выглядит не просто старым, а действительно архаичным. Ранние черновые спецификации протокола датируются 1971-ым годом, составление текущей спецификации начато в 1985-ом. На протяжении последних двух десятилетий протокол не менялся в своей основе.
В те времена сетью Интернет пользовались в основном университеты и исследовательские центры. Сообщество пользователей было небольшим, большинство из них знали друг друга и все работали сообща. Интернет был дружелюбной сетью, а проблемы безопасности как таковой не стояло.
Побочным эффектом такого развития событий стали, следующие явления:
В большинстве случаев эти явления конфликтуют с работой протокола. Ситуацию ухудшают недоработки в самих роутерах и файрволах.
Тем не менее, при правильной настройке FTP предлагает надежный и опробованный способ передачи файлов.
Технические сведения
Существует два способа создания этого подключения: активный и пассивный режимы.
В пассивном режиме, который является рекомендуемым, клиент отсылает серверу команду PASV, на которую сервер отвечает адресом. После этого клиент отсылает команду для передачи файла или листинга директории и создает вторичное подключение по адресу, который был получен от сервера.
В активном режиме клиент открывает сокет на локальном устройстве и отсылает серверу адрес сокета с помощью команды PORT. После отсылки команды передачи файла или листинга сервер создает подключение по заданному адресу, который был указан клиентом.
В обоих случаях файл/листинг будут переданы через подключение для передачи данных.
Примите во внимание, что разница состоит только в порядке подключения, после создания подключения для передачи данных, данные могут как загружаться, так и выгружаться.
Типичная сетевая конфигурация может выглядеть так:
Таким образом, в пассивном режиме роутер и файрвол на стороне сервера должны быть настроены для приема и перебрасывания входящих подключений. В свою очередь, на стороне сервера должны быть разрешены только исходящие подключения, а в большинстве случаев исходящие подключения разрешены.
Аналогично в активном режиме роутер и файрвол на клиентской стороне должны быть настроены для приёма и перебрасывания входящих подключений. Очевидно, на стороне сервера должны быть разрешены только исходящие подключения.
Т.к. сервер обычно обслуживает много клиентов, намного легче настроить роутер и файрвол на стороне сервера один раз для пассивного режима, чем настраивать клиентский роутер/файрвол для каждого клиента в активном режиме. Именно поэтому пассивный режим является рекомендуемым.
NAT-роутеры
У большинства пользователей широкополосного подключения NAT-роутер расположен между их компьютером и сетью. Это может быть самостоятельное устройство (возможно беспроводной роутер), или же встроенный роутер в DSL- или кабельном модеме. В среде NAT все устройства за роутером составляют локальную сеть (LAN), каждое из устройств в сети имеют локальный IP-адрес (четыре небольших числа разделённых точками). NAT-роутер в свою очередь имеет свой локальный IP-адрес, а также внешний IP-адрес для идентификации в глобальной сети. Локальные адреса действительны только внутри LAN, для удаленного устройства они не имеют смысла. Пример:
Предположим, что сервер находится за NAT-роутером. Смоделируем ситуацию, в которой клиент подключается в пассивном режиме, но серверу не предоставлен внешний IP-адрес роутера. В этом случае сервер отсылает свой локальный адрес клиенту, после чего могут произойти две вещи:
Очевидно, в обоих случаях пассивный режим не сработает.
Таким образом, если сервер находится за NAT-роутером, ему должен быть предоставлен IP-адрес роутера для работы пассивного режима. В обоих случаях сервер отсылает внешний адрес роутера клиенту. Клиент создает подключение с роутером, который в свою очередь передает подключение на сервер.
Файрволы
Предназначением персонального файрвола является защита пользователя от уязвимости в безопасности операционной системы или используемых приложений. Зловредные приложения, к примеру, черви, часто используют эти уязвимости для заражения вашей системы через сеть. Файрволы помогают избежать таких случаев.
В особенности при использовании FTP пользователи файрвола могут получать такие сообщения:
Умные роутеры, файрволы, и саботаж данных
Некоторые роутеры или файрволы достаточно умны. Они анализируют подключения и при обнаружении FTP-подключения бесшумно подменяют данные передающиеся между клиентом и сервером. Такое поведение является саботажем данных и может доставить неприятности, если пользователь не разрешил такое поведение явным образом.
Приведем пример. Предположим, что клиент находится за NAT-роутером и пытается подключиться к серверу. Предположим также, что клиент не осведомлен в том, что он находится за NAT и использует активный режим. Клиент отсылает команду PORT со своим локальным, немаршрутизируемым IP-адресом, серверу:
Эта команда указывает серверу на подключение по адресу 10.0.0.1 на порту 12*256+34 = 3106
После этого NAT-роутер бесшумно подменяет команду, включая внешний IP-адрес, а также создает временный порт для переброски FTP-сессии, возможно даже на другом порту:
Эта команда указывает серверу на подключение по адресу 123.123.123.123 на порту 24*256+55 = 6199
Благодаря такому поведению NAT-роутер позволяет неправильно настроенному клиенту использовать активный режим.
Почему такое поведение не является приемлемым? Если эта возможность используется по умолчанию, без согласия пользователя, из этого следует множество проблем. FTP-подключение в своей основе будет работать, но сразу после исчерпания тривиальных случаев использования передача будет разорвана, не оставляя особых средств диагностики проблемы.
Как мы видим, возможности специфические для протоколов, включенные на NAT-роутере по умолчанию могут вызвать множество проблем. Хороший NAT-роутер всегда и полностью работает с протоколом без информации о самом протоколе. Исключением может быть случай, когда пользователь явно применил эту возможность и осознает все возможные последствия.
В этом подразделе мы рассматривали сочетание NAT-роутера на стороне клиента в активном режиме, те же рассуждения применяются и в случае сервера за NAT и ответами на команду PASV.
Настройка клиента FileZilla
Если вы пользуетесь FileZilla 3, мы рекомендуем запустить мастер настройки сети. С помощью мастера вы пройдете все нужные шаги, а после их завершения у вас будет возможность протестировать вашу конфигурацию.
Т.к. в интернете достаточно неправильно настроенных серверов, или серверов, которые не поддерживают оба режима передачи, вам рекомендуются оба режима передачи на своей стороне.
Пассивный режим
Клиент не может указывать серверу выбор порта для передачи данных в пассивном режиме, поэтому для использования пассивного режима вам нужно разрешить исходящие подключения по любому порту на своем компьютере.
Активный режим
В активном режиме клиент открывает сокет и ожидает от сервера подключения для передачи.
По умолчанию клиент FileZilla запрашивает у операционной системы IP-адрес и свободный номер порта. Такая конфигурация сработает только в случае прямого соединения с интернетом без NAT-роутеров, также ваш файрвол должен разрешать создание подключений на всех портах выше 1024-го.
Если у вас присутствует NAT-роутер, вам нужно указать FileZilla внешний IP-адрес, в противном случае соединения в активном режиме не сработают для серверов вне вашей локальной сети:
Если вы не уверены в своем выборе, используйте второй вариант.
Если вы не хотите разрешать входящие соединения на всех портах, или ваш компьютер расположен за NAT-роутером, укажите FileZilla использовать определенный диапазон портов для соединений в активном режиме. Этот диапазон также нужно будет открыть для вашего файрвола. При наличии NAT-роутера вам нужно перебросить эти порты на локальный компьютер, на котором установлен FileZilla. Вы можете перебросить диапазон портов, или же каждый порт по отдельности, это зависит от модели вашего роутера.
Доступные порты находятся в диапазоне от 1 до 65535, порты ниже 1024-го зарезервированы для остальных протоколов. Для активного режима FTP лучшим выбором является номер порта равный или выше 50000. В связи с устройством протокола TCP (протокол, который находится ниже уровня FTP и используется для передачи данных), порт не может быть использован повторно сразу после каждого подключения. Таким образом, диапазон портов не должен быть слишком узким, в противном случае вы не сможете передать много файлов малого размера. В большинстве случаев достаточно диапазона в 50 портов.
Настройка и тестирование сервера FileZilla
Настройка сервера по большей части повторяет настройку клиента, главным отличием является то, что в случае сервера активный и пассивный режимы меняются ролями.
Важно отметить, что проверка работы сервера в большинстве случаев происходит ошибочным образом, особенно часто эту ошибку допускают владельцы NAT-роутеров. Находясь внутри локальной сети, вы сможете протестировать сервер, только используя локальный IP-адрес. Использование внешнего адреса внутри локальной сети в большинстве случаев не сработает по одной из приведенных причин:
Активный режим
Убедитесь, что серверу FileZilla разрешено создавать исходящие подключения по любому порту, т.к. в этом режиме клиент определяет порт для соединения.
На локальной стороне подключения сервер FileZilla пытается использовать порт со значением на единицу ниже, чем у порта для контрольного соединения (к примеру, порт 20, если сервер принимает соединения на порту 21). Тем не менее, это не всегда возможно, поэтому не следует всегда полагаться на эту особенность.
Пассивный режим
Настройка сервера в этом случае практически повторяет настройку клиента в активном режиме.
В пассивном режиме сервер открывает сокет и ожидает соединения от клиента.
По умолчанию сервер FileZilla запрашивает у операционной системы IP-адрес компьютера и свободный порт. Эта конфигурация является рабочей только, если компьютер напрямую подключен к интернету без NAT-роутеров и установленным для файрвола разрешением на входящие подключения по всем портам выше 1024-го.
При наличии NAT-роутера вам нужно сообщить серверу FileZilla ваш внешний IP-адрес, в противном случае соединения в пассивном режиме будут работать только внутри локальной сети:
Если вы не уверены в своем выборе, используйте второй вариант.
Если вы не хотите разрешать входящие соединения на всех портах, или ваш компьютер расположен за NAT-роутером, укажите серверу FileZilla использовать определенный диапазон портов для соединений в активном режиме. Этот диапазон также нужно будет открыть для вашего файрвола. При наличии NAT-роутера вам нужно перебросить эти порты на локальный компьютер, на котором установлен сервер FileZilla. Вы можете перебросить диапазон портов, или же каждый порт по отдельности, это зависит от модели вашего роутера.
Доступные порты находятся в диапазоне от 1 до 65535, порты ниже 1024-го зарезервированы для остальных протоколов. Для активного режима FTP лучшим выбором является номер порта равный или выше 50000. В связи с устройством протокола TCP (протокол, который находится ниже уровня FTP и используется для передачи данных), порт не может быть использован повторно сразу после каждого подключения. Таким образом, диапазон портов не должен быть слишком узким, в противном случае вы не сможете передать много файлов малого размера. В большинстве случаев достаточно диапазона в 50 портов.
Решение проблем
К сожалению, множество персональных файрволов и пользовательских роутеров имеют свои недоработки или, в некоторых случаях, даже способны саботировать работу FTP (например SMC Barricade v1.2).
В первую очередь, пользуйтесь последними стабильными версиями программного обеспечения, в том числе файрвола и прошивки роутера.
Если это не помогает, у вас есть возможность попробовать удалить ваш файрвол для анализа ситуации. Простое отключение файрвола не всегда помогает, т.к. некоторые файрволы нельзя полностью отключить.
Если это возможно, попробуйте подключиться к интернету напрямую без роутера.
Если вы пытаетесь настроить сервер и он работает нормально внутри вашей локальной сети, но не доступен вне её, попробуйте сменить порт для подключения. Некоторые провайдеры не разрешают своим клиентам размещать сервера и блокируют порты ниже 1024-го.
Причиной другой возможной проблемы может быть использование 21-го порта по умолчанию для вашего FTP-сервера. На стороне вашего провайдера может присутствовать файрвол, который может неожиданно изменять порт для команды PASV. Попробуйте использовать порт отличный от порта по умолчанию для вашего FTP-сервера.
Если время от времени вы наблюдаете сообщение «невозможно открыть подключение для передачи данных», т.е. FTP-клиент способен без проблем подключиться к FTP-серверу достаточное число раз, пока вы не получите данное сообщение, возможным препятствием может быть антивирус на клиентском ПК, настроенный на блокировку исходящих подключений по определенному диапазону портов. При работе сервера в пассивном режиме исходящие порты клиента определяются случайным образом, а при выборе портов попадающих в заблокированный диапазон, вы будете получать сообщение об ошибке. Для того, точной диагностики, вам следует просмотреть логи антивируса на машине клиента, который получает данную ошибку. В общем, любое ПО, способное блокировать диапазон исходящих портов, может быть причиной проблем подобного рода.
Таймауты при передаче больших файлов
Если передача небольших файлов происходит без проблем, но загрузка больших файлов обрывается по таймауту, причиной этого является неправильно настроенный роутер и/или файрвол находящийся между клиентом и сервером.
Как было сказано выше, в FTP используются два TCP-подключения: контрольное подключение для отсылки команд и получения ответов на команды, и также подключение для передачи данных. По принципу работы FTP контрольное соединение не используется во время передачи файлов.
В спецификации TCP не указывается лимит времени для сохранения неиспользуемого подключения. Предполагается, что подключение сохраняется на неопределенное время пока не будет закрыто явным образом. Тем не менее, большинство роутеров и файрволов автоматически закрывают свободные подключения по истечению некоторого времени. Более того, в большинстве случаев разрыв соединения происходит без уведомления об этом его участников. В случае продолжительной передачи данных через FTP это значит, что контрольное соединение может быть разорвано, но, ни клиент, ни сервер не будут об этом уведомлены. Таким образом, после того, как все данные были переданы, сервер все еще ожидает, что контрольное подключение можно использовать и отсылает через него подтверждение передачи клиенту. Аналогично, клиент готов использовать контрольное соединение и ожидает ответа от сервера. Но, т.к. контрольное соединение было разорвано, это ответ никогда не будет доставлен, что приводит к таймауту.
Для решения этой проблемы спецификация TCP предусматривает способ отправки пакетов для поддержки неиспользуемого подключения, сообщающих участников о том, что соединение требуется сохранить для дальнейшего использования. Тем не менее, в спецификации TCP явно указывается, что такие пакеты можно передавать не чаще, чем один раз каждые два часа. Для этого, предусматривая задержки в сети, срок жизни неиспользуемого подключения устанавливается спецификацией в 2 часа и 4 минуты.
Препятствием этому служит то, что многие роутеры и файрволы разрывают соединения, которые не использовались меньше чем 2 и 4 минуты. Такое поведение нарушает спецификацию протокола TCP, в RFC 5382 это указано достаточно ясно. Другими словами, роутеры и файрволы, разрывающие соединение раньше нужного момента, нельзя признать рабочими, т.к. они не могут использоваться при длительной передаче данных через FTP. К сожалению, производители роутеров потребительского класса и поставщики файрволов не заботятся о соблюдении спецификаций.
Для решения этой проблемы вам нужно удалить такие файрволы и заменить неправильно работающий роутер на качественный.
Настройка сервера FileZilla под Windows Firewall
Если вы испытываете проблемы при настройке сервера FileZilla при работающем Windows Firewall (в особенности, если клиент, подключающийся к такому серверу получает сообщение об ошибке «Невозможно получить листинг директории»), вам нужно добавить сервер FileZilla в список исключений Windows Firewall. Для этого вам нужно сделать следующие шаги:
Это обеспечивает работу пассивного режима. Если после этого вы все равно испытываете проблемы при подключении (внутри или извне сети), проверьте настройки вашего роутера или попробуйте добавить номер порта в настройках Windows Firewall во вкладке «Исключения».
Как настроить FileZilla и подключиться к серверу по FTP
Сейчас читают:
Не всегда файловый менеджер на хостинге выполняет свои задачи. Например, он может не загружать файлы большого объема или в нем установлены другие ограничения. Чтобы обойти их, можно воспользоваться клиент-приложением. Вдобавок, работать с FTP-клиентом удобнее, ведь он запускается с локальной машины.
Одним из самых популярных и удобных FTP-клиентов является FileZilla. Это бесплатная программа с открытым исходным кодом, которая предназначена для платформ Mac OS, Windows и Linux.
Процесс установки
Для операционных систем Windows или Mac OS клиент-приложение можно скачать с официального сайта разработчиков. Здесь также можно более подробно ознакомиться с подробной документацией по программе.
Рекомендуется скачивать установочный файл именно с этого ресурса, поскольку на сторонних есть вероятность загрузить зараженный.
FileZilla совместима с большинством официальных репозиториев Linux. Поэтому в дистрибутивах Ubuntu (и других на базе Debian) его можно установить, введя в терминале команду:
Пользователи CentOS или Red Hat могут воспользоваться командой:
Начало работы с FileZilla
Пользоваться FileZilla довольно удобно. В приложении довольно много регулируемых параметров, позволяющих настроить FileZilla под конкретные нужды практически любого пользователя.
Его главное окно поделено на несколько рабочих областей. Слева расположены каталоги и файлы на ПК пользователя, а справа – каталоги и файлы на сервере.
Чтобы проверить и подключиться на одну сессию к серверу, можно воспользоваться панелью быстрого подключения, расположенную в верхней части. Достаточно заполнить поля с предложением ввести хост (IP-адрес или доменное имя), имя пользователя (логин для входа в Панель управления), а также пароль.
Для подключения FileZilla по умолчанию использует порт 21. После этого остается нажать «Быстрое соединение», чтобы получить возможность загрузить файлы через FileZilla на хостинг. Однако постоянно вводить для соединения эти данные неудобно. Логично будет создать аккаунт, который можно постоянно использовать в будущем.
Создание профиля для подключения
Важно! Настоятельно не рекомендуется сохранять свой пароль в свойствах своего профиля. Злоумышленники часто похищают сохраняемые в приложениях пароли во время заражения компьютера вирусными программами. Соответственно, безопаснее постоянно набирать вручную пароль для установки соединения. Чтобы сделать это в FileZilla, выберете «Запрос пароля» вместо «Нормальный» – клиент будет всегда требовать ввести пароль для доступа.
Копирование файлов
Если подключиться к серверу по FTP удалось без проблем, то можно приступать непосредственно к загрузке контента на хостинг. Потребуется выделить нужные файлы и нажать на любом из них правой кнопкой мыши. Откроется меню, где доступна операция «Закачать на сервер». Также в FileZilla поддерживается функция Drag-and-Drop – загружать контент на сервер можно простым перетаскиванием мышью на правую часть окна программы.
По завершении копирования (процесс будет отображаться в панели снизу) можно увидеть, что выбранные файлы уже разместились на сайте. Если нет, нужно обновить устаревшую информацию комбинацией клавиш Ctrl+R.
Как использовать безопасное соединение по SFTP
Для полной безопасности работы с FileZilla рекомендуется использовать подключение по SFTP-протоколу, который поддерживает шифрование передаваемых данных.
Способы настройки SFTP
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Как настроить FileZilla на Windows и подключиться к серверу (хостингу) по FTP
Для передачи данных между компьютерами используются различные протоколы. Чтобы подключаться к серверу, где хранятся данные вашего сайта и работать с ними обычно используют протокол передачи данных FTP. Чтобы реализовать эту возможность, пользуются специальными клиентами, одним из которых является FileZilla.
FTP-клиент FileZilla Вы можете загрузить с нашего сайта. Он является одним из популярных программ, поддерживающих все операционные системы и защищенное соединение. В FileZilla оно называется FTPS – защита при помощи SSL или TLS, либо SFTP – расширение протокола SSH.
Чтобы соединиться с удаленным компьютером при помощи SFTP необходимо вводить ту же информацию что и в обычном режиме (имя пользователя, адрес сервера и пароль), но порт должен быть другой, в зависимости от хостинг-провайдера. На некоторых это может быть 2222.
Для входа по FTPS используется соединение SSH, где вместо имени сервера указывают домен, а еще имя пользователя и пароль.
Иногда соединение можно запретить. Для этого входим в панель управления сервера или хостинга и в разделе FTP закрываем доступ.
Как подключиться к сайту с помощью FileZilla
Откройте программу FileZilla. Весь интерфейс на русском языке, поэтому проблем возникнуть не должно. Для получения доступа к каталогам и файлам хостинга или сервера сайта необходимо ввести данные, которые обычно присылаются на почту хостером. Вот, как нужно поступить в данном случае:
В окошке вверху можно увидеть статус подключения. Сначала идет авторизация, потом получения списка каталогов и их извлечение. Если вы неправильно ведете данные, будут появляться красные строчки с ошибками.
После подключения, в первом разделе, называемом «Удаленный сайт» будут доступны каталоги в древовидном виде. Раскрываете каждую папку, в нижнем разделе появляется содержимое этой папки.
Теперь с файлами можно полноценно работать.
Какие же действия можно совершить с данными в FileZilla?
Почему при входе возникает ошибка «Неправильный логин» («Invalid login»)?
Чаще всего данная проблема связана с неправильно веденным паролем. Если зайти на почту, то в присланном документе от хостера находится следующая информация:
Если есть сервер, то информацию авторизации можно при желании поменять. Убедитесь, что вы не меняли имя и пароль для входа на сервер.
Также, не рекомендуется копировать пароль и вставлять его в поле, так как обычно в конце прибавляется пробел. Вводим пароль и логин вручную.
Возможно, у вас не получилось связаться с хостом по FTP никакими способами. Попробуйте обратиться в техническую поддержку своего хостинг-провайдера.
Стоит попробовать использовать подключение через браузер. Если оно будет работать, тогда проблема возникла на стороне программного обеспечения и его нужно либо перезапустить, либо переустановить. Чтобы войти по FTP через браузер нужно в адресной строке ввести такую команду:
Некоторые браузеры могут не поддерживать этот протокол, стоит использовать современные обозреватели, такие как Google Chrome, Mozilla Firefox или Opera.
Что делать, если файл не загружается на хостинг или загрузился пустой
Обычно это связано с превышением квоты дискового пространства – определённой объем накопителя, выделяемый для каждого пользователя. Узнать, превышена ли квота можно в панели управления хостером или сервером. В случае подтверждения данной теории придется повысить характеристики тарифа, а именно свободное пространство на жёстком диске или SSD.
Если невозможно создать каталог, тогда убедитесь, что название не кириллическое.
При загрузке файлов, бывают случаи, что они слишком много весят, поэтому закачка не проходит в нормальном режиме. Загружать файлы стоит небольшого размера.








