15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
09.10.2024

Грешка при изтичане на времето за FTP връзка във FileZilla: Пълно ръководство за отстраняване на неизправности

Грешката FileZilla connection timeout възниква, когато FTP клиентът не успее да установи или поддържа връзка с отдалечения сървър в рамките на конфигурирания времеви праг. Основната причина почти винаги е една от четири категории: неправилно конфигурирани клиентски настройки, намеса на мрежово ниво (защитни стени, NAT, рутери), повреди в услугата от страна на сървъра или несъответствие на протокола между клиента и сървъра.

Това ръководство обхваща всички известни причини и решения — включително напреднали гранични случаи, които стандартната документация пропуска — за да можете да диагностицирате и разрешите проблема без догадки.

Какво причинява FileZilla Connection Timeout

Разбирането на режима на повреда преди промяна на настройките спестява значително време. FileZilla инициира TCP handshake към целевия хост и порт. Ако handshake-ът не завърши в рамките на времевия прозорец, или ако контролният канал замлъкне по време на прехвърляне, FileZilla отчита timeout и прекъсва сесията.

Основните причини включват:

  • Грешен хост, порт или протокол — свързването към порт 21 с избран SFTP, или обратното, винаги ще доведе до timeout
  • Конфликт между пасивен и активен режим — активният режим изисква сървърът да инициира обратна връзка към клиента, която повечето NAT рутери и защитни стени безшумно отхвърлят
  • Локална защитна стена или софтуер за сигурност, блокиращи изходящия FTP контролен или трафик на канала за данни
  • FTP демонът от страна на сървъра не работи — услугата може да е спряна, срината или да слуша на нестандартен порт
  • Timeout на неактивна сесия на сървъра — много FTP демони (ProFTPD, vsftpd, Pure-FTPd) прекратяват сесии, неактивни за 60–300 секунди
  • ISP или корпоративна мрежа, блокираща порт 21 — все по-разпространено, тъй като FTP се счита за остарял протокол
  • Блокирания на IP ниво — fail2ban, CSF или подобни системи за предотвратяване на проникване може да са забранили вашия изходящ IP след повторни неуспешни опити за влизане
  • Неуспешно TLS/SSL договаряне при FTPS — явният или неявният FTPS изисква успешен handshake на валиден сертификат преди да потекат данни; несъответствие причинява привиден timeout
  • Неуспешно DNS разрешаване — ако името на хоста се разрешава до грешен IP или изобщо не успее, връзката никога не достига до сървъра

FTP, FTPS и SFTP: Справочник за протоколи и портове

Изборът на грешен протокол е единствената най-честа причина за timeout, който изглежда като мрежов проблем. Таблицата по-долу изяснява разликите.

ПротоколПорт (по подразбиране)КриптиранеТранспортБележки
FTP21 (контрол), 20 (данни активен)НямаTCPОстарял; избягвайте в публични мрежи
FTPS Explicit21TLS (договорен)TCPSTARTTLS надграждане на порт 21
FTPS Implicit990TLS (задължителен)TCPКриптиран от първия байт; по-рядко срещан
SFTP22SSH (винаги)TCPНе е FTP през SSH; отделен протокол
FTP Passive21 + ефемеренНямаTCPСървърът отваря порт за данни; удобен за защитни стени
FTP Active21 + 20НямаTCPКлиентът отваря порт за данни; блокиран от повечето NAT

Ако вашата хостинг среда използва VPS Хостинг, SFTP на порт 22 е почти винаги достъпен по подразбиране чрез OpenSSH. FTPS изисква изрична конфигурация на FTP демон с валиден сертификат.

Стъпка по стъпка решения за FileZilla Connection Timeout

1. Проверете настройките за връзка в Site Manager

Отворете File > Site Manager (не лентата Quick Connect — Site Manager съхранява постоянни, валидирани конфигурации).

Проверете всяко поле:

  • 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. Увеличете стойността на Timeout в FileZilla

Timeout по подразбиране на FileZilla е 20 секунди — твърде кратко за натоварени сървъри, връзки с висока латентност или сървъри, които извършват обратно DNS търсене при свързване.

