Błąd przekroczenia limitu czasu połączenia FTP w FileZilla: Kompletny przewodnik rozwiązywania problemów
Błąd przekroczenia limitu czasu połączenia FileZilla występuje, gdy klient FTP nie może nawiązać lub utrzymać połączenia z serwerem zdalnym w skonfigurowanym limicie czasu. Główna przyczyna niemal zawsze należy do jednej z czterech kategorii: błędnie skonfigurowane ustawienia klienta, zakłócenia na poziomie sieci (zapory sieciowe, NAT, routery), awarie usług po stronie serwera lub niezgodność protokołów między klientem a serwerem.
Ten przewodnik omawia wszystkie znane przyczyny i sposoby naprawy — w tym zaawansowane przypadki brzegowe pomijane w standardowej dokumentacji — dzięki czemu możesz zdiagnozować i rozwiązać problem bez zgadywania.
Co powoduje przekroczenie limitu czasu połączenia w FileZilla
Zrozumienie trybu awarii przed zmianą ustawień pozwala zaoszczędzić znaczną ilość czasu. FileZilla inicjuje uzgadnianie TCP z docelowym hostem i portem. Jeśli to uzgadnianie nie zakończy się w oknie limitu czasu lub jeśli kanał sterujący milknie podczas transferu, FileZilla zgłasza przekroczenie limitu czasu i kończy sesję.
Główne przyczyny obejmują:
- Błędny host, port lub protokół — łączenie się z portem 21 przy wybranym SFTP lub odwrotnie zawsze spowoduje przekroczenie limitu czasu
- Konflikt trybu pasywnego i aktywnego — tryb aktywny wymaga, aby serwer zainicjował połączenie zwrotne z klientem, które większość routerów NAT i zapór sieciowych po cichu odrzuca
- Lokalna zapora sieciowa lub oprogramowanie zabezpieczające blokujące ruch wychodzący na kanale sterującym lub danych FTP
- Demon FTP po stronie serwera nie działa — usługa może być zatrzymana, awaryjna lub nasłuchiwać na niestandardowym porcie
- Limit czasu bezczynności sesji na serwerze — wiele demonów FTP (ProFTPD, vsftpd, Pure-FTPd) kończy sesje bezczynne przez 60–300 sekund
- Dostawca usług internetowych lub sieć firmowa blokuje port 21 — coraz częstsze zjawisko, ponieważ FTP jest uważany za protokół przestarzały
- Blokady na poziomie IP — fail2ban, CSF lub podobne systemy zapobiegania włamaniom mogą zablokować Twój źródłowy adres IP po wielokrotnych nieudanych próbach logowania
- Błąd negocjacji TLS/SSL w FTPS — jawny lub niejawny FTPS wymaga prawidłowego uzgadniania certyfikatu przed przepływem jakichkolwiek danych; niezgodność powoduje pozorne przekroczenie limitu czasu
- Błąd rozwiązywania DNS — jeśli nazwa hosta jest rozwiązywana na błędny adres IP lub całkowicie nie działa, połączenie nigdy nie dociera do serwera
FTP, FTPS i SFTP: informacje o protokołach i portach
Wybór niewłaściwego protokołu jest najczęstszą przyczyną przekroczenia limitu czasu, które wygląda jak problem sieciowy. Poniższa tabela wyjaśnia różnice.
| Protokół | Port (domyślny) | Szyfrowanie | Transport | Uwagi |
|---|---|---|---|---|
| — | — | — | — | — |
| FTP | 21 (sterujący), 20 (dane aktywne) | Brak | TCP | Przestarzały; unikaj w sieciach publicznych |
| FTPS Explicit | 21 | TLS (negocjowany) | TCP | Aktualizacja STARTTLS na porcie 21 |
| FTPS Implicit | 990 | TLS (obowiązkowy) | TCP | Szyfrowany od pierwszego bajtu; mniej powszechny |
| SFTP | 22 | SSH (zawsze) | TCP | Nie jest FTP przez SSH; oddzielny protokół |
| FTP Passive | 21 + efemeryczny | Brak | TCP | Serwer otwiera port danych; przyjazny dla zapory sieciowej |
| FTP Active | 21 + 20 | Brak | TCP | Klient otwiera port danych; blokowany przez większość NAT |
Jeśli Twoje środowisko hostingowe korzysta z Hostingu VPS, SFTP na porcie 22 jest prawie zawsze dostępny domyślnie przez OpenSSH. FTPS wymaga jawnej konfiguracji demona FTP z ważnym certyfikatem.
Krok po kroku: rozwiązywanie problemów z przekroczeniem limitu czasu połączenia w FileZilla
1. Sprawdź ustawienia połączenia w Menedżerze witryn
Otwórz Plik > Menedżer witryn (nie pasek Szybkiego połączenia — Menedżer witryn przechowuje trwałe, zweryfikowane konfiguracje).
Sprawdź każde pole:
- Host: Użyj samej domeny (`example.com`) lub adresu IP serwera. Nie dodawaj prefiksu `ftp://` — FileZilla dodaje schemat na podstawie selektora protokołu
- Port: Pozostaw puste, aby użyć domyślnego portu protokołu, lub wpisz jawnie: `21` dla FTP/FTPS Explicit, `990` dla FTPS Implicit, `22` dla SFTP
- Protokół: Musi odpowiadać temu, co faktycznie obsługuje serwer. W razie wątpliwości wybierz SFTP – SSH File Transfer Protocol — jest to opcja najbardziej powszechnie dostępna i bezpieczna
- Typ logowania: Ustaw na Normalne i wprowadź dane uwierzytelniające. Anonimowe nie powiedzie się na żadnym prywatnym serwerze
Częsty przypadek brzegowy: niektóre środowiska hostingu współdzielonego kierują FTP przez subdomenę, taką jak `ftp.example.com`, która jest rozwiązywana na inny adres IP niż główna domena. Zweryfikuj prawidłową nazwę hosta w panelu sterowania hostingu lub u zespołu wsparcia.
2. Zwiększ wartość limitu czasu w FileZilla
Domyślny limit czasu FileZilla wynosi 20 sekund — zbyt krótko dla serwerów pod obciążeniem, połączeń o wysokich opóźnieniach lub serwerów wykonujących odwrotne wyszukiwania DNS przy połączeniu.
Aby zwiększyć limit czasu:
- Przejdź do Edycja > Ustawienia
- Wybierz Połączenie w lewym panelu
- Ustaw Limit czasu w sekundach na `60` lub `120`
- Ustaw Próby ponownego połączenia na `3` i Opóźnienie ponownego połączenia na `5` sekund
- Kliknij OK i spróbuj ponownie się połączyć
W przypadku serwerów wymuszających ścisłe limity czasu bezczynności włącz również Edycja > Ustawienia > FTP > Wysyłaj polecenia podtrzymania połączenia FTP. Wysyła to polecenie no-op w regularnych odstępach czasu, aby zapobiec zamknięciu bezczynnych sesji przez serwer.
3. Przełącz się na tryb pasywny
Jest to najbardziej znacząca pojedyncza zmiana dla użytkowników za routerami NAT, domowymi połączeniami szerokopasmowymi lub firmowymi zaporami sieciowymi.
Dlaczego tryb pasywny działa: W trybie aktywnym serwer inicjuje połączenie TCP z powrotem do klienta na porcie określonym przez klienta. Większość zapór sieciowych blokuje niechciane połączenia przychodzące, powodując przekroczenie limitu czasu kanału danych nawet gdy kanał sterujący jest ustanowiony. W trybie pasywnym klient inicjuje oba połączenia, co zapory sieciowe dopuszczają.
Aby włączyć tryb pasywny:
- Przejdź do Edycja > Ustawienia > Połączenie > FTP
- Wybierz Pasywny (zalecany)
- W sekcji Ustawienia trybu pasywnego wybierz Użyj zewnętrznego adresu IP serwera, jeśli serwer zwraca prywatny adres IP w odpowiedzi PASV — częsta błędna konfiguracja w środowiskach VPS
- Kliknij OK
Jeśli uruchamiasz własny serwer FTP na instancji Hostingu VPS, musisz również skonfigurować demona FTP, aby ogłaszał swój publiczny adres IP w odpowiedziach PASV i otworzyć zakres portów pasywnych (zazwyczaj `40000–50000`) w zaporze sieciowej.
4. Diagnozuj i konfiguruj reguły zapory sieciowej
Lokalna zapora sieciowa (Windows):
- Otwórz Zapora Windows Defender z zabezpieczeniami zaawansowanymi
- Przejdź do Reguły wychodzące > Nowa reguła
- Wybierz Program, przejdź do pliku wykonywalnego FileZilla (`filezilla.exe`)
- Zezwól na połączenie zarówno w profilach Prywatnym, jak i Publicznym
Alternatywnie, przez PowerShell (uruchom jako Administrator):
“`powershell
New-NetFirewallRule -DisplayName "FileZilla FTP" -Direction Outbound -Program "C:Program FilesFileZilla FTP Clientfilezilla.exe" -Action Allow
“`
Zewnętrzne pakiety antywirusowe/zabezpieczające: Produkty takie jak ESET, Kaspersky i Bitdefender zawierają funkcję „skanowania FTP” lub „tarczy sieciowej”, która przechwytuje ruch FTP i może uszkodzić lub zablokować kanał sterujący. Wyłącz skanowanie protokołu FTP konkretnie, zamiast wyłączać cały pakiet.
Na poziomie routera: Jeśli Twój router działa z SPI (Stateful Packet Inspection) z FTP ALG (Application Layer Gateway), może próbować przepisywać odpowiedzi PASV i zawodzić na połączeniach FTPS (ponieważ kanał sterujący jest zaszyfrowany). Wyłącz FTP ALG w zaawansowanych ustawieniach routera, jeśli używasz FTPS.
5. Sprawdź status usługi FTP po stronie serwera
Jeśli masz dostęp administracyjny do serwera, sprawdź czy demon FTP działa:
Dla serwerów cPanel/WHM (vsftpd lub Pure-FTPd):
“`bash
systemctl status vsftpd
or
systemctl status pure-ftpd
“`
Jeśli zatrzymany:
“`bash
systemctl start vsftpd
systemctl enable vsftpd
“`
Sprawdź, na którym porcie demon faktycznie nasłuchuje:
“`bash
ss -tlnp | grep -E '21|22|990'
“`
Sprawdź blokady IP (zapora CSF):
“`bash
csf -g YOUR_IP_ADDRESS
“`
Jeśli Twój adres IP pojawia się na liście blokad, odblokuj go za pomocą:
“`bash
csf -dr YOUR_IP_ADDRESS
“`
Jest to często pomijana przyczyna: po kilku nieudanych próbach logowania (błędne hasło, błędny format nazwy użytkownika) automatyczne systemy zapobiegania włamaniom blokują źródłowy adres IP na poziomie zapory jądra. Połączenie następnie przekracza limit czasu bez komunikatu o błędzie od samego demona FTP, ponieważ pakiety są odrzucane przed dotarciem do usługi.
Jeśli zarządzasz serwerem przez VPS z cPanel, możesz sprawdzać reguły CSF i zarządzać nimi bezpośrednio z interfejsu WHM w sekcji Wtyczki > ConfigServer Security & Firewall.
6. Zweryfikuj certyfikat TLS dla połączeń FTPS
Podczas korzystania z FTPS (Explicit lub Implicit) uzgadnianie TLS musi zostać zakończone przed wysłaniem danych uwierzytelniających. Jeśli serwer przedstawia wygasły, samopodpisany lub niezgodny z nazwą hosta certyfikat, FileZilla może zatrzymać się podczas negocjacji, co objawia się jako przekroczenie limitu czasu zamiast wyraźnego błędu certyfikatu.
Aby zdiagnozować:
- W FileZilla przejdź do Edycja > Ustawienia > FTP > Ustawienia FTP przez TLS
- Tymczasowo włącz Zezwól na powrót do niezabezpieczonego zwykłego FTP, aby sprawdzić, czy warstwa TLS jest problemem
- Jeśli zwykłe FTP łączy się, a FTPS nie, problem dotyczy certyfikatu
W środowiskach produkcyjnych zainstaluj ważny Certyfikat SSL na serwerze i skonfiguruj demona FTP, aby się do niego odwoływał. Certyfikaty samopodpisane wymagają ręcznego zaufania odciskowi palca certyfikatu w FileZilla przy pierwszym połączeniu.
7. Przetestuj ścieżkę sieciową i rozwiązywanie DNS
Przed założeniem, że serwer jest winny, sprawdź ścieżkę sieciową ze swojego komputera:
Przetestuj łączność TCP z portem FTP:
“`bash
Windows (PowerShell)
Test-NetConnection -ComputerName ftp.example.com -Port 21
Linux/macOS
nc -zv ftp.example.com 21
“`
Odpowiedź `Connection refused` oznacza, że port jest zamknięty lub usługa nie działa. Przekroczenie limitu czasu bez odpowiedzi oznacza, że zapora sieciowa po cichu odrzuca pakiety.
Przetestuj rozwiązywanie DNS:
“`bash
nslookup ftp.example.com
Compare with
nslookup example.com
“`
Jeśli zwracają różne adresy IP i nie jesteś pewien, który jest prawidłowy, użyj bezpośrednio adresu IPv4 serwera w polu Host FileZilla, aby wyeliminować DNS jako zmienną.
8. Skonfiguruj ustawienia podtrzymania połączenia i transferu
W przypadku połączeń, które nawiązują się pomyślnie, ale zrywają się podczas dużych transferów plików lub okresów bezczynności:
- Edycja > Ustawienia > Transfery: Ustaw Maksymalna liczba jednoczesnych transferów na `1` początkowo, aby zmniejszyć obciążenie
- Edycja > Ustawienia > Połączenie > FTP: Włącz Podtrzymanie połączenia — zapobiega to kończeniu aktywnych sesji przez limity czasu bezczynności po stronie serwera
- Jeśli przesyłasz duże pliki przez wolne połączenie, zwiększ wartość Limitu czasu do `300` sekund lub więcej
Subtelna, ale ważna kwestia: niektóre serwery wymuszają limit czasu transferu danych oddzielnie od limitu czasu kanału sterującego. Jeśli transfery zaczynają się, ale zatrzymują w połowie, problem dotyczy limitu czasu kanału danych na serwerze, a nie ustawienia klienta FileZilla.
9. Rozważ SFTP jako ostateczną alternatywę
Jeśli FTP i FTPS nadal sprawiają problemy, całkowite przejście na SFTP eliminuje większość złożoności na poziomie protokołu:
- Pojedynczy port (`22`) — brak oddzielnego kanału danych, brak problemów z trybem pasywnym/aktywnym
- Domyślnie szyfrowany — nie ma potrzeby osobnego certyfikatu TLS na demonie FTP
- Natywnie obsługiwany przez OpenSSH na każdym serwerze Linux
- Obsługuje uwierzytelnianie oparte na kluczach, całkowicie eliminując ujawnianie haseł
Aby używać SFTP opartego na kluczach w FileZilla: Edycja > Ustawienia > Połączenie > SFTP > Dodaj plik klucza, a następnie zaimportuj swój klucz prywatny (format `.pem` lub `.ppk`). Ustaw Typ logowania na Plik klucza w Menedżerze witryn.
10. Zaktualizuj FileZilla i sprawdź integralność instalacji
Przestarzałe wersje FileZilla mają znane błędy wpływające na negocjację TLS i obsługę trybu pasywnego. Zawsze używaj aktualnego stabilnego wydania z filezilla-project.org.
Jeśli FileZilla został zainstalowany z zewnętrznego pakietu, może zawierać zmodyfikowane kompilacje ze zmienionym zachowaniem. Odinstaluj całkowicie, wyczyść katalog konfiguracyjny (`%APPDATA%FileZilla` w Windows, `~/.config/filezilla` w Linux) i zainstaluj ponownie z oficjalnego źródła.
Zaawansowane przypadki brzegowe i pułapki
Problemy z łącznością IPv6: Jeśli Twój system preferuje IPv6, a serwer FTP nasłuchuje tylko na IPv4 (lub odwrotnie), połączenie przekroczy limit czasu. Wymuś IPv4, wprowadzając bezpośrednio adres IPv4 serwera lub skonfiguruj swój system operacyjny, aby preferował IPv4 dla konkretnego hosta.
Zakłócenia VPN: Sieci VPN kierujące cały ruch przez tunel mogą blokować port 21 lub zmieniać źródłowy adres IP w sposób wyzwalający sprawdzanie poprawności IP po stronie serwera. Przetestuj z wyłączoną siecią VPN, aby odizolować tę zmienną.
Limity FTP hostingu współdzielonego: Niektóre środowiska Współdzielonego Hostingu WWW ograniczają jednoczesne połączenia FTP na konto (zazwyczaj 3–5). Przekroczenie tego limitu powoduje przekroczenie limitu czasu przez nowe próby połączenia. Zamknij wszystkie istniejące sesje FTP przed ponownym połączeniem.
ProFTPD z `IdentLookups on`: Jeśli serwer uruchamia ProFTPD z `IdentLookups on` w swojej konfiguracji, wykonuje wyszukiwanie protokołu ident na łączącym się kliencie przed odpowiedzią. To wyszukiwanie prawie zawsze przekracza limit czasu w nowoczesnych sieciach (port 113 jest zablokowany), dodając 30+ sekund do czasu połączenia lub powodując pełne przekroczenie limitu czasu. Rozwiązanie jest po stronie serwera: ustaw `IdentLookups off` w `/etc/proftpd/proftpd.conf`.
Opóźnienia odwrotnego wyszukiwania DNS: Podobnie, vsftpd z `reverse_lookup_enable=YES` (domyślnie w niektórych dystrybucjach) wykonuje wyszukiwanie PTR na adresie IP klienta. Jeśli Twój dostawca usług internetowych nie ma skonfigurowanych rekordów PTR, to wyszukiwanie przekracza limit czasu i opóźnia lub przerywa połączenie. Ustaw `reverse_lookup_enable=NO` w `/etc/vsftpd.conf`.
Wybór odpowiedniego środowiska hostingowego dla niezawodnego dostępu FTP/SFTP
Stabilność połączeń FTP i SFTP jest bezpośrednio związana z infrastrukturą hostingową. Środowiska współdzielone o wysokiej gęstości użytkowników często mają surowsze limity połączeń i mniej przewidywalną wydajność demona FTP. Środowisko Hostingu VPS daje pełną kontrolę nad konfiguracją demona FTP, regułami zapory sieciowej, zakresami portów pasywnych i limitami połączeń — eliminując większość przyczyn po stronie serwera omówionych w tym przewodniku.
Dla zespołów potrzebujących zarządzanego dostępu do panelu sterowania bez ręcznej administracji serwerem, Panele Sterowania VPS zapewniają graficzne zarządzanie usługą FTP, tworzenie kont użytkowników i konfigurację zapory sieciowej bez konieczności znajomości SSH.
Praktyczna macierz decyzyjna
Użyj tej listy kontrolnej, aby systematycznie izolować przyczynę przed zastosowaniem poprawek:
Jeśli połączenie nigdy się nie nawiązuje (natychmiastowe lub szybkie przekroczenie limitu czasu):
- Sprawdź host, port i protokół w Menedżerze witryn
- Uruchom `Test-NetConnection` lub `nc`, aby potwierdzić dostępność portu
- Sprawdź blokadę IP na serwerze (CSF, fail2ban)
- Potwierdź, że usługa FTP działa na serwerze
Jeśli połączenie nawiązuje się, ale przekracza limit czasu podczas logowania:
- Sprawdź format nazwy użytkownika (niektóre serwery wymagają `user@domain.com`, inne tylko `user`)
- Sprawdź ważność certyfikatu TLS dla połączeń FTPS
- Wyłącz skanowanie protokołu FTP w oprogramowaniu antywirusowym
Jeśli połączenie nawiązuje się, ale przekracza limit czasu podczas listowania katalogów lub transferu:
- Przełącz się na tryb pasywny
- Wyłącz FTP ALG na routerze
- Sprawdź, czy zakres portów pasywnych jest otwarty w zaporze sieciowej serwera
- Zwiększ wartość limitu czasu FileZilla do 120+ sekund
Jeśli połączenie zrywa się po okresie bezczynności:
- Włącz podtrzymanie połączenia FTP w ustawieniach FileZilla
- Sprawdź konfigurację limitu czasu bezczynności po stronie serwera
- Zmniejsz liczbę jednoczesnych transferów do 1
Jeśli problem jest specyficzny dla środowiska (działa z jednej sieci, nie z innej):
- Dostawca usług internetowych lub firmowa zapora sieciowa blokuje port 21
- Przełącz się na SFTP na porcie 22 jako trwałe rozwiązanie
- Przetestuj z mobilnym hotspotem, aby potwierdzić blokowanie na poziomie sieci
FAQ
Dlaczego FileZilla przekracza limit czasu, nawet gdy serwer jest online i dostępny przez przeglądarkę?
Ruch internetowy używa portów 80 i 443, które są prawie powszechnie otwarte. FTP używa portu 21 (lub 22 dla SFTP), który może być blokowany przez lokalną zaporę sieciową, dostawcę usług internetowych lub sieć firmową niezależnie od dostępu HTTP. Dostępność serwera przez HTTP nie potwierdza dostępności portu FTP.
Jaka jest różnica między błędem przekroczenia limitu czasu połączenia a błędem odmowy połączenia w FileZilla?
„Odmowa połączenia” oznacza, że serwer aktywnie odrzucił połączenie TCP — port jest zamknięty lub usługa nie działa. „Przekroczenie limitu czasu połączenia” oznacza, że pakiety wysłane do tego hosta i portu nie otrzymały żadnej odpowiedzi, co zazwyczaj wskazuje na zaporę sieciową po cichu odrzucającą ruch, a nie awarię usługi.
Czy powinienem używać FTP, FTPS czy SFTP do transferów plików w 2024 roku?
SFTP jest zalecanym wyborem dla wszystkich nowych konfiguracji. Używa jednego portu, jest domyślnie szyfrowany, obsługuje uwierzytelnianie oparte na kluczach i unika złożoności trybu pasywnego/aktywnego FTP. FTPS jest akceptowalny, gdy SFTP jest niedostępny, ale wymaga zarządzania ważnym certyfikatem TLS. Zwykłego FTP nie należy używać w żadnej sieci, w której ważna jest poufność danych uwierzytelniających lub danych.
Jak zatrzymać rozłączanie FileZilla podczas dużych przesyłań plików?
Włącz polecenia podtrzymania połączenia w Edycja > Ustawienia > Połączenie > FTP, zwiększ wartość limitu czasu do co najmniej 300 sekund i sprawdź, czy `idle_session_timeout` serwera (vsftpd) lub `TimeoutIdle` (ProFTPD) jest ustawiony wyżej niż najdłuższy oczekiwany czas transferu. Upewnij się również, że `data_connection_timeout` serwera nie jest ustawiony zbyt agresywnie.
Czy błędny zakres portów pasywnych na serwerze może powodować przekroczenia limitu czasu w FileZilla?
Tak. Jeśli demon FTP jest skonfigurowany do używania zakresu portów pasywnych (np. `40000–50000`), ale te porty nie są otwarte w zaporze sieciowej serwera, każda próba nawiązania kanału danych w trybie pasywnym przekroczy limit czasu. Kanał sterujący łączy się pomyślnie, żądanie listowania katalogów jest wysyłane, a następnie FileZilla zawiesza się czekając na połączenie danych. Otwórz zakres portów pasywnych w zaporze sieciowej serwera i upewnij się, że dyrektywy `pasv_min_port` i `pasv_max_port` (vsftpd) lub `PassivePorts` (ProFTPD) demona FTP są zgodne.
