Serwer FTP z aktywnym trybem transferu (vsftpd) – konfiguracja i wyzwania
Linux

Serwer FTP z aktywnym trybem transferu (vsftpd) – konfiguracja i wyzwania

Serwer FTP z aktywnym trybem transferu (vsftpd) – konfiguracja i wyzwania

vsftpd (Very Secure FTP Daemon) to jeden z najpopularniejszych serwerów FTP używanych w systemach Linux. Obsługuje zarówno tryb pasywny, jak i aktywny, przy czym ten drugi może powodować problemy z firewallami i NAT-em.

W tym artykule dowiesz się:
Czym jest aktywny tryb FTP i jak działa?
Jak skonfigurować vsftpd w trybie aktywnym?
Jakie są potencjalne problemy i jak im zapobiec?


1. Aktywny tryb FTP – jak działa?

Serwery FTP mogą działać w dwóch trybach transferu danych:

  • Tryb aktywny (Active Mode)
  • Tryb pasywny (Passive Mode)

W trybie aktywnym połączenie inicjowane jest w następujący sposób:

  1. Klient FTP łączy się z serwerem na porcie 21 (port sterujący).
  2. Serwer FTP otwiera połączenie zwrotne na losowy port >1023 na komputerze klienta.
  3. Klient akceptuje połączenie i rozpoczyna transfer danych.

Problem: Wymaga to otwartych portów na komputerze klienta, co często jest blokowane przez zapory ogniowe lub routery NAT.

Rozwiązanie: Dostosowanie konfiguracji firewalla lub przejście na tryb pasywny, który działa lepiej w sieciach chronionych.

Serwer FTP z aktywnym trybem transferu (vsftpd) – konfiguracja i wyzwania
Serwer FTP z aktywnym trybem transferu (vsftpd) – konfiguracja i wyzwania

2. Instalacja vsftpd na Ubuntu/Debian

Jeśli serwer vsftpd nie jest jeszcze zainstalowany, wykonaj:

sudo apt update
sudo apt install vsftpd -y

Po instalacji sprawdź status usługi:

sudo systemctl status vsftpd

Uruchom serwer, jeśli nie działa:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

3. Konfiguracja aktywnego trybu FTP w vsftpd

Otwórz plik konfiguracyjny vsftpd.conf:

sudo nano /etc/vsftpd.conf

a) Wyłączenie trybu pasywnego

Aby wymusić aktywny tryb FTP, należy wyłączyć tryb pasywny:

pasv_enable=NO

b) Włączenie trybu aktywnego

Upewnij się, że port_enable=YES jest aktywne:

port_enable=YES

c) Określenie zakresu portów dla aktywnego FTP

Domyślnie vsftpd losowo wybiera porty dla połączeń aktywnych, co może powodować problemy. Możemy określić zakres:

connect_from_port_20=YES
ftp_data_port=20

Port 20 to standardowy port dla transferu danych w trybie aktywnym.

Czytaj  Konfiguracja vsftpd do wymuszania szyfrowania połączeń FTP

Zapisz zmiany (Ctrl + X, Y, Enter) i zrestartuj serwer FTP:

sudo systemctl restart vsftpd

4. Dostosowanie ustawień firewalla

Tryb aktywny FTP wymaga, aby klient miał otwarte porty powyżej 1023, co może być problematyczne.

Jeśli używasz ufw, otwórz porty 21 i 20:

sudo ufw allow 21/tcp
sudo ufw allow 20/tcp

Dla iptables:

sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT

Jeśli serwer znajduje się za NAT, konieczne może być przekierowanie portów 21 i 20 na routerze.


5. Testowanie połączenia w trybie aktywnym

Aby sprawdzić, czy FTP działa poprawnie w trybie aktywnym, możesz użyć polecenia:

ftp adres_IP_serwera

Po zalogowaniu się wpisz:

ls

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


6. Problemy z trybem aktywnym FTP i ich rozwiązania

Problem Rozwiązanie
Firewall blokuje połączenia zwrotne Otwórz porty 20 i 21, dodaj wyjątki dla FTP
Router NAT blokuje połączenia Ustaw przekierowanie portów na routerze
Połączenie FTP zwraca błąd Sprawdź logi: cat /var/log/vsftpd.log
Klient FTP nie może odbierać danych Sprawdź ftp_data_port=20 w vsftpd.conf

7. Dlaczego lepiej używać trybu pasywnego?

🔴 Tryb aktywny FTP często napotyka problemy, zwłaszcza z firewallami i NAT.
Tryb pasywny FTP działa lepiej w nowoczesnych sieciach, ponieważ klient inicjuje połączenie.

Jeśli nie masz wymogu stosowania aktywnego trybu FTP, zalecamy konfigurację trybu pasywnego:

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

Dzięki temu połączenia FTP będą stabilniejsze i mniej podatne na blokady firewalla.


Podsumowanie

Aktywny tryb FTP wymaga otwartych portów po stronie klienta, co często powoduje problemy z firewallami.
Konfiguracja vsftpd w trybie aktywnym wymaga dostosowania portów i zapory ogniowej.
Tryb aktywny jest mniej zalecany – zamiast niego warto korzystać z trybu pasywnego.

Czytaj  Podstawowy serwer FTP (vsftpd) – prosta i szybka konfiguracja

Jeśli musisz używać aktywnego FTP, upewnij się, że zarówno serwer, jak i klient mają odpowiednie reguły firewalla oraz przekierowane porty.

Polecane wpisy
Diagnostyka dysku twardego Linux program
Diagnostyka dysku twardego Linux program

Jednym z popularnych programów do diagnostyki dysku twardego w systemie Linux jest "smartmontools". Pozwala on na monitorowanie i raportowanie stanu Czytaj dalej

Konfiguracja firewalla APF na Linuksie (Debian/Ubuntu/CentOS)
Konfiguracja firewalla APF na Linuksie (Debian/Ubuntu/CentOS)

Konfiguracja firewalla APF na Linuksie (Debian/Ubuntu/CentOS) APF (Advanced Policy Firewall) to darmowy i open-source'owy firewall dla systemów Linux. Jest łatwy Czytaj dalej