Почему при входе возникает ошибка «Неправильный логин» («Invalid login»)?
Чаще всего данная проблема связана с неправильно веденным паролем. Если зайти на почту, то в присланном документе от хостера находится следующая информация:
- Данные для входа в панель управления – обычно они совпадают с входом по FTP;
- Данные входа в базу данных MySQL.
Если есть сервер, то информацию авторизации можно при желании поменять. Убедитесь, что вы не меняли имя и пароль для входа на сервер.
Возможно, у вас не получилось связаться с хостом по FTP никакими способами. Попробуйте обратиться в техническую поддержку своего хостинг-провайдера.
Некоторые браузеры могут не поддерживать этот протокол, стоит использовать современные обозреватели, такие как Google Chrome, Mozilla Firefox или Opera.
Как это сделать? 🙁
стоит elastix + asterisk
Испробовал пачку вариантов: externhost=внешний айпи, externip=внешний айпи.
Всё равно провайдер почему-то видит мой локальный айпи адрес, который стучится на их серваки. А дело в том, что у провайдера для безопасности сделана привязка к моему внешнему ip адресу, в итоге нормальной регистрации не получить.
Дело не в сервере, потому как другие линии, у которых нету привязки к айпи, регистрируются нормально.
Вот собственно ошибка:
- Вопрос задан
более трёх лет назад
- 1431 просмотр
21 порт в FTP – это канал команд. Для передачи данных открывается второй канал, причём номер порта генерируется динамически в диапазоне pasv_min_port – pasv_max_port. В зависимости от режима (активный/пассивный) порт открывается на одной из сторон, а вторая сторона к нему подключается. Поэтому для NAT надо либо поддержку UPnP на сервере и маршрутизаторе, либо прокидывать весь диапазон портов.
04 мая 2023, в 05:00
100 руб./за проект
04 мая 2023, в 03:51
10000 руб./за проект
04 мая 2023, в 00:56
25000 руб./за проект
Dragon_KnightСообщения: 581Зарегистрирован: 10 сен 2012, 02:43
Контактная информация:
Меняете диапазон портов, скажем на 65450 – 65499. Этого Вам хватит в головой. В роутере пробрасываете эти порты на свой сервер (TCP:65450 – 65499). В брандмаузере винды разрешаете все входящие соединения на порты TCP:65450 – 65499.
Однако я не вкурсе какие типы для первого параметра есть и что они означают..
Сообщения: 4Зарегистрирован: 10 апр 2014, 20:25
12 апр 2014, 01:06
Dragon_Knight писал(а): 65450 – 65499. Этого хватит в головой.
Вот какая статья меня навела на эти мысли:
ситуация: PASV режим — FTP сервер за NAT
В режиме PASV FTP сервер отвечает клиенту своим внутренним ip адресом и портом, чем обрекает клиента на невозможность подключения.
Решение 1. Настройка NAT за слежением соединений FTP для передачи данных. Когда сервер отправляет ответ в пассивном режиме, NAT устройство должно переписывать внутренний адрес сервера и заменять его внешним адресом устройства. Тогда соединение для передачи данных с FTP клиента, поступив на внешний адрес NAT устройства, будет проброшено им на внутренний адрес FTP сервера за NAT.
Повторю в активном режиме я получаю доступ к серверу проблем нет, а вот в пассивном режим клиент не может прочитать каталоги с сервера и выдает об этом ошибку.
12 апр 2014, 01:09
Попробуйте в конфиге в “Custom PASV IP” прописать свой внешний IP. Если не получиться, поиграйте с параметром “Custom PASV IP type”, указывая там по очереди 1, 2, 3 (Я не нашёл полное описание режимов и за что каждый отвечает). Я думаю дело в том, что ссылка в “Custom PASV IP server” ведёт на определялку IP, но определяет она не верно..
12 апр 2014, 03:18
Максим, отвечу за ТС.
Таки активный режим будет работать только в случае если у клиента есть внешний IP, а в 99% случаев IP серый.
12 апр 2014, 11:30
Этот метод помог! прописал свой внешний IP и установил параметр 1 всё заработало!!! спасибо огромное!
Добавлено спустя 40 минут 11 секунд:
Подитожу:
п.с. мне это надо было т.к. браузеры работают с ftp серверами в пассивном режиме.
lp85dСообщения: 34Зарегистрирован: 08 дек 2015, 04:26
FTP сервер Не виден с внешней сети! HELP!
20 сен 2022, 20:00
Вот именно у меня проблема оказалась в настройках роутера AX1800 Wi-Fi 6 Router
Версия встроенного ПО: 1.3.5 Build 20211231 rel.53949(4555)
Аппаратная версия: Archer AX20 v1.0
Всего лишь надо было вырубить все галки на вкладке USB-устройство хранения данных
Пробросить порт 21 и готово, теперь и из внешней сети входит без проблем!
20 сен 2022, 20:26
lp85d писал(а): ↑20 сен 2022, 20:00
Вот именно у меня проблема оказалась в настройках роутера AX1800 Wi-Fi 6 Router
Версия встроенного ПО: 1.3.5 Build 20211231 rel.53949(4555)
Аппаратная версия: Archer AX20 v1.0
Причём тут FTP сервер встроенный в роутер и OpenServer – непонятно.
Ровно как и не понятно зачем поднимать тему 8-летней давности.
Общие сведения
В этом разделе будет кратко рассмотрена история и технические сведения, касающиеся протокола FTP. Для получения подробной информации смотрите спецификации.
Исторические сведения
На фоне быстро развивающейся сети Интернет протокол FTP выглядит не просто старым, а действительно архаичным. Ранние черновые спецификации протокола датируются 1971-ым годом, составление текущей спецификации начато в 1985-ом. На протяжении последних двух десятилетий протокол не менялся в своей основе.
В те времена сетью Интернет пользовались в основном университеты и исследовательские центры. Сообщество пользователей было небольшим, большинство из них знали друг друга и все работали сообща. Интернет был дружелюбной сетью, а проблемы безопасности как таковой не стояло.
Те времена прошли и многое изменилось. Технологический прогресс шел быстрее, чем кто-либо мог себе представить, одновременно выросло новое поколение пользователей. Интернет теперь — повсеместное явление, благодаря которому миллионы людей общаются друг с другом множеством разных способов. Главное ощутимое изменение: Интернет стал враждебным. Доступность и открытость сети привлекла злонамеренных пользователей, активно эксплуатирующих ошибки и неопытность других.
Побочным эффектом такого развития событий стали, следующие явления:
В большинстве случаев эти явления конфликтуют с работой протокола. Ситуацию ухудшают недоработки в самих роутерах и файрволах.
Тем не менее, при правильной настройке FTP предлагает надежный и опробованный способ передачи файлов.
Технические сведения
Основные отличие FTP от остальных протоколов — использование вторичных подключений для передачи файлов. При подключении к FTP-серверу создается т.н. контрольное подключение, через которое передаются команды протокола и ответы на эти команды. Для того, чтобы передать файл или листинг директории, клиент должен отослать команды через контрольное подключение, после чего будет создано подключение для передачи данных.
Существует два способа создания этого подключения: активный и пассивный режимы.
В пассивном режиме, который является рекомендуемым, клиент отсылает серверу команду PASV, на которую сервер отвечает адресом. После этого клиент отсылает команду для передачи файла или листинга директории и создает вторичное подключение по адресу, который был получен от сервера.
В активном режиме клиент открывает сокет на локальном устройстве и отсылает серверу адрес сокета с помощью команды PORT. После отсылки команды передачи файла или листинга сервер создает подключение по заданному адресу, который был указан клиентом.
В обоих случаях файл/листинг будут переданы через подключение для передачи данных.
Создание исходящих подключений требует задания меньшего количества параметров для роутеров/файрволов, чем создание входящих подключений. В пассивном режиме, подключение является исходящим от клиента и входящим для сервера. В активном режиме клиент и сервер меняются ролями — входящее подключение для клиента и исходящее для сервера.
Примите во внимание, что разница состоит только в порядке подключения, после создания подключения для передачи данных, данные могут как загружаться, так и выгружаться.
Типичная сетевая конфигурация может выглядеть так:

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