За увеличаване на timeout:

  1. Отидете на Edit > Settings
  2. Изберете Connection в левия панел
  3. Задайте Timeout in seconds на `60` или `120`
  4. Задайте Reconnect attempts на `3` и Reconnect delay на `5` секунди
  5. Кликнете OK и опитайте повторно свързване

За сървъри, които налагат строги idle timeout-и, активирайте и Edit > Settings > FTP > Send FTP keep-alive commands. Това изпраща команда без операция на редовни интервали, за да предотврати затварянето на неактивни сесии от сървъра.

3. Превключете към пасивен режим

Това е най-въздействащата единична промяна за потребители зад NAT рутери, домашни широколентови връзки или корпоративни защитни стени.

Защо пасивният режим работи: В активен режим сървърът инициира TCP връзка обратно към клиента на порт, посочен от клиента. Повечето защитни стени блокират нежелани входящи връзки, причинявайки timeout на канала за данни дори когато контролният канал е установен. В пасивен режим клиентът инициира и двете връзки, което защитните стени разрешават.

За активиране на пасивен режим:

  1. Отидете на Edit > Settings > Connection > FTP
  2. Изберете Passive (recommended)
  3. Под Passive mode settings изберете Use the server’s external IP address instead, ако сървърът връща частен IP в своя PASV отговор — честа неправилна конфигурация в VPS среди
  4. Кликнете OK

Ако управлявате собствен FTP сървър на VPS Хостинг инстанция, трябва също да конфигурирате FTP демона да рекламира своя публичен IP в PASV отговорите и да отворите диапазона от пасивни портове (обикновено `40000–50000`) в защитната стена.

4. Диагностицирайте и конфигурирайте правилата на защитната стена

Локална защитна стена (Windows):

  1. Отворете Windows Defender Firewall with Advanced Security
  2. Навигирайте до Outbound Rules > New Rule
  3. Изберете Program, прегледайте до изпълнимия файл на FileZilla (`filezilla.exe`)
  4. Разрешете връзката за профилите Private и Public

Алтернативно, чрез PowerShell (изпълнете като Administrator):

“`powershell

New-NetFirewallRule -DisplayName "FileZilla FTP" -Direction Outbound -Program "C:Program FilesFileZilla FTP Clientfilezilla.exe" -Action Allow

“`

Антивирусни/охранителни пакети на трети страни: Продукти като ESET, Kaspersky и Bitdefender включват функция „FTP scanning” или „network shield”, която прихваща 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

“`

Това е често пренебрегвана причина: след няколко неуспешни опита за влизане (грешна парола, грешен формат на потребителско име), автоматизираните системи за предотвратяване на проникване забраняват изходящия IP на ниво ядро на защитната стена. Връзката след това изтича с timeout без съобщение за грешка от самия FTP демон, тъй като пакетите се отхвърлят преди да достигнат услугата.

Ако управлявате сървъра си чрез VPS с cPanel, можете да проверявате и управлявате CSF правилата директно от WHM интерфейса под Plugins > ConfigServer Security & Firewall.

6. Валидирайте TLS сертификата за FTPS връзки

При използване на FTPS (Explicit или Implicit), TLS handshake трябва да завърши преди изпращането на идентификационни данни. Ако сървърът представи изтекъл, самоподписан или несъответстващ на името на хоста сертификат, FileZilla може да заседне по време на договарянето, което се проявява като timeout, а не като ясна грешка на сертификата.

За диагностика:

  1. В FileZilla отидете на Edit > Settings > FTP > FTP over TLS settings
  2. Временно активирайте Allow insecure plain FTP fallback, за да тествате дали TLS слоят е проблемът
  3. Ако обикновеният 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` означава, че портът е затворен или услугата не работи. Timeout без отговор означава, че защитна стена безшумно отхвърля пакетите.

Тествайте DNS разрешаването:

“`bash

nslookup ftp.example.com

Compare with

nslookup example.com

“`

Ако те връщат различни IP адреси и не сте сигурни кой е правилният, използвайте директно IPv4 адреса на сървъра в полето Host на FileZilla, за да изключите DNS като променлива.

8. Конфигурирайте Keep-Alive и настройките за прехвърляне

