В этом разделе будет кратко рассмотрена история и технические сведения, касающиеся протокола FTP. Для получения подробной информации смотрите спецификации .
На фоне быстро развивающейся сети Интернет протокол FTP выглядит не просто старым, а действительно архаичным. Ранние черновые спецификации протокола датируются 1971-ым годом, составление текущей спецификации начато в 1985-ом. На протяжении последних двух десятилетий протокол не менялся в своей основе.
В те времена сетью Интернет пользовались в основном университеты и исследовательские центры. Сообщество пользователей было небольшим, большинство из них знали друг друга и все работали сообща. Интернет был дружелюбной сетью, а проблемы безопасности как таковой не стояло.
Те времена прошли и многое изменилось. Технологический прогресс шел быстрее, чем кто-либо мог себе представить, одновременно выросло новое поколение пользователей. Интернет теперь - повсеместное явление, благодаря которому миллионы людей общаются друг с другом множеством разных способов. Главное ощутимое изменение: Интернет стал враждебным. Доступность и открытость сети привлекла злонамеренных пользователей, активно эксплуатирующих ошибки и неопытность других.
Побочным эффектом такого развития событий стали, следующие явления:
В большинстве случаев эти явления конфликтуют с работой протокола. Ситуацию ухудшают недоработки в самих роутерах и файрволах.
Тем не менее, при правильной настройке FTP предлагает надежный и опробованный способ передачи файлов.
Основные отличие FTP от остальных протоколов - использование вторичных подключений для передачи файлов. При подключении к FTP-серверу создается т.н. контрольное подключение , через которое передаются команды протокола и ответы на эти команды. Для того, чтобы передать файл или листинг директории, клиент должен отослать команды через контрольное подключение, после чего будет создано подключение для передачи данных .
Существует два способа создания этого подключения: активный и пассивный режимы.
В пассивном режиме, который является рекомендуемым, клиент отсылает серверу команду PASV, на которую сервер отвечает адресом. После этого клиент отсылает команду для передачи файла или листинга директории и создает вторичное подключение по адресу, который был получен от сервера.
В активном режиме клиент открывает сокет на локальном устройстве и отсылает серверу адрес сокета с помощью команды PORT. После отсылки команды передачи файла или листинга сервер создает подключение по заданному адресу, который был указан клиентом.
В обоих случаях файл/листинг будут переданы через подключение для передачи данных.
Создание исходящих подключений требует задания меньшего количества параметров для роутеров/файрволов, чем создание входящих подключений. В пассивном режиме, подключение является исходящим от клиента и входящим для сервера. В активном режиме клиент и сервер меняются ролями - входящее подключение для клиента и исходящее для сервера.
Примите во внимание, что разница состоит только в порядке подключения, после создания подключения для передачи данных, данные могут как загружаться, так и выгружаться.
Типичная сетевая конфигурация может выглядеть так:
Таким образом, в пассивном режиме роутер и файрвол на стороне сервера должны быть настроены для приема и перебрасывания входящих подключений. В свою очередь, на стороне сервера должны быть разрешены только исходящие подключения, а в большинстве случаев исходящие подключения разрешены.
Аналогично в активном режиме роутер и файрвол на клиентской стороне должны быть настроены для приёма и перебрасывания входящих подключений. Очевидно, на стороне сервера должны быть разрешены только исходящие подключения.
Т.к. сервер обычно обслуживает много клиентов, намного легче настроить роутер и файрвол на стороне сервера один раз для пассивного режима, чем настраивать клиентский роутер/файрвол для каждого клиента в активном режиме. Именно поэтому пассивный режим является рекомендуемым.
У большинства пользователей широкополосного подключения NAT-роутер расположен между их компьютером и сетью. Это может быть самостоятельное устройство (возможно беспроводной роутер), или же встроенный роутер в DSL- или кабельном модеме. В среде NAT все устройства за роутером составляют локальную сеть (LAN), каждое из устройств в сети имеют локальный IP-адрес (четыре небольших числа разделённых точками). NAT-роутер в свою очередь имеет свой локальный IP-адрес, а также внешний IP-адрес для идентификации в глобальной сети. Локальные адреса действительны только внутри LAN, для удаленного устройства они не имеют смысла. Пример:
Предположим, что сервер находится за NAT-роутером. Смоделируем ситуацию, в которой клиент подключается в пассивном режиме, но серверу не предоставлен внешний IP-адрес роутера. В этом случае сервер отсылает свой локальный адрес клиенту, после чего могут произойти две вещи:
Очевидно, в обоих случаях пассивный режим не сработает.
Таким образом, если сервер находится за NAT-роутером, ему должен быть предоставлен IP-адрес роутера для работы пассивного режима. В обоих случаях сервер отсылает внешний адрес роутера клиенту. Клиент создает подключение с роутером, который в свою очередь передает подключение на сервер.
Предназначением персонального файрвола является защита пользователя от уязвимости в безопасности операционной системы или используемых приложений. Зловредные приложения, к примеру, черви, часто используют эти уязвимости для заражения вашей системы через сеть. Файрволы помогают избежать таких случаев.
В особенности при использовании FTP пользователи файрвола могут получать такие сообщения:
Trojan Netbus заблокирован на порту 12345, который используется процессом FileZilla.exe
Почти во всех случаев такое сообщение - ложная тревога . Любое приложение может выбрать любой порт для сообщения через интернет. Может случиться так, что FileZilla выберет порт, случайно являющийся портом по умолчанию для трояна или другой зловредной программы. Дистрибутив FileZilla скачанный с официального сайта не содержит вирусов.
Некоторые роутеры или файрволы достаточно умны. Они анализируют подключения и при обнаружении FTP-подключения бесшумно подменяют данные передающиеся между клиентом и сервером. Такое поведение является саботажем данных и может доставить неприятности, если пользователь не разрешил такое поведение явным образом.
Приведем пример. Предположим, что клиент находится за NAT-роутером и пытается подключиться к серверу. Предположим также, что клиент не осведомлен в том, что он находится за NAT и использует активный режим. Клиент отсылает команду PORT со своим локальным, немаршрутизируемым IP-адресом, серверу:
PORT 10,0,0,1,12,34
Эта команда указывает серверу на подключение по адресу 10.0.0.1 на порту 12*256+34 = 3106
После этого NAT-роутер бесшумно подменяет команду, включая внешний IP-адрес, а также создает временный порт для переброски FTP-сессии, возможно даже на другом порту:
PORT 123,123,123,123,24,55
Эта команда указывает серверу на подключение по адресу 123.123.123.123 на порту 24*256+55 = 6199
Благодаря такому поведению NAT-роутер позволяет неправильно настроенному клиенту использовать активный режим.
Почему такое поведение не является приемлемым? Если эта возможность используется по умолчанию, без согласия пользователя, из этого следует множество проблем. FTP-подключение в своей основе будет работать, но сразу после исчерпания тривиальных случаев использования передача будет разорвана, не оставляя особых средств диагностики проблемы.
Как мы видим, возможности специфические для протоколов, включенные на NAT-роутере по умолчанию могут вызвать множество проблем. Хороший NAT-роутер всегда и полностью работает с протоколом без информации о самом протоколе. Исключением может быть случай, когда пользователь явно применил эту возможность и осознает все возможные последствия.
В этом подразделе мы рассматривали сочетание NAT-роутера на стороне клиента в активном режиме, те же рассуждения применяются и в случае сервера за NAT и ответами на команду PASV.
Очевидно, что для подключения к любому серверу ваш файрвол должен разрешить такие действия для FileZilla. Большинство обычных FTP-серверов используют 21-ый порт, SFTP-серверы - 22-ой, а FTP через SSL/TLS (неявный режим) по умолчанию - 990-ый. Номера портов не являются жестко заданными, поэтому лучше всего разрешить исходящие подключения на любой порт.
Т.к. в интернете достаточно неправильно настроенных серверов, или серверов, которые не поддерживают оба режима передачи, вам рекомендуются оба режима передачи на своей стороне.
Клиент не может указывать серверу выбор порта для передачи данных в пассивном режиме, поэтому для использования пассивного режима вам нужно разрешить исходящие подключения по любому порту на своем компьютере.
В активном режиме клиент открывает сокет и ожидает от сервера подключения для передачи.
По умолчанию клиент FileZilla запрашивает у операционной системы IP-адрес и свободный номер порта. Такая конфигурация сработает только в случае прямого соединения с интернетом без NAT-роутеров, также ваш файрвол должен разрешать создание подключений на всех портах выше 1024-го.
Если у вас присутствует NAT-роутер, вам нужно указать FileZilla внешний IP-адрес, в противном случае соединения в активном режиме не сработают для серверов вне вашей локальной сети:
Если вы не хотите разрешать входящие соединения на всех портах, или ваш компьютер расположен за NAT-роутером, укажите FileZilla использовать определенный диапазон портов для соединений в активном режиме. Этот диапазон также нужно будет открыть для вашего файрвола. При наличии NAT-роутера вам нужно перебросить эти порты на локальный компьютер, на котором установлен FileZilla. Вы можете перебросить диапазон портов, или же каждый порт по отдельности, это зависит от модели вашего роутера.
TCP
Настройка сервера по большей части повторяет настройку клиента, главным отличием является то, что в случае сервера активный и пассивный режимы меняются ролями.
Важно отметить, что проверка работы сервера в большинстве случаев происходит ошибочным образом, особенно часто эту ошибку допускают владельцы 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. Для этого вам нужно сделать следующие шаги:
Это обеспечивает работу пассивного режима. Если после этого вы все равно испытываете проблемы при подключении (внутри или извне сети), проверьте настройки вашего роутера или попробуйте добавить номер порта в настройках Windows Firewall во вкладке "Исключения".
Обратитесь к 931130 KB-статье от Microsoft, описывающей работу FileZilla со включенными сервисами "Маршрутизация и удаленный доступ" или "Шлюз уровня приложения".
Нередко бывают случаи, когда нам необходимо обменяться файлами с кем-то в сети. Для файлов небольшого размера можно воспользоваться почтой или передать файл, например, через интернет-пейджер. Это приемлемо, когда его размер не превышает нескольких мегабайт. А если это фильм или игра, или архив с фотографиями в несколько гигабайт?! Можно, конечно, воспользоваться публичным файлообменником, разделить файл на части и предоставить его для скачивания, но тут тоже не всё гладко, большинство пользователей привыкли качать бесплатно, а это, как правило, ограничение скорости и ожидание таймера. Вот тут нам и придет на помощь собственный FTP-сервер (File Transfer Protocol).
В чем, собственно, плюсы собственного FTP-сервера:
Большинство пользователей ПК хотя бы раз слышали о приложении FileZilla, которое через клиентский интерфейс передает и принимает данные по протоколу FTP. Но мало кто знает, что у данного приложения существует серверный аналог – FileZilla Server. В отличие от обычной версии, данная программа реализует процесс передачи данных по протоколам FTP и FTPS на серверной стороне. Давайте изучим основные настройки программы FileZilla Server. Это особенно актуально, учитывая тот факт, что существует только англоязычный вариант данной программы.
Сразу же, после довольно простого и интуитивно понятного для практически любого пользователя процесса установки, в FileZilla Server запускается окно, в котором нужно указать ваш хост (или IP-адрес), порт и пароль. Эти настройки нужны для подключения к личному кабинету администратора, а не к доступу по FTP.
Поля наименований хоста и порта, как правило, заполняются автоматически, хотя, при желании вы сможете изменить первое из этих значений. А вот пароль придется придумать самому. Заполняем данные и жмем на кнопку Connect (Подключение).
Теперь перейдем к общим настройкам программы. Попасть в секцию настроек можно, нажав на раздел верхнего горизонтального меню Edit, а затем выбрав пункт Setting.
Перед нами открывается мастер настройки программы. Сразу же мы попадем в раздел Основных настроек (General Settings). Тут нужно установить номер порта, к которому будут подключаться пользователи, и указать максимальное их число. Нужно отметить, что параметр «0» означает неограниченное количество пользователей. Если по какой-то причине их число нужно ограничить, то проставляйте соответствующую цифру. Отдельно устанавливается количество потоков. В подразделе «Timeout settings», настраивается величина таймаута до следующего подключения, при отсутствии отклика.
В разделе «Welcome message» можно вписать приветственное сообщение для клиентов.
Следующий раздел «IP bindings» очень важен, так как именно тут проставляются адреса, по которым сервер будет доступным для других лиц.
Во вкладке «IP Filter», наоборот, вписывают заблокированные адреса тех пользователей, подключение которых к серверу нежелательно.
В следующем разделе «Passive mode setting» можно вписать параметры работы в случае применения пассивного режима передачи данных по FTP. Эти настройки довольно индивидуальны, и без особой надобности их трогать не рекомендуется.
Подраздел «Security Settings» отвечает за безопасность подключения. Как правило, тут производить изменения не требуется.
Во вкладке «Miscellaneous» производятся мелкие настройки внешнего вида интерфейса, например его сворачиваемости, и установка других малозначительных параметров. Лучше всего, эти настройки тоже оставить без изменений.
В разделе «Admin Interface Settings» вводятся настройки доступа к администрированию. По сути, это те же настройки, которые мы вводили при первом включении программы. В данной вкладке, при желании, их можно изменить.
Во вкладке «Logging» производится включение создания лог-файлов. Тут же можно указать их допустимый максимальный размер.
Название вкладки «Speed Limits» говорит само за себя. Тут при необходимости устанавливается размер скорости передачи данных, как по входящему каналу, так и по исходящему.
В разделе «Filetransfer compression» можно включить компрессию файлов при их передаче. Это поможет сэкономить трафик. Тут же следует указать максимальный и минимальный уровень компрессии.
В разделе «FTP over TLS settings» настраивается защищенное соединение. Тут же при его наличии следует указать местонахождение ключа.
В последней вкладке из раздела настроек «Autoban» возможно включение автоматической блокировки пользователей, в случае превышения ими предварительно указанного числа неудачных попыток подключения к серверу. Тут же следует указать, какой период времени блокировка будет действовать. Данная функция ставит перед собой цель предотвращения взлома сервера или проведения различных атак на него.
Для того, чтобы настроить пользовательский доступ к серверу, переходим через пункт главного меню Edit в раздел Users. После этого открывается окно управления пользователями.
Чтобы добавить нового участника, нужно нажать на кнопку «ADD».
В открывшемся окне требуется указать имя нового пользователя, а также, при желании, группу, к которой он относится. После того, как данные настройки произведены, жмем на кнопку «OK».
В следующем разделе «Share Folders» назначаем, к каким именно директориям пользователь получит доступ. Для этого нажимаем на кнопку «ADD», и выбираем папки, какие считаем нужными. В этом же разделе есть возможность установить права для данного пользователя на чтение, запись, удаление и изменение папок и файлов указанных директорий.
Во вкладках «Speed Limits» и «IP Filter» можно выставить индивидуальные ограничения скорости и блокировки для конкретного пользователя.
После завершения всех настроек, жмем на кнопку «OK».
Теперь переходим в раздел редактирования настроек групп пользователей.
Тут проводим полностью аналогичные настройки тем, которые выполнялись для отдельных пользователей. Как мы помним, причисление пользователя к конкретной группе производилось на этапе создания его учетной записи.
Как видим, несмотря на кажущуюся сложность, настройки программы FileZilla Server не столь уж заумны. Но, безусловно, для отечественного пользователя определенную трудность будет составлять тот факт, что интерфейс данного приложения полностью англоязычный. Впрочем, если придерживаться пошаговой инструкции данного обзора, то проблем при установке настроек программы у пользователей быть не должно.
Серверы FTP - редкие гости на домашнем компьютере. Но иногда в них возникает необходимость: организовать общий доступ к файлам для компьютеров, которые не получается связать в локальную сеть, «поднять» небольшой веб-сайт с файлохранилищем или домашний медиасервер. Особняком стоят задачи по перепрошивке или восстановлению после «окирпичивания» разнообразной сетевой машинерии, медиапроигрывателей и приставок. Решение этих задач требует овладения принципами работы FTP. Цена неверного решения может оказаться высокой, поэтому важно внимательно подойти к изучению материала.
FTP (File Transfer Protocol) - один из самых старых компьютерных протоколов, который стали использовать для приёма/передачи данных на расстоянии. Серверы с его применением активно использовались задолго до возникновения интернета. В настоящее время протокол модифицирован для использования каналов TCP/IP. Протокол использует архитектуру клиент-сервер, то есть для организации сервера используется одна программа, а для загрузки и скачивания - другая.
Конфигурирование и настройка FTP-сервера средствами Windows 7 - надёжный, но небыстрый способ, требующий большого количества квалифицированных действий. Если вам нужен сервер «на вчера», а возиться с инструкциями и настройками не хочется, то неплохим вариантом будет использование компактной и очень простой программы Golden FTP Server. Она существует в виде бесплатной и профессиональной версий, хотя для бытовых применений будет вполне достаточно первого варианта. Несмотря на скромные размеры дистрибутива, программа обладает рядом достоинств:
После скачивания и установки дистрибутива настройте программу для старта сервера FTP.
Адрес, полученный с помощью Golden FTP Server, доступен только внутри сети. Если вам нужно предоставлять доступ к серверу через интернет, то придётся задавать маршруты и проброс портов через веб-интерфейс роутера.
За простоту использования и настройки вам придётся платить крайне низким уровнем безопасности подобного сервера. Используйте созданные таким способом серверы только в домашней сети, не предоставляя им доступ из интернета.
Уже с древней Windows 98 операционная система стирала границы между «Файловым проводником» и интернет-браузером. Проводник позволял открывать страницы прямо у себя в окне, но это требовало включения ненадёжного на тот момент Active Desktop, поэтому особого распространения в те времена механизм не получил. Технологии не стояли на месте, и сейчас на FTP-сервер можно безопасно зайти, введя его адрес в «Проводнике»:
Не следует закачивать объёмные файлы, поскольку докачку данных при обрыве сессии «Проводник» не поддерживает. Используйте для этого FTP-клиенты с возможностью докачки.
Невозможность получить доступ к серверу FTP может быть обусловлена несколькими причинами, связанными как с настройками самого компьютера, так и с политиками внутри корпоративной сети.
Причина | Возможное решение |
Неправильное имя пользователя или пароль (отсутствие пароля), с которыми осуществляется попытка доступа к ресурсу. | Повторите попытку с правильной парольной парой. Помните, что многие корпоративные ресурсы FTP не поддерживают вход с гостевой записи. |
Доступ осуществляется при помощи сторонней программы, которая не добавлена в список исключений сетевого экрана, и он блокирует исходящие запросы клиента. | Внесите программу-клиент в таблицу исключений брандмауэра. |
Порт 21 TCP/IP, через который по умолчанию осуществляется доступ к FTP-ресурсам, заблокирован настройками маршрутизатора. Как вариант, сервер может быть настроен на работу с другим портом. У администратора ресурса нужно выяснить, с каким именно. | При помощи панели веб-администрирования вашего маршрутизатора измените его настройки, обеспечив возможность работы с 21-м портом или другим портом, который используется сервером. |
Акционный тарифный план вашего интернет-провайдера не позволяет работать с рядом интернет-протоколов, в том числе и FTP. | Позаботьтесь о более дорогом тарифном плане. Многие провайдеры предоставляют возможности, необходимые для запуска FTP-сервера (статический адрес, разрешение на входящие запросы, скрипты) только в дорогих корпоративных тарифах. |
Из сети можно загрузить множество программных пакетов для создания серверов FTP. Но сначала попробуйте сконфигурировать сервер, используя встроенные возможности операционной системы. Интегрированные в дистрибутив инструменты создания веб-серверов доступны в ОС Windows 7 Basic и выше.
Если у вас установлена Windows 7 Home edition или Starter, придётся воспользоваться программными пакетами сторонних разработчиков или обновить операционную систему до версии Windows 7 Basic и выше.
Приведённая инструкция позволит вам шаг за шагом пройти все этапы запуска сервера FTP. В процессе настройки может понадобиться дистрибутив установленной у вас ОС на оптическом носителе или флешке. Также нужно будет авторизоваться в ОС под пользователем с правами администратора.
Для работы с созданным сервером можно использовать один из многочисленных клиентов FTP или просто проводник Windows. Не забудьте настроить в роутере проброс портов и создать маршруты, если требуется обеспечить к серверу доступ через интернет.
Многим пользователям удобнее работать с обычным диском системы, который отображается в проводнике. Сторонние программы для работы с дисками приветствуют не все. Чтобы получить такой диск, нужно смонтировать папку FTP и ассоциировать её с логическим диском. Сделать это можно двумя способами:
К сожалению, FTP-ресурс, смонтированный как сетевой диск при помощи «Проводника», будет виден только в «Проводнике». Если вам нужен доступ к такому диску через файловый менеджер или из командной строки, придётся использовать специальную утилиту ftpuse.
Распространяется ftpuse совершенно бесплатно. После скачивания и установки утилита доступна из любого открытого окна командного процессора. Чтобы сетевой диск оставался подключённым даже после закрытия такого окна, утилиту нужно использовать совместно с программой PowerShell. После установки утилиты она доступна из командной строки или процессора PowerShell.
При помощи утилиты ftpuse вы сможете настроить консольный доступ к FTP-серверу, как к сетевому диску
Процессор PowerShell является частью ОС начиная с Windows 7 SP1. Если у вас не установлен сервис-пак, установочный файл командного процессора придётся загрузить с сайта Microsoft.
devicename | Задаёт имя логического диска, под которым сетевой ресурс будет смонтирован в ОС. |
ftphostname | Задаёт имя или адрес сервера, к которому надо подключиться. |
remotepath | Сетевая папка, которая будет использована корневым каталогом смонтированного логического диска. |
password | Задаёт пароль доступа. |
/user | Имя пользователя, который подключается к серверу. |
/nopassive | Устанавливает активный режим работы. |
/owneraccessonly | Сетевой диск виден только той программе, из которой запущена утилита ftpuse. |
/port | Можно задать произвольный адрес порта TCP, используемый для обмена данными с сервером. По умолчанию это порт 21. |
/hide | Запускает утилиту в фоне, на экран не выводятся никакие сообщения. |
/debug | Работа утилиты в режиме отладки. |
/delete | Удаляет текущую сессию, отключается от сервера и размонтирует диск. |
Приведём несколько примеров использования команд ftpuse для настройки сервера в качестве локального диска:
FTP-ресурс, подключённый при помощи утилиты ftpuse, всегда будет отображаться в проводнике с объёмом диска в один гигабайт. Это не ошибка, а особенность работы утилиты. Впрочем, диск, подключённый средствами проводника, вообще не будет отображать свой объем.
На просторах сети можно загрузить большое количество уже готовых дистрибутивов, которые после распаковки и простой настройки развернут на вашем компьютере готовый FTP-сервер. Есть как коммерческие, так и бесплатные продукты, не уступающие первым в возможностях. Ниже мы рассмотрим два бесплатных решения, давно уже ставших индустриальным стандартом у компьютерных энтузиастов и небольших фирм.
С запуском сервера для нужд малого офиса или многоквартирного дома может справиться даже непрофессионал
FileZilla Server - разработка команды, создавшей знаменитый браузер FireFox. Он отличается огромным количеством настроек, наличием версий для 32-х и 64-битных операционных систем, возможностью удалённого администрирования. И за весь этот спектр возможностей не нужно платить ни копейки. Установка и настройка сервера делятся на несколько несложных этапов. Программа существует на многих платформах, и если вы научились настраивать такой сервер в среде Windows, то с минимальными отличиями сможете сделать то же самое в Linux или MAC OS.
Успешно установив программный пакет сервера, перезагрузите компьютер и запустите программу FireZilla Server.
На этом первоначальная настройка закончена. Сервер готов к эксплуатации, а настройки безопасности соответствуют критериям домашнего пользования или работы небольшой офисной сети.
Среди разновидностей FTP и программ для работы с ними особняком стоит TFTP - это до предела упрощённая версия FTP. Отсутствие механизмов защиты трафика и даже аутентификации пользователя не позволяет использовать TFTP для обмена файлами через интернет.
Зато он как нельзя лучше подходит для заливки прошивок и микропрограмм в маршрутизаторы, приставки цифрового ТВ, планшеты и смартфоны. Загрузчик таких устройств содержит в себе TFTP-клиент, который позволит загрузить и установить в устройство программное обеспечение, даже если оно находится в аварийном режиме из-за повреждённой прошивки.
Основным применением протокола TFTP является прошивка беспроводных маршрутизаторов через консоль восстановления
Установите TFTP-сервер на свой компьютер:
Особых настроек сервер не требует, но после его запуска удостоверьтесь, что все настройки на вкладке TFTP выглядят так, как на картинке. Так выглядят дефолтные настройки утилиты tftpd32
Для скачивания файлов с сервера или для загрузки на сервер через командную строку используются следующие команды:
Чтобы работать с клиентом TFTP в ОС Windows 7, его необходимо установить через диалог «Компоненты системы». В старших версиях ОС клиент доступен без дополнительных действий.
Программы-клиенты выполняют такие функции, как:
Также в программах-клиентах имеется встроенный редактор, позволяющий использовать программу как полноценный конструктор сайтов.
Пожалуй, самый популярный файловый менеджер для ОС Windows. Он содержит встроенный FTP-клиент, который позволяет работать с удалённым сервером как с обычным логическим диском. Программа условно-бесплатная, и до приобретения лицензии она будет постоянно напоминать пользователю, что хорошо бы её уже наконец купить. Функциональность при этом не страдает.
Total Commander имеет встроенный FTP-клиент
Как и Total Commander, эта программа представляет собой многофункциональный двухпанельный файловый менеджер. Она куда более аскетична в оформлении интерфейса (работает в текстовом режиме), зато является кроссплатформенной - доступна для полудюжины различных операционных систем. FTP-клиент встроен в дистрибутив, и работу с сайтами можно начинать без установки дополнений. Несомненным плюсом является бесплатность программы. Активация клиента FTP проводится при помощи менеджера плагинов, но это очень простая и интуитивно понятная процедура, которая не вызовет трудностей даже у начинающего пользователя.
FAR сможет работать с серверами FTP на любых операционных системах
Ещё одна бесплатная программа-клиент от создателей браузеров Mozilla и Firefox. Проста и доступна пользователю благодаря лаконичному интерфейсу и отличной русификации. Существуют версии FireZilla для Windows, Linux, Mac OS и даже Andriod.
FileZilla - FTP-клиент от создателей всемирно известного браузера FireFox
Среди особенностей, отличающих её от программ-конкурентов, следует отметить:
Интерфейс бесплатной программы FTPRush имеет много общего с продуктами Microsoft Office и конфигурируется похожим способом. Из изюминок стоит отметить:
Лучше работать с англоязычной версией интерфейса, поскольку качество русской локализации оставляет желать лучшего.
CoffeCup Free FTP - это клиент для самых нетребовательных и неопытных пользователей, он позволяет скачивать и выгружать файлы буквально одним кликом мыши. Скудность настроек с лихвой компенсируется интуитивно понятным интерфейсом, качественной локализацией и бесплатностью программы. Тем не менее программа поддерживает полноценный двухпанельный режим и возможность передачи файлов с сервера на сервер без предварительной загрузки, а также имеет на борту простой редактор HTML.
С клиентом CoffeeCup Free FTP вам не придётся напрягаться с настройками
Создание FTP-сервера - простой способ получить на рабочем столе файловое хранилище с возможностью множественного доступа. Большое количество программ и относительная простота настройки делают этот способ очень популярным. Выделите один компьютер чисто под сервер и не храните на нём никаких других данных кроме того, что должно лежать на сервере. И даже в этом случае два - три десятка пользователей, одновременно обращающихся к вашему ресурсу могут практически полностью «просадить» интернет-канал. Да и провайдер ненавязчиво предложит изменить тарифный план на корпоративный. Если вам нужно файлохранилище с одновременным доступом большого количества пользователей, то размещайте FTP-сервер на коммерческом хостинге. Или пользуйтесь готовыми порталами-файлообменниками, например, Google Drive или DropBox.
FTP – это сокращенное от английского выражение "File Transfer Protocol", что в переводе обозначает "Протокол Передачи Файлов". Данные файлы хранятся на FTP-серверах, а действия с файлами, хранящимися на FTP-сервере, выполняются при помощи специальных программ, именуемых FTP-клиентами или FTP-менеджерами. Они позволяют скачивать файлы с FTP-сервера, загружать их туда, создавать на нем новые папки и файлы, редактировать их, управлять правами доступа к каталогам сайта и т.д. Таким образом, чтобы работать с веб сайтом по FTP нам нужно подключиться к FTP-серверу при помощи FTP-клиента.
Для этого, в свою очередь, нужно узнать адрес FTP-сервера и выбрать FTP-клиент. Адрес FTP-сервера - это IP адрес или доменное имя вашего сайта, которые можно найти в панели управления вашим хостингом.
По моему мнению лучшими программами FTP-менеджер являются FileZilla и Total Commander. Сегодня разберем программу - FTP-клиент FileZilla.
Скачать FileZilla рекомендую с официального сайта разработчика http://filezilla.ru/. Программа FileZilla доступна в трёх версиях. Версия с инсталлятором, она на сайте разработчика идёт с ремаркой "рекомендуется" - самый лучший и надёжный выбор для начинающего пользователя. Всё что вам нужно – просто скачать файл, запустить его и после этого процесс установки произойдёт без вашего вмешательства. FileZilla имеет удобный и к тому же русифицированный интерфейс, что делает ее идеальным помощником при работе с FTP.
Запускаем скачанный установочный пакет FTP-клиента.
Вам будет предложено принять лицензионное соглашение. Принимаем соглашение нажатием кнопки "I Agree".
Нажимаем кнопку "Next" для продолжения установки.
Указываем путь установки Filezilla FTP Client и снова нажимаем "Next".
Нам предложено создать имя папки для установки, сохраняем по умолчанию Filezilla FTP Client.
Нажимаем " Install" и по окончанию установки "Finish". Программа установлена.
Для подключения к своему сайту по FTP в настройках FileZilla нужно указать адрес FTP-сервера, а также логин и пароль доступа к FTP. После установки открывается окно FTP-менеджера. Для того чтобы настроить подключение FTP-клиента FileZilla к нашему хостингу нажмите на кнопку "Открыть Менеджер Сайтов"
в верхнем левом углу окна.
Для добавления учетных данных вашего FTP-сервера, нажмите кнопку "Новый Сайт" и ведите сюда название сайта.
В случае, если у вас имеется много сайтов разной тематики, то для удобства их можно систематизировать, разложив по папкам. Для этого кликните по кнопке "Новый каталог"
и введите наименование папки. А уже затем нажмите кнопку "Новый Сайт" и ведите название сайта.
После того как в левой колонке выбран сайт (выделите нужный сайт в списке), справа отображаются опции:
"Хост"
- имя или IP-адрес сервера хостинга для подключения. Какой хост указывать можете посмотреть в панели управления хостинга (параметры подключения по FTP) или в технической поддержке хостинга.
"Порт"
- номер порта подключения к серверу, обычно не требует заполнения или же указан в панели управления хостингом.
"Протокол"
- тип используемого протокола подключения: FTP - обычный или SFTP - шифрованный. Обычно подходит просто FTP.
"Шифрование"
- возможность обеспечивать шифрование через TLS (криптографический протокол, обеспечивающий защищённую передачу данных между клиентом и сервером в сети Интернет, аналог SSL). Лучше не включать так как на многих серверах TLS не работает.
"Тип входа"
- существует несколько вариантов: анонимный (для входа никакие данные не указываются), нормальный (указываете Ваш логин и пароль от FTP, самый часто используемый тип входа), запросить пароль (вводится логин, а пароль после этого запрашивается), интерактивный (используется крайне редко), учетная запись (вместе с логином и паролем вводится учетная запись, используется крайне редко).
"Пользователь"
- имя пользователя (логин для подключения по FTP).
"Пароль"
- пароль для подключения по FTP.
"Учетная запись"
- обычно не требуется для ввода.
"Комментарии"
- поле ввода комментариев к добавленному сайту.
Нажмите "ОК" для применения настроек.
Итак, все настройки заданы и теперь можно подключаться к FTP-серверу. Для этого в окне FileZilla достаточно нажать на стрелочку рядом с кнопкой "Открыть Менеджер Сайтов" и выбрать необходимый нам хост (если у вас несколько сайтов).
Программа откроет в левой части список дисков и каталогов вашего компьютера ("Локальный хост"), справа – содержимое FTP-сервера ("Удаленный хост"). Раскрываем список дисков кликом по значку "плюс" и выделяем любую папку, ниже отображается ее содержимое. На FTP-сервере дисков нет, но здесь есть корневые каталоги. Если выделить один из каталогов, то ниже вы увидите его содержимое. Внизу страницы расположена панель текущих заданий - в ней отображается процесс передачи файлов и папок, а также успешные и неудачные передачи. Это удобно при передаче большого количества файлов.
Теперь рассмотрим простые действия с папками и файлами на FTP, которые приходится выполнять каждому владельцу сайта.
Перемещать файлы и папки между вашим компьютером и сервером по FTP можно простым перетягиванием мышки т.е. зажал левой кнопкой мышки необходимый файл или папку, перетянул куда Вам нужно, либо на FTP сервер либо на компьютер, и отпустили левую кнопку мыши. Для перемещения группы файлов и папок нужно выделить несколько файлов удерживая клавишу "ctrl" или "Shift" и кликая левой кнопкой мыши по нужным файлам/ папкам.
Не важно, будете ли вы копировать файл с FTP сервера или на сервер – данный способ работает везде и называется drag-and-drop, что в переводе с латиницы означает «тащи и бросай».
Также можно воспользоваться контекстным меню: следует открыть требуемые папки на вашем компьютере и FTP сервере, выделяем, удерживая "Shift" или "Ctrl", нужные файлы/папки, а затем жмем по ним правой кнопкой мыши и из выпадающего списка выбираем "Скачать" (в случае, если качаем с хоста на компьютер) или же "Закачать на сервер" (в случае, если файлы закачиваются на хост с компьютера).
Все основные действия с файлами и папками на удаленном хосте доступны при помощи контекстного меню, необходимо выделить нужный объект, нажать правую кнопку мыши и выбрать нужный пункт:
Когда удаляете файлы и папки на FTP сервере будьте аккуратны, т.к. там нет привычной Корзины Windows, и информацию невозможно будет восстановить.
Посетителям своего сайта Вы можете разрешить выполнять те или иные действия. Впрочем, настройка прав доступа к файлам и папкам сайта больше относится не к пользователям, а к скриптам и системам управления контентом, которые обеспечивают загрузку пользовательских данных, например изображений, на ваш сайт. Но если не разрешить скрипту доступ к определенному каталогу, то он просто не сможет сохранить туда пользовательский материал и, вместо своего изображения на вашем сайте, посетитель увидит сообщение об ошибке. Это нужно знать и пользоваться в целях обеспечения безопасности сайта, защищая те файлы, которые изменяться не должны.
Очень важно грамотно настроить права доступа к файлам/каталогам своего сайта. Для каждого файла/каталога можно разрешить или запретить чтение, запись и выполнение:
Для того чтобы внести изменения в права доступа к файлу/каталогу с помощью программы Filezilla, найдите его на FTP-сервере и кликните по нему правой кнопкой мыши. В контекстном меню выберите пункт "Права доступа к файлу"
.
Теперь можно изменить атрибуты файла/каталога. Полный доступ предоставляют права с номером "777" - можно или указать число, или отметить галочками. Для того чтобы запретить их, достаточно снять галочки. Для применения настроек нажмите кнопку "ОК".
Отдельно нужно сказать о предоставлении прав доступа к папкам. Можно назначить новые права доступа только к выбранной папке или же еще и файлам с папками, которые находятся внутри этой выбранной папки.
Если в папке, права доступа к которой вы решили изменить, будут находиться файлы или вложенные папки, то здесь следует определится нужно ли перенаправлять к ним устанавливаемые права доступа.
Если Вы поставите в чекбоксе менеджера галочку "Перенаправить во вложенные каталоги" то значение прав доступа, которые вы установите, будут применены ко всем файлам и подкаталогам, которые будет лежать в этом каталоге и к самому каталогу в том числе.
Открывать для редактирования файлы с расширением php, css, html и js
лучше всего в редакторе Notepad++
Чтобы в FTP-клиенте FileZilla открыть на редактирование файл, необходимо его выделить и кликнув правой кнопкой мышки выбрать в выпадающем списке пункт "Просмотр/Правка".
После выбора пункта "Просмотр/Правка",выделенный файл откроется той программой, которая на Вашем компьютере по умолчанию отвечает за данное расширение. Для того, чтобы файлы с вышеуказанными расширениями открывались в именно редакторе Notepad++ необходимо провести определенные настройки, то есть связать программу FileZilla с редактором Notepad++. Для этого в программе FileZilla в верхнем меню выбираем "Редактирование"→ "Настройки"
В правой колонке "Редактор по умолчанию" включаем "Использовать следующий редактор", затем нажимаем обзор и выбираем программу Notepad++ (по умолчанию: C:\Program Files (х86)\Notepad++\notepad++.exe). Жмем кнопку "OK". Теперь при редактирование файлов в программе FileZilla, по умолчанию будет открываться редактор Notepad++.
После того как все необходимые действия через FTP с файлами сайта выполнены, отключитесь от него, нажав кнопку "Отключиться от просматриваемого сервера"
в окне FTP клиента FileZilla.
Как видите, работать с сайтом по FTP, когда на вашем компьютере установлен такой шустрый и удобный FTP-клиент как FileZilla, одно удовольствие.