Помилка тайм-ауту FTP-з’єднання FileZilla: Повний посібник з усунення несправностей
Помилка тайм-ауту з’єднання FileZilla виникає, коли FTP-клієнту не вдається встановити або підтримати з’єднання з віддаленим сервером у межах налаштованого часового порогу. Першопричина майже завжди належить до однієї з чотирьох категорій: неправильно налаштовані параметри клієнта, перешкоди на мережевому рівні (брандмауери, NAT, маршрутизатори), збої служб на стороні сервера або невідповідність протоколів між клієнтом і сервером.
Цей посібник охоплює всі відомі причини та способи їх усунення — включаючи складні граничні випадки, які стандартна документація не розглядає — щоб ви могли діагностувати та вирішити проблему без зайвих здогадок.
Що спричиняє тайм-аут з’єднання FileZilla
Розуміння режиму збою перед зміною налаштувань заощаджує значний час. FileZilla ініціює TCP-рукостискання з цільовим хостом і портом. Якщо це рукостискання не завершується в межах вікна тайм-ауту або якщо керуючий канал замовкає під час передачі, FileZilla повідомляє про тайм-аут і розриває сесію.
Основні причини включають:
- Неправильний хост, порт або протокол — підключення до порту 21 з вибраним SFTP або навпаки завжди призведе до тайм-ауту
- Конфлікт пасивного та активного режимів — активний режим вимагає, щоб сервер ініціював зворотне з’єднання з клієнтом, яке більшість NAT-маршрутизаторів і брандмауерів мовчки відкидають
- Локальний брандмауер або захисне програмне забезпечення, що блокує вихідний трафік керуючого або дата-каналу FTP
- FTP-демон на стороні сервера не запущено — служба може бути зупинена, аварійно завершена або прослуховувати нестандартний порт
- Тайм-аут простою сесії на сервері — багато FTP-демонів (ProFTPD, vsftpd, Pure-FTPd) завершують сесії, що простоюють 60–300 секунд
- Блокування порту 21 провайдером або корпоративною мережею — все частіше зустрічається, оскільки FTP вважається застарілим протоколом
- Блокування на рівні IP — fail2ban, CSF або подібні системи запобігання вторгненням могли заблокувати вашу вихідну IP-адресу після повторних невдалих спроб входу
- Збій TLS/SSL-переговорів у FTPS — явний або неявний FTPS вимагає успішного рукостискання з дійсним сертифікатом перед передачею будь-яких даних; невідповідність спричиняє видимий тайм-аут
- Збій DNS-розпізнавання — якщо ім’я хоста розпізнається до неправильної IP-адреси або не розпізнається взагалі, з’єднання ніколи не досягає сервера
FTP, FTPS та SFTP: довідник протоколів і портів
Вибір неправильного протоколу є найпоширенішою причиною тайм-ауту, який виглядає як мережева проблема. Таблиця нижче роз’яснює відмінності.
| Протокол | Порт (за замовчуванням) | Шифрування | Транспорт | Примітки |
|---|---|---|---|---|
| — | — | — | — | — |
| FTP | 21 (керуючий), 20 (дані активний) | Відсутнє | TCP | Застарілий; уникайте у публічних мережах |
| FTPS Explicit | 21 | TLS (узгоджений) | TCP | Оновлення STARTTLS на порту 21 |
| FTPS Implicit | 990 | TLS (обов’язковий) | TCP | Зашифровано з першого байту; менш поширений |
| SFTP | 22 | SSH (завжди) | TCP | Не FTP через SSH; окремий протокол |
| FTP Passive | 21 + ефемерний | Відсутнє | TCP | Сервер відкриває порт даних; зручний для брандмауерів |
| FTP Active | 21 + 20 | Відсутнє | TCP | Клієнт відкриває порт даних; блокується більшістю NAT |
Якщо ваше хостингове середовище використовує VPS Хостинг, SFTP на порту 22 майже завжди доступний за замовчуванням через OpenSSH. FTPS вимагає явного налаштування FTP-демона з дійсним сертифікатом.
Покрокові способи усунення тайм-ауту з’єднання FileZilla
1. Перевірте налаштування з’єднання в менеджері сайтів
Відкрийте File > Site Manager (не панель Quick Connect — менеджер сайтів зберігає постійні, перевірені конфігурації).
Перевірте кожне поле:
- Host: Використовуйте чистий домен (`example.com`) або IP-адресу сервера. Не додавайте префікс `ftp://` — FileZilla додає схему на основі вибраного протоколу
- Port: Залиште порожнім для використання стандартного порту протоколу або введіть явно: `21` для FTP/FTPS Explicit, `990` для FTPS Implicit, `22` для SFTP
- Protocol: Має відповідати тому, що фактично підтримує сервер. Якщо сумніваєтеся, виберіть SFTP – SSH File Transfer Protocol — це найбільш універсально доступний і безпечний варіант
- Logon Type: Встановіть Normal і введіть облікові дані. Anonymous не спрацює на жодному приватному сервері
Поширений граничний випадок: деякі середовища спільного хостингу маршрутизують FTP через субдомен, наприклад `ftp.example.com`, який розпізнається до іншої IP-адреси, ніж основний домен. Перевірте правильне ім’я хоста в панелі керування хостингом або зверніться до служби підтримки.
2. Збільшіть значення тайм-ауту у FileZilla
Стандартний тайм-аут FileZilla становить 20 секунд — занадто мало для серверів під навантаженням, з’єднань із високою затримкою або серверів, що виконують зворотний DNS-пошук при підключенні.
Щоб збільшити тайм-аут:
- Перейдіть до Edit > Settings
- Виберіть Connection на лівій панелі
- Встановіть Timeout in seconds на `60` або `120`
- Встановіть Reconnect attempts на `3` і Reconnect delay на `5` секунд
- Натисніть OK і спробуйте підключитися знову
Для серверів із суворими тайм-аутами простою також увімкніть Edit > Settings > FTP > Send FTP keep-alive commands. Це надсилає команду без операції через регулярні інтервали, щоб запобігти закриттю сервером простоюючих сесій.
3. Перейдіть до пасивного режиму
Це найефективніша одиночна зміна для користувачів за NAT-маршрутизаторами, домашніми широкосмуговими з’єднаннями або корпоративними брандмауерами.
Чому пасивний режим працює: В активному режимі сервер ініціює TCP-з’єднання назад до клієнта на порту, який вказує клієнт. Більшість брандмауерів блокують небажані вхідні з’єднання, що призводить до тайм-ауту дата-каналу навіть при встановленому керуючому каналі. У пасивному режимі клієнт ініціює обидва з’єднання, що брандмауери дозволяють.
Щоб увімкнути пасивний режим:
- Перейдіть до Edit > Settings > Connection > FTP
- Виберіть Passive (recommended)
- У розділі Passive mode settings виберіть Use the server’s external IP address instead, якщо сервер повертає приватну IP-адресу у відповіді PASV — поширена неправильна конфігурація у VPS-середовищах
- Натисніть OK
Якщо ви запускаєте власний FTP-сервер на екземплярі VPS Хостингу, вам також потрібно налаштувати FTP-демон для оголошення своєї публічної IP-адреси у відповідях PASV і відкрити діапазон пасивних портів (зазвичай `40000–50000`) у брандмауері.
4. Діагностуйте та налаштуйте правила брандмауера
Локальний брандмауер (Windows):
- Відкрийте Windows Defender Firewall with Advanced Security
- Перейдіть до Outbound Rules > New Rule
- Виберіть Program, перейдіть до виконуваного файлу FileZilla (`filezilla.exe`)
- Дозвольте з’єднання для профілів Private і Public
Або через PowerShell (запустіть від імені адміністратора):
“`powershell
New-NetFirewallRule -DisplayName "FileZilla FTP" -Direction Outbound -Program "C:Program FilesFileZilla FTP Clientfilezilla.exe" -Action Allow
“`
Сторонні антивірусні/захисні пакети: Продукти, такі як ESET, Kaspersky та Bitdefender, включають функцію «сканування FTP» або «мережевого щита», яка перехоплює FTP-трафік і може пошкодити або заблокувати керуючий канал. Вимкніть сканування протоколу FTP окремо, а не весь пакет повністю.
На рівні маршрутизатора: Якщо ваш маршрутизатор використовує SPI (Stateful Packet Inspection) з FTP ALG (Application Layer Gateway), він може намагатися переписати відповіді PASV і давати збій при FTPS-з’єднаннях (оскільки керуючий канал зашифровано). Вимкніть FTP ALG у розширених налаштуваннях маршрутизатора, якщо ви використовуєте FTPS.
5. Перевірте стан FTP-служби на стороні сервера
Якщо у вас є адміністративний доступ до сервера, перевірте, чи запущено FTP-демон:
Для серверів cPanel/WHM (vsftpd або Pure-FTPd):
“`bash
systemctl status vsftpd
or
systemctl status pure-ftpd
“`
Якщо зупинено:
“`bash
systemctl start vsftpd
systemctl enable vsftpd
“`
Перевірте, на якому порту фактично прослуховує демон:
“`bash
ss -tlnp | grep -E '21|22|990'
“`
Перевірте блокування IP (брандмауер CSF):
“`bash
csf -g YOUR_IP_ADDRESS
“`
Якщо ваша IP-адреса є у списку блокувань, розблокуйте її за допомогою:
“`bash
csf -dr YOUR_IP_ADDRESS
“`
Це часто overlooked причина: після кількох невдалих спроб входу (неправильний пароль, неправильний формат імені користувача) автоматизовані системи запобігання вторгненням блокують вихідну IP-адресу на рівні брандмауера ядра. З’єднання тоді завершується тайм-аутом без жодного повідомлення про помилку від самого FTP-демона, оскільки пакети відкидаються до досягнення служби.
Якщо ви керуєте сервером через VPS з cPanel, ви можете перевіряти правила CSF і керувати ними безпосередньо з інтерфейсу WHM у розділі Plugins > ConfigServer Security & Firewall.
6. Перевірте TLS-сертифікат для FTPS-з’єднань
При використанні FTPS (Explicit або Implicit) TLS-рукостискання має завершитися до надсилання облікових даних. Якщо сервер надає прострочений, самопідписаний або невідповідний за іменем хоста сертифікат, FileZilla може зависнути під час переговорів, що проявляється як тайм-аут, а не чітка помилка сертифіката.
Для діагностики:
- У FileZilla перейдіть до Edit > Settings > FTP > FTP over TLS settings
- Тимчасово увімкніть Allow insecure plain FTP fallback, щоб перевірити, чи є проблема на рівні TLS
- Якщо звичайний FTP підключається, а FTPS — ні, проблема пов’язана із сертифікатом
Для виробничих середовищ встановіть дійсний SSL-сертифікат на сервері та налаштуйте FTP-демон для посилання на нього. Самопідписані сертифікати вимагають ручного підтвердження відбитку сертифіката у FileZilla при першому підключенні.
7. Перевірте мережевий шлях і DNS-розпізнавання
Перш ніж припускати, що проблема на стороні сервера, перевірте мережевий шлях з вашої машини:
Перевірте TCP-з’єднання з FTP-портом:
“`bash
Windows (PowerShell)
Test-NetConnection -ComputerName ftp.example.com -Port 21
Linux/macOS
nc -zv ftp.example.com 21
“`
Відповідь `Connection refused` означає, що порт закрито або служба не запущена. Тайм-аут без відповіді означає, що брандмауер мовчки відкидає пакети.
Перевірте DNS-розпізнавання:
“`bash
nslookup ftp.example.com
Compare with
nslookup example.com
“`
Якщо вони повертають різні IP-адреси і ви не впевнені, яка правильна, використовуйте IP-адресу сервера безпосередньо в полі Host FileZilla, щоб виключити DNS як змінну.
8. Налаштуйте keep-alive та параметри передачі
Для з’єднань, які встановлюються успішно, але розриваються під час передачі великих файлів або в періоди простою:
- Edit > Settings > Transfers: Встановіть Maximum simultaneous transfers на `1` спочатку, щоб зменшити навантаження
- Edit > Settings > Connection > FTP: Увімкніть Keep alive — це запобігає завершенню активних сесій через тайм-аути простою на стороні сервера
- При передачі великих файлів через повільне з’єднання збільшіть значення Timeout до `300` секунд або більше
Тонкий, але важливий момент: деякі сервери застосовують тайм-аут передачі даних окремо від тайм-ауту керуючого каналу. Якщо передачі починаються, але зависають на півдорозі, проблема полягає в тайм-ауті дата-каналу на сервері, а не в налаштуванні клієнта FileZilla.
9. Розгляньте SFTP як остаточну альтернативу
Якщо FTP і FTPS продовжують спричиняти проблеми, повний перехід на SFTP усуває більшість складнощів на рівні протоколу:
- Єдиний порт (`22`) — немає окремого дата-каналу, немає проблем із пасивним/активним режимом
- Зашифровано за замовчуванням — не потрібен окремий TLS-сертифікат на FTP-демоні
- Підтримується нативно OpenSSH на кожному Linux-сервері
- Підтримує автентифікацію на основі ключів, повністю усуваючи розкриття пароля
Щоб використовувати SFTP на основі ключів у FileZilla: Edit > Settings > Connection > SFTP > Add key file, потім імпортуйте свій приватний ключ (формат `.pem` або `.ppk`). Встановіть Logon Type на Key file у менеджері сайтів.
10. Оновіть FileZilla та перевірте цілісність встановлення
Застарілі версії FileZilla мають відомі помилки, що впливають на TLS-переговори та обробку пасивного режиму. Завжди використовуйте поточний стабільний реліз з filezilla-project.org.
Якщо FileZilla було встановлено зі стороннього пакувальника, він може містити модифіковані збірки зі зміненою поведінкою. Повністю видаліть програму, очистіть каталог конфігурації (`%APPDATA%FileZilla` у Windows, `~/.config/filezilla` у Linux) і перевстановіть з офіційного джерела.
Складні граничні випадки та підводні камені
Проблеми з підключенням IPv6: Якщо ваша система надає перевагу IPv6, а FTP-сервер прослуховує лише IPv4 (або навпаки), з’єднання завершиться тайм-аутом. Примусово використовуйте IPv4, ввівши IPv4-адресу сервера безпосередньо, або налаштуйте ОС для надання переваги IPv4 для конкретного хоста.
Перешкоди від VPN: VPN, які маршрутизують весь трафік через тунель, можуть блокувати порт 21 або змінювати вихідну IP-адресу таким чином, що це спрацьовує перевірки IP-валідації на стороні сервера. Перевірте з вимкненим VPN, щоб ізолювати цю змінну.
Квоти FTP на спільному хостингу: Деякі середовища спільного веб-хостингу обмежують кількість одночасних FTP-з’єднань на обліковий запис (зазвичай 3–5). Перевищення цього ліміту призводить до тайм-ауту нових спроб підключення. Закрийте всі існуючі FTP-сесії перед повторним підключенням.
ProFTPD з `IdentLookups on`: Якщо сервер запускає ProFTPD з `IdentLookups on` у своїй конфігурації, він виконує пошук протоколу ident на клієнті, що підключається, перед відповіддю. Цей пошук майже завжди завершується тайм-аутом у сучасних мережах (порт 113 заблоковано), додаючи 30+ секунд до часу підключення або спричиняючи повний тайм-аут. Виправлення — на стороні сервера: встановіть `IdentLookups off` у `/etc/proftpd/proftpd.conf`.
Затримки зворотного DNS-пошуку: Аналогічно, vsftpd з `reverse_lookup_enable=YES` (за замовчуванням у деяких дистрибутивах) виконує PTR-пошук для IP-адреси клієнта. Якщо ваш провайдер не має налаштованих PTR-записів, цей пошук завершується тайм-аутом і затримує або порушує з’єднання. Встановіть `reverse_lookup_enable=NO` у `/etc/vsftpd.conf`.
Вибір правильного хостингового середовища для надійного доступу FTP/SFTP
Стабільність FTP і SFTP-з’єднань безпосередньо пов’язана з хостинговою інфраструктурою. Спільні середовища з високою щільністю користувачів часто мають суворіші обмеження з’єднань і менш передбачувану продуктивність FTP-демона. Середовище VPS Хостингу надає вам повний контроль над конфігурацією FTP-демона, правилами брандмауера, діапазонами пасивних портів і лімітами з’єднань — усуваючи більшість причин на стороні сервера, розглянутих у цьому посібнику.
Для команд, яким потрібен керований доступ до панелі керування без ручного адміністрування сервера, панелі керування VPS забезпечують графічне керування FTP-службою, створення облікових записів користувачів і налаштування брандмауера без необхідності знань SSH.
Практична матриця прийняття рішень
Використовуйте цей контрольний список для систематичного виявлення причини перед застосуванням виправлень:
Якщо з’єднання ніколи не встановлюється (негайний або швидкий тайм-аут):
- Перевірте хост, порт і протокол у менеджері сайтів
- Запустіть `Test-NetConnection` або `nc`, щоб підтвердити доступність порту
- Перевірте блокування IP на сервері (CSF, fail2ban)
- Переконайтеся, що FTP-служба запущена на сервері
Якщо з’єднання встановлюється, але завершується тайм-аутом під час входу:
- Перевірте формат імені користувача (деякі сервери вимагають `user@domain.com`, інші — лише `user`)
- Перевірте дійсність TLS-сертифіката для FTPS-з’єднань
- Вимкніть сканування протоколу FTP в антивірусному програмному забезпеченні
Якщо з’єднання встановлюється, але завершується тайм-аутом під час отримання списку каталогів або передачі:
- Перейдіть до пасивного режиму
- Вимкніть FTP ALG на маршрутизаторі
- Перевірте, чи відкрито діапазон пасивних портів у брандмауері сервера
- Збільшіть значення тайм-ауту FileZilla до 120+ секунд
Якщо з’єднання розривається після певного часу бездіяльності:
- Увімкніть FTP keep-alive у налаштуваннях FileZilla
- Перевірте конфігурацію тайм-ауту простою на стороні сервера
- Зменшіть кількість одночасних передач до 1
Якщо проблема специфічна для середовища (працює з однієї мережі, але не з іншої):
- Провайдер або корпоративний брандмауер блокує порт 21
- Перейдіть на SFTP на порту 22 як постійне рішення
- Перевірте за допомогою мобільної точки доступу, щоб підтвердити блокування на мережевому рівні
FAQ
Чому FileZilla завершується тайм-аутом, навіть коли сервер онлайн і доступний через браузер?
Веб-трафік використовує порти 80 і 443, які майже повсюдно відкриті. FTP використовує порт 21 (або 22 для SFTP), який може бути заблокований вашим локальним брандмауером, провайдером або корпоративною мережею незалежно від HTTP-доступу. Доступність сервера через HTTP не підтверджує доступність FTP-порту.
У чому різниця між помилкою тайм-ауту з’єднання та помилкою відмови у з’єднанні у FileZilla?
«Connection refused» означає, що сервер активно відхилив TCP-з’єднання — порт закрито або служба не запущена. «Connection timeout» означає, що пакети, надіслані на цей хост і порт, не отримали жодної відповіді, що зазвичай вказує на те, що брандмауер мовчки відкидає трафік, а не на збій служби.
Що слід використовувати для передачі файлів у 2024 році: FTP, FTPS чи SFTP?
SFTP є рекомендованим вибором для всіх нових конфігурацій. Він використовує єдиний порт, зашифрований за замовчуванням, підтримує автентифікацію на основі ключів і уникає складнощів пасивного/активного режиму FTP. FTPS прийнятний, коли SFTP недоступний, але вимагає управління дійсними TLS-сертифікатами. Звичайний FTP не слід використовувати в жодній мережі, де важлива конфіденційність облікових даних або даних.
Як зупинити відключення FileZilla під час великих завантажень файлів?
Увімкніть команди keep-alive у розділі Edit > Settings > Connection > FTP, збільшіть значення тайм-ауту до щонайменше 300 секунд і переконайтеся, що `idle_session_timeout` сервера (vsftpd) або `TimeoutIdle` (ProFTPD) встановлено вище, ніж ваш найдовший очікуваний час передачі. Також переконайтеся, що `data_connection_timeout` сервера не встановлено занадто агресивно.
Чи може неправильний діапазон пасивних портів на сервері спричиняти тайм-аути FileZilla?
Так. Якщо FTP-демон налаштовано на використання діапазону пасивних портів (наприклад, `40000–50000`), але ці порти не відкриті в брандмауері сервера, кожна спроба встановлення дата-каналу в пасивному режимі завершиться тайм-аутом. Керуючий канал підключається успішно, запит на отримання списку каталогів надсилається, а потім FileZilla зависає в очікуванні з’єднання даних. Відкрийте діапазон пасивних портів у брандмауері сервера та переконайтеся, що директиви `pasv_min_port` і `pasv_max_port` (vsftpd) або `PassivePorts` (ProFTPD) FTP-демона відповідають.