За връзки, които се установяват успешно, но прекъсват по време на прехвърляне на големи файлове или периоди на неактивност:

  1. Edit > Settings > Transfers: Задайте Maximum simultaneous transfers на `1` първоначално, за да намалите натоварването
  2. Edit > Settings > Connection > FTP: Активирайте Keep alive — това предотвратява прекратяването на активни сесии от страна на сървъра поради idle timeout
  3. При прехвърляне на големи файлове през бавна връзка увеличете стойността на Timeout до `300` секунди или повече

Фина, но важна точка: някои сървъри налагат timeout за прехвърляне на данни отделно от timeout на контролния канал. Ако прехвърлянията започват, но заседват по средата, проблемът е timeout на канала за данни на сървъра, а не настройката на клиента 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 в Site Manager.

10. Актуализирайте FileZilla и проверете целостта на инсталацията

Остарелите версии на FileZilla имат известни грешки, засягащи TLS договарянето и обработката на пасивен режим. Винаги използвайте текущото стабилно издание от filezilla-project.org.

Ако FileZilla е инсталиран от пакетиращ инструмент на трета страна, той може да включва модифицирани компилации с променено поведение. Деинсталирайте напълно, изчистете директорията с конфигурацията (`%APPDATA%FileZilla` на Windows, `~/.config/filezilla` на Linux) и преинсталирайте от официалния източник.

Напреднали гранични случаи и клопки

Проблеми с IPv6 свързаност: Ако вашата система предпочита IPv6 и FTP сървърът слуша само на IPv4 (или обратното), връзката ще изтече с timeout. Принудете IPv4, като въведете директно IPv4 адреса на сървъра, или конфигурирайте вашата ОС да предпочита IPv4 за конкретния хост.

Намеса на VPN: VPN мрежи, които насочват целия трафик през тунел, могат да блокират порт 21 или да променят изходящия IP по начини, задействащи проверки за валидиране на IP от страна на сървъра. Тествайте с деактивиран VPN, за да изолирате тази променлива.

FTP квоти при споделен хостинг: Някои среди за Споделен Уеб Хостинг ограничават едновременните FTP връзки на акаунт (обикновено 3–5). Надвишаването на този лимит причинява timeout на новите опити за свързване. Затворете всички съществуващи FTP сесии преди повторно свързване.

ProFTPD с `IdentLookups on`: Ако сървърът работи с ProFTPD с `IdentLookups on` в конфигурацията си, той извършва търсене по ident протокол на свързващия се клиент преди да отговори. Това търсене почти винаги изтича с timeout в съвременните мрежи (порт 113 е блокиран), добавяйки 30+ секунди към времето за свързване или причинявайки пълен timeout. Решението е от страна на сървъра: задайте `IdentLookups off` в `/etc/proftpd/proftpd.conf`.

Забавяния при обратно DNS търсене: По подобен начин, vsftpd с `reverse_lookup_enable=YES` (по подразбиране при някои дистрибуции) извършва PTR търсене на клиентския IP. Ако вашият ISP няма конфигурирани PTR записи, това търсене изтича с timeout и забавя или прекъсва връзката. Задайте `reverse_lookup_enable=NO` в `/etc/vsftpd.conf`.

Избор на правилна хостинг среда за надежден FTP/SFTP достъп

Стабилността на FTP и SFTP връзките е пряко свързана с хостинг инфраструктурата. Споделените среди с висока потребителска плътност често имат по-строги ограничения на връзките и по-непредсказуема производителност на FTP демона. Средата за VPS Хостинг ви дава пълен контрол върху конфигурацията на FTP демона, правилата на защитната стена, диапазоните на пасивните портове и ограниченията на връзките — елиминирайки повечето от причините от страна на сървъра, разгледани в това ръководство.

За екипи, нуждаещи се от управляван достъп до контролен панел без ръчна администрация на сървъра, VPS Контролни Панели предоставят базирано на GUI управление на FTP услуги, създаване на потребителски акаунти и конфигурация на защитната стена без необходимост от SSH експертиза.

Практическа матрица за вземане на решения

