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  Integracja Linuxa z platformami dla deweloperów

🔹 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  Konfiguracja serwera FTP z ProFTPD w systemie Linux

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

Polecane wpisy
Problemy z dźwiękiem w Linux Ubuntu – jak je rozwiązać?
Problemy z dźwiękiem w Linux Ubuntu – jak je rozwiązać?

Problemy z dźwiękiem w Linux Ubuntu – jak je rozwiązać? Dźwięk w systemie Linux Ubuntu nie zawsze działa poprawnie od Czytaj dalej

Linux a Prywatność: Kontrola Danych i Ochrona Prywatności
Linux a Prywatność: Kontrola Danych i Ochrona Prywatności

Linux to system operacyjny, który jest często uważany za bardziej prywatny niż inne systemy operacyjne, takie jak Windows czy macOS. Czytaj dalej