- Если клиент не расположен внутри NAT, подключение будет разорвано, т.к. адрес сервера не является действительным.
- Если клиент расположен внутри NAT, адрес сервера может совпадать с адресом устройства в сети самого клиента.
Очевидно, в обоих случаях пассивный режим не сработает.
Файрволы
Предназначением персонального файрвола является защита пользователя от уязвимости в безопасности операционной системы или используемых приложений. Зловредные приложения, к примеру, черви, часто используют эти уязвимости для заражения вашей системы через сеть. Файрволы помогают избежать таких случаев.
В особенности при использовании FTP пользователи файрвола могут получать такие сообщения:
Почти во всех случаев такое сообщение — ложная тревога. Любое приложение может выбрать любой порт для сообщения через интернет. Может случиться так, что FileZilla выберет порт, случайно являющийся портом по умолчанию для трояна или другой зловредной программы. Дистрибутив FileZilla скачанный с официального сайта не содержит вирусов.
Умные роутеры, файрволы, и саботаж данных
Некоторые роутеры или файрволы достаточно умны. Они анализируют подключения и при обнаружении FTP-подключения бесшумно подменяют данные передающиеся между клиентом и сервером. Такое поведение является саботажем данных и может доставить неприятности, если пользователь не разрешил такое поведение явным образом.
Эта команда указывает серверу на подключение по адресу 10.0.0.1 на порту 12*256+34 = 3106
Эта команда указывает серверу на подключение по адресу 123.123.123.123 на порту 24*256+55 = 6199
Благодаря такому поведению NAT-роутер позволяет неправильно настроенному клиенту использовать активный режим.
Почему такое поведение не является приемлемым? Если эта возможность используется по умолчанию, без согласия пользователя, из этого следует множество проблем. FTP-подключение в своей основе будет работать, но сразу после исчерпания тривиальных случаев использования передача будет разорвана, не оставляя особых средств диагностики проблемы.
- NAT-роутер слепо предполагает, что некоторые подключения принадлежат FTP основываясь на таких данных, как целевые порты или ответы сервера: Нет никакой гарантии относительно используемого протокола, несмотря на автоматическое определение (такие случаи называют ложной тревогой). Хоть это и маловероятно, вполне допустимо, что в будущих версиях протокола FTP синтаксис команды PORT может измениться. NAT-роутер, модифицируя команду PORT, изменяет без ведома пользователя параметры, которые он не поддерживает, из-за чего соединение будет разорвано.Определение протокола роутером может не распознать FTP. Предположим, что роутер следит только за целевым портом, а если этот порт 21-ый, он будет распознан как FTP. Подключения в активном режиме от неправильно настроенного клиента к серверу на 21-ом порту будут работать, но подключения к другим серверам на нестандартных портах — нет.
- Нет никакой гарантии относительно используемого протокола, несмотря на автоматическое определение (такие случаи называют ложной тревогой). Хоть это и маловероятно, вполне допустимо, что в будущих версиях протокола FTP синтаксис команды PORT может измениться. NAT-роутер, модифицируя команду PORT, изменяет без ведома пользователя параметры, которые он не поддерживает, из-за чего соединение будет разорвано.
- Определение протокола роутером может не распознать FTP. Предположим, что роутер следит только за целевым портом, а если этот порт 21-ый, он будет распознан как FTP. Подключения в активном режиме от неправильно настроенного клиента к серверу на 21-ом порту будут работать, но подключения к другим серверам на нестандартных портах — нет.
- Очевидно, что NAT-роутер не сможет модифицировать подключение, если FTP-сессия зашифрована, оставляя пользователя в недоумении, т.к. работать будут только незашифрованные подключения.
- Предположим, что клиент за NAT-роутером отсылает «PORT 10,0,0,1,12,34». Каким образом NAT-роутер осведомлен в том, что клиент настроен неправильно? Также возможен случай с правильно настроенным клиентом, который инициирует FXP (сервер-сервер) передачу между сервером, к которому он подключен и устройством, которое находится в локальной сети сервера.
Как мы видим, возможности специфические для протоколов, включенные на NAT-роутере по умолчанию могут вызвать множество проблем. Хороший NAT-роутер всегда и полностью работает с протоколом без информации о самом протоколе. Исключением может быть случай, когда пользователь явно применил эту возможность и осознает все возможные последствия.
В этом подразделе мы рассматривали сочетание NAT-роутера на стороне клиента в активном режиме, те же рассуждения применяются и в случае сервера за NAT и ответами на команду PASV.
Как настроить FileZilla на Windows и подключиться к серверу (хостингу) по FTP
Для передачи данных между компьютерами используются различные протоколы. Чтобы подключаться к серверу, где хранятся данные вашего сайта и работать с ними обычно используют протокол передачи данных FTP. Чтобы реализовать эту возможность, пользуются специальными клиентами, одним из которых является FileZilla.
FTP-клиент FileZilla Вы можете загрузить с нашего сайта. Он является одним из популярных программ, поддерживающих все операционные системы и защищенное соединение. В FileZilla оно называется FTPS – защита при помощи SSL или TLS, либо SFTP – расширение протокола SSH.
Для входа по FTPS используется соединение SSH, где вместо имени сервера указывают домен, а еще имя пользователя и пароль.
Иногда соединение можно запретить. Для этого входим в панель управления сервера или хостинга и в разделе FTP закрываем доступ.
Настройка клиента FileZilla
Если вы пользуетесь FileZilla 3, мы рекомендуем запустить мастер настройки сети. С помощью мастера вы пройдете все нужные шаги, а после их завершения у вас будет возможность протестировать вашу конфигурацию.
Очевидно, что для подключения к любому серверу ваш файрвол должен разрешить такие действия для FileZilla. Большинство обычных FTP-серверов используют 21-ый порт, SFTP-серверы — 22-ой, а FTP через SSL/TLS (неявный режим) по умолчанию — 990-ый. Номера портов не являются жестко заданными, поэтому лучше всего разрешить исходящие подключения на любой порт.
Т.к. в интернете достаточно неправильно настроенных серверов, или серверов, которые не поддерживают оба режима передачи, вам рекомендуются оба режима передачи на своей стороне.
Пассивный режим
Клиент не может указывать серверу выбор порта для передачи данных в пассивном режиме, поэтому для использования пассивного режима вам нужно разрешить исходящие подключения по любому порту на своем компьютере.
Активный режим
В активном режиме клиент открывает сокет и ожидает от сервера подключения для передачи.
Если вы не уверены в своем выборе, используйте второй вариант.
Если вы не хотите разрешать входящие соединения на всех портах, или ваш компьютер расположен за NAT-роутером, укажите FileZilla использовать определенный диапазон портов для соединений в активном режиме. Этот диапазон также нужно будет открыть для вашего файрвола. При наличии NAT-роутера вам нужно перебросить эти порты на локальный компьютер, на котором установлен FileZilla. Вы можете перебросить диапазон портов, или же каждый порт по отдельности, это зависит от модели вашего роутера.
Доступные порты находятся в диапазоне от 1 до 65535, порты ниже 1024-го зарезервированы для остальных протоколов. Для активного режима FTP лучшим выбором является номер порта равный или выше 50000. В связи с устройством протокола TCP (протокол, который находится ниже уровня FTP и используется для передачи данных), порт не может быть использован повторно сразу после каждого подключения. Таким образом, диапазон портов не должен быть слишком узким, в противном случае вы не сможете передать много файлов малого размера. В большинстве случаев достаточно диапазона в 50 портов.

Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Особенности работы протокола FTP

Протокол FTP применяется давно и на первый взгляд предельно прост. Однако эта простота кажущаяся и многие начинают испытывать проблемы с установлением FTP-соединения, особенно когда сервер или клиент находятся за брандмауэром или NAT’ом. Поэтому сегодня мы поговорим об особенностях работы протокола FTP в различных режимах.
Протокол FTP является старейшим сетевым протоколом (создан в 1971 году), но, тем не менее, широко используется по сей день. Важной особенностью протокола является то, что он использует несколько соединений: одно для управляющих команд, остальные для данных. Причем соединений для передачи данных может открываться несколько, в каждом из которых файлы могут передаваться в обоих направлениях. Именно с этой особенностью и связан ряд проблем.
В зависимости от способа установления соединения для передачи данных различают активный и пассивный режимы работы FTP. В активном режиме сервер сам устанавливает соединение передачи данных к клиенту, в пассивном наоборот. Рассмотрим эти режимы более подробно.
![]()
В активном режиме клиент устанавливает управляющее соединение на порт 21 сервера и передает специальную команду PORT, в которой указывает свой адрес и порт для передачи данных. Получив данную команду, сервер устанавливает соединение с 20 порта на указанный в команде порт клиента.
![]()
Для установления соединения в пассивном режиме клиент передает серверу команду PASV. В ответ сервер передает адрес и порт, на который следует устанавливать соединение для передачи данных. Получив эту информацию, клиент устанавливает подключение к серверу и начинает передачу данных.
Проблема брандмауэра
В активном режиме основная проблема возникает у клиента. Если брандмауэр настроен отбрасывать не инициированные изнутри входящие соединения, то сервер не сможет установить соединение для передачи данных. А так как порт для данных является динамическим, то возникают определенные сложности с настройкой брандмауэра. Наиболее правильным будет указать в клиенте диапазон используемых портов и создать для них разрешающее правило брандмауэра.
В пассивном режиме с такой проблемой может столкнуться сервер. Решение аналогичное: указываем в настройках сервера используемый диапазон портов и создаем для него разрешающее правило.
Проблема NAT
На первый взгляд может показаться, что для нормальной работы FTP-сервера через NAT требуется только правильно настроить форвардинг портов. Однако это не так. Если вы внимательно читали про работу протокола в начале статьи, то должны были запомнить, что в зависимости от режима сервер или клиент передают адрес и порт для соединения. А теперь задумаемся, какой адрес передаст сервер, находящийся за NAT? Правильно, внутренний и, несмотря на правильный проброс портов, клиент не сможет подключиться к такому серверу.
К счастью, большинство современных реализаций NAT умеют отслеживать управляющий канал FTP-соединения и заменяют внутренний адрес сервера адресом внешнего интерфейса. Однако, несмотря на это большинство FTP-серверов имеют опцию, позволяющую указать адрес внешнего интерфейса, который следует указывать в командах управляющей сессии.
![]()
В большинстве случаев для нормальной работы FTP-сервера за NAT достаточно будет пробросить 21 порт для управляющей сессии, 20 — для активного режима (если используется), а также указать и пробросить диапазон динамических портов для передачи данных.
Еще один важный момент, если вы пробрасываете порты для нескольких FTP-северов, то на каждом из них следует указать свой диапазон динамических портов и пробросить на эти же номера портов внешнего интерфейса. Почему? Потому что номер порта передается сервером в управляющей команде и ничего не знает о форвардинге, если номер порта, переданный сервером, не совпадет с номером порта на внешнем интерфейсе, то клиент не сможет установить соединение. В то время как управляющий порт и порт активного режима можно форвардить на любые внешние порты.
Надеемся, что данная статья поможет вам лучше понять механизм работы протокола FTP и осознанно подойти к процессу настройки и диагностики.
Настройка сервера FileZilla под Windows Firewall
Если вы испытываете проблемы при настройке сервера FileZilla при работающем Windows Firewall (в особенности, если клиент, подключающийся к такому серверу получает сообщение об ошибке «Невозможно получить листинг директории»), вам нужно добавить сервер FileZilla в список исключений Windows Firewall. Для этого вам нужно сделать следующие шаги:
- Откройте Windows Firewall из Панели Управления
- Если вы пользуетесь Vista, нажмите «Изменить настройки»
- Выберите вкладку «Исключения»
- Нажмите «Добавить программу..»
- НЕ выбирайте «интерфейс сервера FileZilla» из списка, вам нужно нажать на «Просмотр. «
- Найдите установочную директорию сервера FileZilla (обычно это «C:Program FilesFileZilla Server»)
- Выберите «FileZilla server.exe» и нажмите открыть (повторим еще раз, НЕ ВЫБИРАЙТЕ «FileZilla Server Interface.exe»)
- Выберите «FileZilla server.exe» из списка и нажмите «Ok»
- Удостоверьтесь в том, что «FileZilla server.exe» находится в списке исключений и отметьте соответствующий пункт
- Нажмите «Ok» для закрытия окна
Это обеспечивает работу пассивного режима. Если после этого вы все равно испытываете проблемы при подключении (внутри или извне сети), проверьте настройки вашего роутера или попробуйте добавить номер порта в настройках Windows Firewall во вкладке «Исключения».
Как подключиться к сайту с помощью FileZilla
Откройте программу FileZilla. Весь интерфейс на русском языке, поэтому проблем возникнуть не должно. Для получения доступа к каталогам и файлам хостинга или сервера сайта необходимо ввести данные, которые обычно присылаются на почту хостером. Вот, как нужно поступить в данном случае:
- В программе нажимаем кнопку «Файл» и переходим в раздел «Менеджер сайтов»;
- Нажимаем по кнопке «Новый сайт»;
- Справа вводим данные для подключения: Хост – адрес или имя сервера;Порт – обычно 21;Протокол – FTP или SFTP;Шифрование – выбираем по ситуации;Тип входа – Нормальный;Пользователь – имя пользователя пришло вам на почту от хостинг-провайдера;Пароль – пароль также находится в письме, пришедшее от хостера.
- Хост – адрес или имя сервера;
- Порт – обычно 21;
- Протокол – FTP или SFTP;
- Шифрование – выбираем по ситуации;
- Тип входа – Нормальный;
- Пользователь – имя пользователя пришло вам на почту от хостинг-провайдера;
- Пароль – пароль также находится в письме, пришедшее от хостера.
- Чтобы подключиться к веб-серверу нужно нажать кнопку «Соединиться».

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

Теперь с файлами можно полноценно работать.
Настройка сети
Настройка FTP является довольно сложной задачей. Т.к. существуют тысячи разных файрволов и моделей роутеров, практически невозможно привести полное пошаговое руководство для каждого пользователя. Пользователь должен понимать основы протокола FTP для того, чтобы настроить FileZilla и роутеры/файрволы через которые происходит подключение. В этой статье приведена краткая история развития протокола FTP и принципы работы некоторых его аспектов. Внимательное прочтение этой статьи предотвратит многие проблемы, которые могут возникнуть при настройке FTP-подключения.
Протокол передачи файлов, впервые стандартизированный в начале 1970-х годов, относится к протоколам прикладного уровня и для передачи данных использует транспортный протокол TCP. FTP был разработан во времена, когда клиенты и серверы взаимодействовали друг с другом напрямую, без посредников и с минимальным количеством препятствий.
Проблемы FTP в современных сетях
В современных сетях (NAT, брандмауэр, балансировщик нагрузки) следующие особенности FTP не позволяют ему нормально работать:
- Два отдельных соединения TCP / IP: для передачи данных и для передачи команд;
- Соединение для передачи данных может быть установлено на случайном номере порта;
- Соединение для передачи данных может исходить как от сервера к клиенту, так и от клиента к серверу;
- Адрес назначения соединения для передачи данных (выбор режима работы) согласовывается на лету между клиентом и сервером через соединение для передачи команд;
- Соединение для передачи команд находится в режиме ожидания, пока происходит передача данных через соединение для передачи данных.
Проблема 1 вызвана тем, что маршрутизирующее устройство или балансировщик должно поддерживать два соединения между одними и теми же источником и приемником.
Проблема 2 вызвана тем, что FTP не может работать в том случае, если входящие порты жестко ограничены только определенно известными. Т.е. в обычном режиме FTP не может работать только при открытом 21 входящем порте, используемым соединением для передачи команд, ему также необходим набор открытых портов высокого значения (49152-65534) для передачи данных.
Проблема 4 вызвана тем, что при использовании NAT, ему нужно на лету изменять содержимое пакетов соединения для передачи команд, для того чтобы внутренний адрес сервера заменялся внешним, а также перенаправлять приходящие на внешний адрес пакеты на внутренний адрес сервера.
Проблема 5 вызвана тем, что маршрутизирующие устройства могут прерывать «зависшие» соединения для передачи команд.
Два режима передачи данных в FTP
FTP поддерживает два режима работы: активный и пассивный. Они различаются механизмом установления соединения для передачи данных:
- В активном режиме сервер подключается со своего 20-го порта на оговоренный порт клиента.
- В пассивном режиме клиент подключается со своего случайного порта на оговоренный порт сервера.
Таким образом, все современные FTP-клиенты обговаривают с сервером то, от кого данные передаются и кто инициирует соединение. Клиент может указать использование активного режима, послав команду «PORT», которая сообщит серверу, что нужно подключиться на определенный IP и порт клиента, и начать отправку данных. Или клиент может использовать пассивный режим, послав команду “PASV” серверу, которая сообщит серверу, что клиент ожидает IP и порт сервера для начала приема данных.
Поскольку клиент изначально подключается к серверу для установления соединения для передачи команд, было бы логичным, если бы соединение для передачи данных устанавливал так же клиент, т.е. отправлял команду PASV (одновременно устраняя проблему между FTP и брандмауэром). Однако это не так, создатели спецификации FTP почему-то решили, что предпочитаемым режимом должен быть PORT, а поддержка PASV на стороне клиента даже необязательна.
Пример сессий с использованием активного и пассивного режимов передачи данных
Пример активного режима, где клиент подключается анонимно и совершает одну активную передачу данных (просмотр директории).
Частные проблемы
PORT режим — FTP клиент за NAT или брандмауэром
Наибольшая проблема, с которой сталкиваются клиенты FTP, использующие активный режим – сервер должен сам подключаться на клиентский ip адрес. Если на его пути будет стоять брандмауэр, отсекающий все входящие подключения, сессия FTP не состоится. Другая проблема — если клиент находится за NAT и использует внутренний ip адрес. Сообщив свой внутренний адрес серверу, клиент обрекает его на невозможность подключения.
Решение 1. Клиент FTP должен быть настроен на использование пассивного режима.
Решение 2. Настройка NAT за слежением соединений FTP. Когда клиент использует активный режим, NAT устройство должно переписывать внутренний адрес клиента и заменять его внешним адресом устройства. Тогда соединение, для передачи данных с FTP сервера поступив на внешний адрес NAT устройства, будет проброшено им на внутренний адрес FTP клиента за NAT.
PASV режим — FTP сервер за брандмауэром
Когда FTP сервер находится за брандмауэром, клиенты будут испытывать проблемы, используя пассивный режим для подключения к эфемерному порту FTP сервера. Наиболее частая проблема, когда брандмауэр, за которым находится FTP сервер, пропускает только ряд подключений на известные порты и блокирует прочие.
Решение 1. Администратор может открыть группу портов на брандмауэре, через которые может происходить соединение с FTP сервером.
Решение 2. Если есть поддержка со стороны брандмауэра, администратор может настроить так, чтобы порты автоматически открывались для установления пассивного соединения с FTP сервером. Эта настройка схоже с той, что была описана для активного клиента, находящегося за NAT. Таким образом, когда брандмауэр отслеживает ответ FTP сервера на пассивный запрос клиента, он временно открывает порт, указанный в ответе, и только для того IP, с которого исходил пассивный запрос.
PASV режим — FTP сервер за балансировщиком нагрузки
Балансировщик представляет собой один ip адрес, подключение к которому будет перенаправляться на один из балансируемых серверов. Балансировщик представляет две проблемы для FTP. Первая происходит из-за того, что между FTP сервером и клиентом устанавливается несколько соединений: одно для передачи команд и одно или несколько для передачи данных. При пассивном режиме балансировщик должен перенаправлять соединение для передачи данных на тот же сервер, что и соединение для передачи команд. Вторая проблема является следствием первой: когда FTP сервер отвечает пассивным ответом, этот ответ будет содержать внутренний адрес FTP сервера, а не внешний адрес балансировщика.
Решение 1. Каждому FTP серверу за балансировщиком присвоить легитимный ip адрес, доступный извне. В этом случае FTP сервер будет способен самостоятельно обслуживать FTP клиентов в пассивном режиме, минуя балансировщик.
Решение 2. Настройка балансировщика за слежением соединений FTP для передачи данных. Когда сервер отправляет ответ в пассивном режиме, балансировщик должен переписывать внутренний адрес сервера и заменять его внешним адресом балансировщика. Тогда соединение для передачи данных с FTP клиента, поступив на внешний адрес балансировщика, будет проброшено им на внутренний адрес FTP сервера за балансировщиком.
Решение 3. Настроить FTP сервер так, чтобы его ответы в пассивном режиме содержали внешний адрес балансировщика, а не сервера и надеется, что балансировщик перенаправит соединение на ожидающий сервер.
Неразрешимая проблема — брандмауэры на обоих концах
Когда клиент и сервер находятся оба за брандмауэрами, ограничивающими все входящие подключения, кроме группы известных портов, начинаются проблемы. Клиент не может использовать активный режим, т.к. сервер не сможет подключиться к нему, и не может использовать пассивный режим, т.к. не подключиться к FTP серверу. В таком случае нужно изменять настройки брандмауэра и лучше это делать на стороне сервера.
FTP сервер на нестандартном порте
Некоторые маршрутизирующие устройства способны обрабатывать FTP сессии, только если они поступают на стандартный порт сервера. Поэтому если FTP сервер слушает на нестандартном порте, нужно настраивать маршрутизирующее устройство, так чтобы оно знало, что за этим портом сидит FTP сервер и корректно обрабатывало соединения.
Но даже в этом случае брандмауэр на стороне клиента может помешать. Это может произойти, если брандмауэр на стороне клиента жестко требует, чтобы FTP соединение для передачи данных от FTP сервера исходило с 20 порта (в активном режиме). Если же сервер FTP работает на порту N, то по спецификации FTP его соединения для передачи данных будут исходить с порта N – 1 и блокироваться брандмауэром клиента.
Проблемы, вызванные брандмауэрами преждевременно завершающими FTP сессию
Данная проблема наиболее часто встречается при передаче большого файла. Когда параметры соединения согласовались, и передача началась, соединение для передачи команд начнет простаивать до тех пор, пока передача файла не завершится. Если маршрутизирующее устройство не знает о FTP, и передача файла займет дольше времени, чем счетчик активности подключения на нем, соединение с точки зрения маршрутизирующего устройства превысит время ожидания и будет завершено, а входящие пакеты будут отброшены.
Решением данной проблемы является устройство, поддерживающее соединение для передачи команд в активном состоянии даже не смотря на то, что по нему долго не передавались пакеты. Другой вариант — включение функции “Keep Alive” в стеке протокола TCP/IP на стороне клиента или сервера, которая отправляет пакет проверки доступности через определенные интервалы времени, и если сторона назначения не отвечает — закрывает нормально соединение. Если же принимающая сторона ответит, то соединение со стороны брандмауэра будет считаться активным.
- Использовать пассивный режим, когда возможно (в веб-браузерах используется по умолчанию)
- Если подключение к FTP серверу прошло удачно, но просмотр директорий или передача файлов заканчиваются обрывом соединения, скорее всего проблема в таймерах активности подключения на брандмауэре
- Используйте устройства, поддерживающие особенности работы FTP
Настройка FTP-клиента Filezilla
После установки и запуска программы, необходимо выбрать пункт Менеджер сайтов в меню Файл:

Потребуется нажать Новый сайт, также придумать и ввести имя профиля:


На данный момент, для корректной передачи кириллицы требуется ещё одно действие — принудительное указание кодировки UTF-8 на вкладке Кодировка:

После нажатия кнопки OK, профиль будет сохранён. Чтобы подключиться, нужно нажать на стрелку вниз под меню Файл и выбрать имя профиля (в примере — vh20.sweb.ru).


После подключения, локальные папки будут видны слева, а содержимое аккаунта на сервере — справа. Файлы сайта необходимо загружать в папку public_html (папка public_html первого сайта по умолчанию находится в корневой папке аккаунта, а public_html последующих сайтов обычно располагаются в подпапках).
Файлы можно загружать простым перетаскиванием их из левой панели в правую.
Что делать, если файл не загружается на хостинг или загрузился пустой
Обычно это связано с превышением квоты дискового пространства – определённой объем накопителя, выделяемый для каждого пользователя. Узнать, превышена ли квота можно в панели управления хостером или сервером. В случае подтверждения данной теории придется повысить характеристики тарифа, а именно свободное пространство на жёстком диске или SSD.
Если невозможно создать каталог, тогда убедитесь, что название не кириллическое.
При загрузке файлов, бывают случаи, что они слишком много весят, поэтому закачка не проходит в нормальном режиме. Загружать файлы стоит небольшого размера.
Какие же действия можно совершить с данными в FileZilla?
- Доступно создание каталогов и файлов на сервере;
- Можно удалять, переименовывать и перемещать по различным каталогам файлы.
- Есть возможность задать права доступа.
- В каталогах можно задавать атрибуты файла, это тоже самое, что и права доступа.
- Скачанные файлы можно заново закачивать на хост путем перетаскивания файла в окошко программы.

