Konfiguracja serwera FTP z pasywnym trybem transferu (vsftpd) w Linux
Linux

Konfiguracja serwera FTP z pasywnym trybem transferu (vsftpd) w Linux

Konfiguracja serwera FTP z pasywnym trybem transferu (vsftpd) w Linux

vsftpd (Very Secure FTP Daemon) to jeden z najczęściej używanych serwerów FTP w systemach Linux. Domyślnie obsługuje zarówno aktywny, jak i pasywny tryb transferu plików.

Pasywny tryb FTP jest zalecanym rozwiązaniem, ponieważ działa poprawnie za firewallami i NAT-em.
Tryb aktywny FTP często napotyka problemy z zaporami sieciowymi i routerami.

W tym artykule dowiesz się:
🔹 Jak działa tryb pasywny FTP?
🔹 Jak skonfigurować vsftpd w trybie pasywnym?
🔹 Jakie porty otworzyć w firewallu?
🔹 Jak sprawdzić, czy serwer działa poprawnie?


1. Jak działa pasywny tryb FTP?

W trybie pasywnym to klient FTP inicjuje połączenie z serwerem na losowym porcie. Jest to bardziej kompatybilne z zaporami sieciowymi, ponieważ:
Nie wymaga otwierania portów na komputerze klienta
Działa bez potrzeby konfiguracji NAT na routerze

Jak działa transfer w trybie pasywnym?

1️⃣ Klient FTP łączy się z serwerem na porcie 21 (port sterujący).
2️⃣ Serwer FTP wysyła klientowi numer portu do transferu danych.
3️⃣ Klient łączy się do wskazanego portu i pobiera pliki.

📌 Zaleta: W przeciwieństwie do trybu aktywnego, w którym serwer próbuje otworzyć połączenie zwrotne, w trybie pasywnym cały ruch jest inicjowany przez klienta.

Konfiguracja serwera FTP z pasywnym trybem transferu (vsftpd) w Linux
Konfiguracja serwera FTP z pasywnym trybem transferu (vsftpd) w Linux

2. Instalacja vsftpd w Ubuntu/Debian

Jeśli nie masz jeszcze vsftpd, zainstaluj go poleceniem:

sudo apt update
sudo apt install vsftpd -y

Sprawdź status usługi:

sudo systemctl status vsftpd

Jeśli serwer nie działa, uruchom go:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

3. Konfiguracja trybu pasywnego w vsftpd

Otwórz plik konfiguracyjny:

sudo nano /etc/vsftpd.conf

🔹 Krok 1: Wyłączenie trybu aktywnego
Aby wymusić tryb pasywny FTP, wyłącz tryb aktywny:

port_enable=NO

🔹 Krok 2: Włączenie trybu pasywnego
Dodaj lub zmodyfikuj następujące linie:

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

🔹 Krok 3: Ustawienie adresu IP serwera
Jeśli serwer FTP działa w sieci NAT, podaj zewnętrzny adres IP:

pasv_address=Twoj_Zewnetrzny_IP

Jeśli masz dynamiczny adres IP, możesz użyć domeny (np. z Dynamic DNS).

Czytaj  Narzędzia Diagnostyczne i Monitorowanie Systemu w Linuxie

🔹 Krok 4: Zezwolenie na transfer danych
Dodaj regułę:

pasv_addr_resolve=YES

🔹 Krok 5: Zapisz zmiany i zrestartuj serwer
Zapisz plik (Ctrl + X, Y, Enter) i uruchom vsftpd ponownie:

sudo systemctl restart vsftpd

4. Konfiguracja firewalla dla pasywnego FTP

Jeśli korzystasz z ufw, otwórz porty dla FTP:

sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp

Dla iptables:

sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 40000:50000 -j ACCEPT

Sprawdź, czy firewall działa:

sudo ufw status

Jeśli używasz AWS, Google Cloud lub OVH, otwórz te porty w ustawieniach zapory sieciowej.


5. Testowanie pasywnego FTP

📌 Sprawdzenie logów serwera FTP
Po konfiguracji warto sprawdzić, czy serwer działa prawidłowo:

sudo tail -f /var/log/vsftpd.log

📌 Testowanie połączenia FTP w trybie pasywnym
Z komputera-klienta użyj polecenia:

ftp adres_IP_serwera

Po zalogowaniu wpisz:

ls

Jeśli widzisz listę plików, oznacza to, że konfiguracja działa poprawnie.


6. Częste problemy i ich rozwiązania

Problem Rozwiązanie
Błąd „Connection timed out” Otwórz porty 40000-50000 w firewallu i NAT
Połączenie FTP działa, ale nie pokazuje plików Sprawdź pasv_address=Twoj_Zewnetrzny_IP w vsftpd.conf
Serwer FTP działa, ale klient nie może pobierać plików Upewnij się, że pasv_enable=YES jest aktywne

7. Dlaczego warto używać pasywnego FTP?

Lepsza kompatybilność z firewallami – klient inicjuje wszystkie połączenia.
Łatwiejsza konfiguracja w sieciach NATserwer nie musi otwierać portów zwrotnych.
Większe bezpieczeństwo – unika problemów związanych z otwieraniem losowych portów na kliencie.

📌 Tryb pasywny jest obecnie standardem w konfiguracji FTP i zalecanym rozwiązaniem.


Podsumowanie

Tryb pasywny FTP działa lepiej w nowoczesnych sieciach, ponieważ klient inicjuje połączenie.
Wymaga otwarcia portów 40000-50000, ale działa za firewallami i NAT-em.
Konfiguracja w vsftpd jest prosta, wystarczy dodać pasv_enable=YES i określić zakres portów.

Czytaj  Jak zabezpieczyć serwery Windows i Linux przed najczęstszymi atakami ransomware w 2025 roku

Jeśli masz problemy z połączeniem, sprawdź ustawienia firewalla oraz upewnij się, że serwer widzi poprawny adres IP.

Polecane wpisy
SELinux i AppArmor: Czy te tarcze są wystarczające do ochrony serwerów Linuxowych?
SELinux i AppArmor: Czy te tarcze są wystarczające do ochrony serwerów Linuxowych?

🛡️ SELinux i AppArmor: Czy te tarcze są wystarczające do ochrony serwerów Linuxowych? 🔍 Porównanie i analiza skuteczności systemów MAC Czytaj dalej

Wprowadzenie Windows Subsystem for Linux (WSL)
Wprowadzenie Windows Subsystem for Linux (WSL)

Windows Subsystem for Linux (WSL) to funkcja wprowadzona przez Microsoft, która umożliwia uruchamianie systemu operacyjnego Linux wewnątrz systemu Windows 10. Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.