How do I turn on passive mode for FileZilla?
If you encounter problems using FileZilla, it is possible that a firewall on your computer or network is interfering with the connection. Changing the “transfer mode” in the FileZilla settings will usually solve this.
On this page:
Enabling passive mode
In most cases, you should be using “passive mode” to avoid network problems.
These instructions explain how to turn on passive mode for FileZilla (version 3.1.6) for Windows, although other versions are similar:
- Start the FileZilla program if it isn’t already running.
- Select Connections, then FTP on the left hand side.
- Choose the Passive (recommended) option.
It should look like this:
After you’ve made the changes, click OK to close the window, then try to connect and see if it has solved the problem.
Choosing active mode instead
Although it’s very rare, we’ve also heard of a situation where you need to use “active mode” instead of passive mode. In particular, you may need to do this if you see a “Software caused connection abort” error message.
What if it still doesn’t work?
We occasionally hear from customers who are using firewalls that prevent FTP in either mode.
In most cases, using the slightly more complicated SFTP instead will work, because it avoids all firewall problems.
Background
This section provides an overview of the historical and technical background of the FTP protocol. For detailed in-depth information see specifications.
In the fast living world of the internet, the File Transfer Protocol is not just old, it’s ancient. Early drafts of the protocol go back as far as 1971, and the current specifications are from 1985. The protocol might even be older than you!
Several attempts have been made to address these problems:
Unfortunately, both NAT and personal firewalls conflict with FTP more often than not. To make things worse, some are themselves flawed, causing additional problems regarding FTP.
What distinguishes FTP from most other protocols is the use of secondary connections for file transfers. When you connect to an FTP server, you are actually making two connections. First, the so-called control connection is established, over which FTP commands and their replies are transferred. Then, in order to transfer a file or a directory listing, the client sends a particular command over the control connection to establish the data connection.
The data connection can be established two different ways, using active mode or passive mode.
In passive mode, which is recommended (see below), the client sends the PASV command to the server, and the server responds with an address. The client then issues a command to transfer a file or to get a directory listing, and establishes a secondary connection to the address returned by the server.
In active mode, the client opens a socket on the local machine and tells its address to the server using the PORT command. Once the client issues a command to transfer a file or listing, the server will connect to the address provided by the client.
In both cases, the actual file or listing is then transferred over the data connection.
Generally, establishing outgoing connections requires less configuration on the routers/firewalls involved than establishing incoming connections. In passive mode, the connection is outgoing on the client side and incoming on the server side and in active mode this is reversed.
Note that the only differences are in establishing a connection. Once established, the connection can be used for uploads or downloads.
A common network setup might look like this:

In passive mode, the router and firewall on the server side need to be configured to accept and forward incoming connections. On the client side, however, only outgoing connections need to be allowed (which will already be the case most of the time).
Analogously, in active mode, the router and firewall on the client side need to be configured to accept and forward incoming connections. Only outgoing connections have to be allowed on the server side.
An example system might look like this:

The internal IP addresses are only valid inside the LAN, since they would make little sense to a remote system. Think about a server behind a NAT router. Imagine what might happen if a client requests passive mode, but the server doesn’t know the external IP address of the NAT router. If the server sends its internal address to the client, two things could happen:
- If the client is not behind a NAT, the client would abort since the address is invalid.
- If the client is behind a NAT, the address given by the server might be the same as a system in the client’s own LAN.
Obviously, in both cases passive mode would be impossible.
So if a server is behind a NAT router, it needs to know the external IP address of the router in passive mode. In this case, the server sends the router’s external address to the client. The client then establishes a connection to the NAT router, which in turn routes the connection to the server.
Malicious routers, firewalls and data sabotage
This command tells the server to connect to the address 10.0.0.1 on port 12*256+34 = 3106
The NAT router sees this and silently changes the command to include the external IP address. At the same time, the NAT router will also create a temporary port forwarding for the FTP session, possibly on a different port even:
The above command tells the server to connect to the address 123.123.123.123 on port 24*256+55 = 6199
With this behavior, a NAT router allows an improperly configured client to use active mode.
- The NAT router blindly assumes some connection uses FTP based on criteria like target ports or the initial server response:
The used protocol is detected as FTP, yet there is no guarantee that this is true (a false positive). Though unlikely, it is conceivable that a future revision of the FTP protocol might change the syntax of the PORT command. A NAT router modifying the PORT command would then silently change things it does not support and thus break the connection.The router’s protocol detection can fail to recognize an FTP connection (a false negative). Say the router only looks at the target port, and if it is 21, it detects it as FTP. As such, active mode connections with an improperly configured client to servers running on port 21 will work, but connections to other servers on non-standard ports will fail. - The used protocol is detected as FTP, yet there is no guarantee that this is true (a false positive). Though unlikely, it is conceivable that a future revision of the FTP protocol might change the syntax of the PORT command. A NAT router modifying the PORT command would then silently change things it does not support and thus break the connection.
- The router’s protocol detection can fail to recognize an FTP connection (a false negative). Say the router only looks at the target port, and if it is 21, it detects it as FTP. As such, active mode connections with an improperly configured client to servers running on port 21 will work, but connections to other servers on non-standard ports will fail.
- Say a client behind a NAT router sends “PORT 10,0,0,1,12,34”. How does the NAT router know the client is improperly configured? It is also possible that the client is properly configured, yet merely wants to initiate an FXP (server-to-server) transfer between the server it is connected to and another machine in the server’s own local network.
While this section only discussed the combination of a NAT router on the client side with active mode, the same applies to a server behind a NAT router and the reply to the PASV command.
Setting up FileZilla Client
If you’re running FileZilla 3, it’s recommended you run the network configuration wizard. It will guide you through the necessary steps and can test your configuration after set-up.
Obviously, if you want to connect to any server, you need to tell your firewall that FileZilla should be allowed to open connections to other servers. Most normal FTP servers use port 21, SFTP servers use port 22 and FTP over TLS (implicit mode) use port 990 by default. These ports are not mandatory, however, so it’s best to allow outgoing connections to arbitrary remote ports.
Since many servers on the internet are misconfigured and don’t support both transfer modes, it’s recommended that you configure both transfer modes on your end.
In passive mode, the client has no control over what port the server chooses for the data connection. Therefore, in order to use passive mode, you’ll have to allow outgoing connections to all ports in your firewall.
In active mode, the client opens a socket and waits for the server to establish the transfer connection.
If you have a NAT router, you need to tell FileZilla your external IP address in order for active mode connections to work with servers outside your local network:
- If you have a fixed external IP address, you can enter it in FileZilla’s configuration dialog.
- If you have a dynamic IP address, you can authorize FileZilla to obtain your external IP address from a special website. This will occur automatically each time FileZilla is started. No information will be submitted to the website (regardless of FileZilla version).
If in doubt, use the second option.
If you do not want to allow incoming connections on all ports, or if you have a NAT router, you need to tell FileZilla to use a specific range of ports for active mode connections. You will have to open these ports in your firewall. If you have a NAT router, you need to forward these ports to the local machine FileZilla is installed on. Depending on your router model, you can either forward a range of ports or you need to forward all ports individually.
Valid ports can be from 1 to 65535; however, ports less than 1024 are reserved for other protocols. It is best to choose ports greater than or equal to 50000 for active mode FTP. Due to the nature of TCP (the underlying transport protocol), a port cannot be reused immediately after each connection. Therefore, the range of ports should not be too small to prevent the failure of transfers of multiple small files. A range of 50 ports should be sufficient in most cases.

Setting up and testing FileZilla Server
Warning: The content of this section is outdated and needs to be adapted to apply to FileZilla Server version 1.x
Setting up the server is very similar to setting up the client, with the main difference being that the roles of active and passive mode are reversed.
Make sure FileZilla Server is allowed to establish outgoing connections to arbitrary ports, since the client controls which port to use.
On the local end of the connection, FileZilla Server tries to use a port one less than that of the control connection (e.g. port 20 if server is listening on port 21). However, this is not always possible – so don’t rely on it.
The server configuration is very similar to client configuration for active mode. In passive mode, the server opens a socket and waits for the client to connect to it.
If you have a NAT router, you need to tell FileZilla Server your external IP address or passive mode connections will not work with clients outside your local network:
- If you have a fixed external IP address, you can enter it in the configuration dialog of FileZilla Server.
- If you have a dynamic IP address, you can let FileZilla Server obtain your external IP address from a special website automatically. Except your version of FileZilla Server, no information will be submitted to that website.
If you do not want to allow incoming connections on all ports, or if you have a NAT router, you need to tell FileZilla Server to use a specific range of ports for passive mode connections. You will have to open these ports in your firewall. If you have a NAT router, you need to forward these ports to the local machine FileZilla Server is installed on. Depending on your router model, you can either forward a range of ports or you need to forward all ports individually.

Troubleshooting
Unfortunately, many personal firewalls and consumer routers are flawed or in some cases, even actively sabotage FTP (e.g. SMC Barricade V1.2). First of all, as with all software, you should keep everything updated. This includes the firewall software as well as the firmware version of your router.
If that does not help, you might want to try to uninstall your firewall to see what happens. Simply disabling your firewall might not work, as some firewalls cannot be fully disabled. In particular, most firewalls install virtual device drivers which cannot be disabled other than by uninstalling them. Also check for hidden firewalls. Programs such as virus scanners often have firewall functionality as well.
If possible, try to connect directly to the internet without a router by plugging your computer directly into your modem. If you have a combination modem/router device, try putting it into bridge mode to disable the routing part.
Another issue may occur if you are hosting an FTP server on default port 21. There might be a firewall at the ISP side of your connection which can do odd things like changing the port for PASV commands. Try using another non-default port for your FTP server.
Timeouts on large files
If you can transfer small files without any issues, but transfers of larger files end with a timeout, a broken router and/or firewall exists between the client and the server and is causing a problem.
As mentioned above, FTP uses two TCP connections: a control connection to submit commands and receive replies, and a data connection for actual file transfers. It is the nature of FTP that during a transfer the control connection stays completely idle.
In an attempt to solve this problem, the TCP specifications include a way to send keep-alive packets on otherwise idle TCP connections, to tell all involved parties that the connection is still alive and needed. However, the TCP specifications also make it very clear that these keep-alive packets should not be sent more often than once every two hours. Therefore, with added tolerance for network latency, connections can stay idle for up to 2 hours and 4 minutes.
To solve this problem, you need to uninstall affected firewalls and replace faulty routers with better-quality ones.
Setting up FileZilla Server with Windows Firewall
- Open Windows Firewall under Control Panel.
- If using Vista, click “Change Settings”
- Select the “Exceptions” tab.
- Locate the directory you installed FileZilla Server to (normally “C:Program FilesFileZilla Server”)
- Double click or select “FileZilla server.exe” and press open (Once again, NOT “FileZilla Server Interface.exe”)
- Select “FileZilla server.exe” from the list and click “Ok”
- Verify that “FileZilla server.exe” is added to the exceptions list and that it has a check mark in the box next to it
- Press “Ok” to close the window
Passive mode should now work. If you are still having problems connecting (from another computer or outside the network), check your router settings or try to add the port number in the Windows Firewall settings located in the Exceptions tab.
See the Microsoft kb article 931130 about running FileZilla with the “Routing and Remote Access” or the “Application Layer Gateway” service enabled.
http://support.microsoft.com/kb/931130
Setting up FileZilla Server with Windows 8 Firewall
These are the instructions if your operating system is Windows 8 – the interface is slightly different from that described above in Setting up FileZilla Server with Windows Firewall.
- A window titled “Add an app” should appear; do not do anything in this step.
- Locate the directory you installed FileZilla Server to (normally “C:Program FilesFileZilla Server”)
- Double click or select “FileZilla server.exe” and press open (Once again, NOT “FileZilla Server Interface.exe”)
- Your mouse pointer should now return to the “Add an app” window; scroll down the list and select “FileZilla server.exe” and click “Add”.
- Your mouse pointer should now return to the Windows Firewall Allowed apps window; verify that “FileZilla server.exe” is added to the allowed apps and features list and that it has a check mark in either the Private box or the Public box. Choose Private if you want the server accessible only from within your local network, and choose Public if you want the server accessible from outside your local network (this might include clients connected wirelessly to your network).
- Press “Ok” to close the Windows Firewall window
If you are still having problems see the advice at the end of section Setting up FileZilla Server with Windows Firewall above or search Microsoft Knowledge base for Firewall related articles.

В этой заметке мы расскажем о том как организовать безопасный доступ к файлам на хостинге nic.ru (ru-center) посредством SFTP. Для начала давайте разберемся что это такое и для чего это нужно? Традиционно мы заливали файлы на хостинг и производили какие-то операции с этими файлами посредством обычного FTP клиента. В чем минусы этого способа? Дело в том что протокол FTP разрабатывался очень давно и передает данные по сети в открытом виде. Таким образом не исключена вероятность, что при использовании FTP клиента, например, в интернет-кафе или при выходе в интернет посредством любой открытой точки доступа – пароль передаваемый вашим FTP клиентом могут перехватить злоумышленники со всеми вытекающими отсюда последствиями. Помимо FTP, на nic.ru нам также доступен SSH, однако не все знают как с ним работать. Постараемся немного приоткрыть завесу этой тайны.
Итак, что же такое SFTP? SFTP (англ. SSH File Transfer Protocol) — протокол прикладного уровня, предназначенный для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Протокол разработан группой IETF как расширение к SSH-2, однако SFTP допускает реализацию и с использованием иных протоколов сеансового уровня.
Другими словами это FTP через SSH. Перед тем как мы перейдем непосредственно к настройке SFTP клиента, предлагаем вам ознакомиться со следующими статьями:
В качестве SFTP клиента можно взять FileZilla, WinSCP, плагин для Total Commander’а – sftp4tc, а также Far Manager 3. Именно его настройку мы с вами и рассмотрим.
- Нажимаем Alt-F2 и выбираем в правой панели (или нажимаем Alt-F1 и выбираем в левой панели) – NetBox.
- Далее нажимаем Shift-F4 и создаем новую SFTP сессию:

После чего нажимаем Ok и соединяемся с нашим хостингом по защищенному каналу.
p.s. В целях безопасности не рекомендуем сохранять ваш пароль для SSH / FTP / SFTP в используемом вами клиенте, т.к. на данный момент существует достаточное количество вредоносного ПО, способного извлечь его оттуда. Ну а береженого, как известно, бог бережёт.
Как подключиться к серверу по FTP и начать работу
В статье мы расскажем, что такое FTP, как подключиться к FTP серверу и как загрузить файлы сайта на сервер.
FTP (File Transfer Protocol) — это базовый протокол передачи файлов между компьютерами по локальной сети и интернету. С его помощью можно подключиться к FTP-серверам, просматривать содержимое их каталогов и загружать файлы с сервера или на сервер.
Доступ по FTP доступен для всех хостинг панелей. Также вы можете использовать бесплатный хостинг для сайтов html (тестовый период — 14 дней).
Доступы к FTP
Доступы для подключения по FTP высылаются после заказа услуги хостинга.

Для подключения по FTP нужны специальные программы — FTP-клиенты. В этой статье мы расскажем про подключение и работу по FTP на примере FTP-клиента FileZila.
Как подключиться через FTP?
Настройте FTP-клиент FileZilla по инструкции:
Запустите клиент. В меню «Файл» нажмите Менеджер Сайтов:
Нажмите Новый сайт и заполните поля:
Протокол: FTP-протокол передачи файлов;
Порт: можно не указывать или указать стандартный порт протокола FTP — 21;
Шифрование: использовать явный FTP через TLS, если доступен;
Тип входа: нормальный;
Пароль: пароль от хостинга «u1234567». Данные для подключения указаны на странице услуги хостинга в Личном кабинете: Пароли для доступа к хостингу, серверу, FTP и MySQL.
FTP. Хостинг. Сервер
Затем перейдите во вкладку «Настройки передачи» и укажите следующие настройки:
Режим передачи: пассивный;
Затем нажмите Соединиться.
Для пользователей виртуального хостинга доступ предоставляется только к корневой директории аккаунта. Чтобы при подключении по FTP сразу открывалась директория пользователя, нужно настроить каталог подключения. Для этого перейдите в настройки Быстрого соединения (вкладка «Дополнительно») и в графе Удаленный каталог по умолчанию пропишите нужный путь (до директории):
Хостинг. FTP. Сервер
Готово, вы настроили FTP-клиент и теперь вы можете загрузить сайт на хостинг через FileZilla.
Особенности работы с FTP:
Файл ftpaccess на виртуальном хостинге не работает. При необходимости вы можете использовать его на сервере VPS.
Для основного аккаунта хостинга «u1234567» доступ по FTP отключить нельзя. Вы можете отключить доступ по FTP только для дополнительных FTP-аккаунтов. Для этого просто удалите их.
Работа с файлами по FTP
Как попасть на FTP-сервер, описано в инструкции выше. Теперь расскажем, как начать работу в FTP-клиенте FileZilla после подключения.
При подключении вы увидите разделённое пополам окно: слева — папка вашего локального ПК, справа — домашняя папка хостинга.Чтобы управлять папкой или файлом, кликните по нему правой кнопкой мыши:
Как закачать файлы на сервер
Чтобы загрузить сайт на хостинг через FTP, все файлы сайта необходимо размещать в каталог сайта. Определить нужный каталог вам поможет инструкция: В какой каталог нужно загружать файлы моего сайта.
В строке «Удаленный сайт» укажите путь до корневой папки сайта. В окне слева кликните правой кнопкой по нужной папке на локальном ПК и выберите Закачать на сервер:
Как залить сайт на хостинг через FileZilla
Как изменить права доступа к файлу или папке
Чтобы изменить права доступа, кликните правой кнопкой по нужной папке/файлу на хостинге (окно справа) и выберите Права доступа к файлу:
В открывшемся окне назначьте права: установите галочки напротив нужных пунктов и укажите числовое значение. Чтобы рекурсивно изменить права, выберите опцию Перенаправить во вложенные каталоги — Применить только к каталогам:
Как переименовать файл на хостинге
Кликните правой кнопкой по файлу на хостинге (окно справа) и выберите Переименовать:
Готово, вы подключились по FTP и загрузили файлы сайта на хостинг.
Если вам нужно добавить дополнительного пользователя или сменить пароль, обратитесь к инструкции: Работа по FTP: аккаунты и пароли. Если при работе по FTP у вас возникнут сложности, поможет статья: Ошибки при работе с FTP.
Как подключиться по SFTP
Важно: соединение по SFTP возможно только для основного аккаунта хостинга (вида u1234567) на всех тарифных планах, кроме Host-Lite и услуг с Windows-хостингом.
Для подключения по протоколу SFTP мы рекомендуем использовать клиент FileZilla (файл зила):
Протокол: SFTP — SSH File Transfer Protocol;
Порт: можно не указывать или указать порт 22;
Тип входа: запросить пароль;
Как настроить FTP-сервер дома без помощи бабушки
Не знаю, кто будет читать эту статью, но он явно хочет очень быстро запустить у себя FTP сервер. Скорее всего что-то замудренное здесь не пойдет, а грамотные сисадмины для конфигурации своего сервера на Unix сформулируют запрос точнее, поэтому остановимся на бесплатном, быстром, удобном.
Ниже будет представлено несколько готовых решение. Все что нужно – просто брать и делать, и уже вскоре вы сможете спокойно подключаться к своему компьютеру по FTP, для чего бы вам это не было нужно.
Способ 1 – Встроенный FTP
За редким использованием забываешь, что в «винде» уже есть встроенный FTP, так что и ходить далеко не нужно. Но он по умолчанию выключен, так что начнем с самого начала. Все на примере Windows 7, на «десятке» пробуем аналогично или идем в следующий раздел, где будем устанавливать стороннее решение.
За этим первый вариант заканчиваем. Надеюсь, и вам удалось настроить FTP-сервер.
Частые вопросы по способу 1
Есть несколько способов сделать это:
- Кроме Проводника спокойно можно использовать сторонние программы. Лично я долгие годы использую FileZilla. Бесплатно и удобно. Для входа достаточно вводить IP адрес и данные для авторизации.
- Еще вариант использование FTP-хранилищ – как сетевого диска. Процедура подключения стандартная, в выборе используем вот это:
Способ 2 – FileZilla Server
Альтернативный способ с годами проверенным решением для простой настройки FTP-сервера – будем использовать FileZilla Server. Многие знают, что у них отличный FTP-клиент, так еще есть и прекрасный FTP-сервер. Но самое главное – никуда больше ходить не нужно, здесь в коробке расположено сразу все самое нужное.
Начинаем наши деяния:
Настройка фтп на nic
В этой заметке мы расскажем о том как организовать безопасный доступ к файлам на хостинге nic.ru (ru-center) посредством SFTP. Для начала давайте разберемся что это такое и для чего это нужно? Традиционно мы заливали файлы на хостинг и производили какие-то операции с этими файлами посредством обычного FTP клиента. В чем минусы этого способа? Дело в том что протокол FTP разрабатывался очень давно и передает данные по сети в открытом виде. Таким образом не исключена вероятность, что при использовании FTP клиента, например, в интернет-кафе или при выходе в интернет посредством любой открытой точки доступа — пароль передаваемый вашим FTP клиентом могут перехватить злоумышленники со всеми вытекающими отсюда последствиями. Помимо FTP, на nic.ru нам также доступен SSH, однако не все знают как с ним работать. Постараемся немного приоткрыть завесу этой тайны.
Итак, что же такое SFTP? SFTP (англ. SSH File Transfer Protocol) — протокол прикладного уровня, предназначенный для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Протокол разработан группой IETF как расширение к SSH-2, однако SFTP допускает реализацию и с использованием иных протоколов сеансового уровня.
Настройка сети
Настройка FTP является довольно сложной задачей. Т.к. существуют тысячи разных файрволов и моделей роутеров, практически невозможно привести полное пошаговое руководство для каждого пользователя. Пользователь должен понимать основы протокола FTP для того, чтобы настроить FileZilla и роутеры/файрволы через которые происходит подключение. В этой статье приведена краткая история развития протокола FTP и принципы работы некоторых его аспектов. Внимательное прочтение этой статьи предотвратит многие проблемы, которые могут возникнуть при настройке FTP-подключения.
В этом разделе будет кратко рассмотрена история и технические сведения, касающиеся протокола 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.