Настройка и тестирование сервера FileZilla
Настройка сервера по большей части повторяет настройку клиента, главным отличием является то, что в случае сервера активный и пассивный режимы меняются ролями.
- Роутер заблокирует доступ к своему внешнему адресу изнутри локальной сети как возможную атаку
- Роутер перебросит соединение вашему провайдеру, который заблокирует его как возможную атаку.
Даже если вам удалось подключиться, у вас нет никакой гарантии того, что пользователю из внешней сети удастся это сделать и, кроме того, загружать файлы на ваш сервер. Единственное надежное средство проверки работы сервера — подключение извне вашей локальной сети.
Убедитесь, что серверу FileZilla разрешено создавать исходящие подключения по любому порту, т.к. в этом режиме клиент определяет порт для соединения.
На локальной стороне подключения сервер FileZilla пытается использовать порт со значением на единицу ниже, чем у порта для контрольного соединения (к примеру, порт 20, если сервер принимает соединения на порту 21). Тем не менее, это не всегда возможно, поэтому не следует всегда полагаться на эту особенность.
Настройка сервера в этом случае практически повторяет настройку клиента в активном режиме.
В пассивном режиме сервер открывает сокет и ожидает соединения от клиента.
Если вы не хотите разрешать входящие соединения на всех портах, или ваш компьютер расположен за NAT-роутером, укажите серверу FileZilla использовать определенный диапазон портов для соединений в активном режиме. Этот диапазон также нужно будет открыть для вашего файрвола. При наличии NAT-роутера вам нужно перебросить эти порты на локальный компьютер, на котором установлен сервер FileZilla. Вы можете перебросить диапазон портов, или же каждый порт по отдельности, это зависит от модели вашего роутера.

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