Използвайте този контролен списък, за да изолирате систематично причината преди прилагане на решения:

Ако връзката никога не се установява (незабавен или бърз timeout):

  • Проверете хоста, порта и протокола в Site Manager
  • Изпълнете `Test-NetConnection` или `nc`, за да потвърдите достъпността на порта
  • Проверете за IP забрана на сървъра (CSF, fail2ban)
  • Потвърдете, че FTP услугата работи на сървъра

Ако връзката се установява, но изтича с timeout по време на влизане:

  • Проверете формата на потребителското име (някои сървъри изискват `user@domain.com`, други само `user`)
  • Проверете валидността на TLS сертификата за FTPS връзки
  • Деактивирайте FTP протокол сканирането в антивирусния софтуер

Ако връзката се установява, но изтича с timeout по време на листване на директория или прехвърляне:

  • Превключете към пасивен режим
  • Деактивирайте FTP ALG на рутера
  • Проверете дали диапазонът от пасивни портове е отворен в защитната стена на сървъра
  • Увеличете стойността на timeout в FileZilla до 120+ секунди

Ако връзката прекъсва след период на неактивност:

  • Активирайте FTP keep-alive в настройките на FileZilla
  • Проверете конфигурацията на idle timeout от страна на сървъра
  • Намалете броя на едновременните прехвърляния до 1

Ако проблемът е специфичен за средата (работи от една мрежа, но не от друга):

  • ISP или корпоративна защитна стена блокира порт 21
  • Превключете към SFTP на порт 22 като постоянно решение
  • Тествайте с мобилна точка за достъп, за да потвърдите блокирането на мрежово ниво

ЧЗВ

Защо FileZilla изтича с timeout дори когато сървърът е онлайн и достъпен чрез браузър?

Уеб трафикът използва портове 80 и 443, които са почти универсално отворени. FTP използва порт 21 (или 22 за SFTP), който може да бъде блокиран от вашата локална защитна стена, ISP или корпоративна мрежа независимо от HTTP достъпа. Достъпността на сървъра чрез HTTP не потвърждава наличността на FTP порта.

Каква е разликата между грешка connection timeout и connection refused в FileZilla?

„Connection refused” означава, че сървърът активно е отхвърлил TCP връзката — портът е затворен или услугата не работи. „Connection timeout” означава, че пакетите, изпратени до този хост и порт, не са получили никакъв отговор, което обикновено показва, че защитна стена безшумно отхвърля трафика, а не повреда в услугата.

Трябва ли да използвам FTP, FTPS или SFTP за прехвърляне на файлове през 2024 г.?

SFTP е препоръчителният избор за всички нови конфигурации. Използва единичен порт, криптиран е по подразбиране, поддържа удостоверяване с ключ и избягва сложността на пасивен/активен режим на FTP. FTPS е приемлив, когато SFTP не е наличен, но изисква управление на валиден TLS сертификат. Обикновеният FTP не трябва да се използва в никаква мрежа, където поверителността на идентификационните данни или данните има значение.

Как да спра FileZilla да прекъсва връзката по време на качване на големи файлове?

Активирайте keep-alive команди под Edit > Settings > Connection > FTP, увеличете стойността на timeout до поне 300 секунди и проверете дали `idle_session_timeout` (vsftpd) или `TimeoutIdle` (ProFTPD) на сървъра е зададен по-висок от очакваното най-дълго прехвърляне. Уверете се също, че `data_connection_timeout` на сървъра не е зададен твърде агресивно.

Може ли грешен диапазон от пасивни портове на сървъра да причини timeout в FileZilla?

Да. Ако FTP демонът е конфигуриран да използва диапазон от пасивни портове (напр. `40000–50000`), но тези портове не са отворени в защитната стена на сървъра, всеки опит за пасивен канал за данни ще изтече с timeout. Контролният канал се свързва успешно, заявката за листване на директория се изпраща и след това FileZilla заседва в очакване на връзката за данни. Отворете диапазона от пасивни портове в защитната стена на сървъра и се уверете, че директивите `pasv_min_port` и `pasv_max_port` (vsftpd) или `PassivePorts` (ProFTPD) на FTP демона съответстват.

15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало