Jak skonfigurować serwer FTP z ograniczeniem prędkości transferu (vsftpd lub ProFTPD)
Linux

Jak skonfigurować serwer FTP z ograniczeniem prędkości transferu (vsftpd lub ProFTPD)

Jak skonfigurować serwer FTP z ograniczeniem prędkości transferu (vsftpd lub ProFTPD)

Ograniczenie prędkości transferu na serwerze FTP to kluczowa funkcjonalność dla administratorów systemów, którzy chcą kontrolować wykorzystanie pasma. Dzięki niej można zapobiec nadmiernemu obciążeniu łącza przez jednego użytkownika i zapewnić równomierny dostęp do zasobów wszystkim klientom FTP.

W tym artykule omówimy:
Ograniczanie prędkości transferu w vsftpd
Konfigurację limitów transferu w ProFTPD
Monitorowanie prędkości transferu i optymalizację wydajności


1. Dlaczego warto ograniczać prędkość transferu na serwerze FTP?

🔹 Ochrona łącza internetowego – FTP może obciążać łącze, spowalniając inne usługi.
🔹 Zapewnienie równego dostępu – ograniczenie transferu dla użytkowników zapobiega monopolizowaniu pasma.
🔹 Lepsza kontrola nad ruchem sieciowym – szczególnie przy wielu użytkownikach korzystających z serwera FTP.

Jak skonfigurować serwer FTP z ograniczeniem prędkości transferu (vsftpd lub ProFTPD)
Jak skonfigurować serwer FTP z ograniczeniem prędkości transferu (vsftpd lub ProFTPD)

2. Ograniczenie prędkości transferu w vsftpd

Serwer vsftpd umożliwia ograniczenie prędkości wysyłania i pobierania plików przez użytkowników.

Instalacja vsftpd

Jeśli nie masz jeszcze zainstalowanego serwera vsftpd, wykonaj:

sudo apt update
sudo apt install vsftpd -y

Po instalacji sprawdź status serwera:

sudo systemctl status vsftpd

Jeśli nie jest uruchomiony, włącz go:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

Konfiguracja ograniczenia prędkości transferu w vsftpd

Edytuj plik konfiguracyjny:

sudo nano /etc/vsftpd.conf

🔹 Ograniczenie prędkości pobierania (download)
Dodaj lub zmodyfikuj linię:

local_max_rate=50000

Liczba 50000 oznacza 50 KB/s (wartość podawana jest w bajtach na sekundę). Możesz dostosować ten limit według potrzeb.

Czytaj  Tworzenie własnej paczki .db w systemie Linux

🔹 Ograniczenie prędkości wysyłania (upload)
Nie ma bezpośredniej opcji dla prędkości wysyłania, ale można zastosować reguły firewalla tc lub iptables (opisane w sekcji 5).

🔹 Restart serwera vsftpd
Po wprowadzeniu zmian zapisz plik (Ctrl + X, Y, Enter) i zrestartuj vsftpd:

sudo systemctl restart vsftpd

3. Ograniczenie prędkości transferu w ProFTPD

Serwer ProFTPD oferuje większe możliwości konfiguracji limitów transferu dla użytkowników, grup i całego serwera.

Instalacja ProFTPD

Jeśli nie masz jeszcze zainstalowanego ProFTPD, wykonaj:

sudo apt update
sudo apt install proftpd -y

Po instalacji sprawdź status usługi:

sudo systemctl status proftpd

Konfiguracja ograniczenia prędkości transferu w ProFTPD

Edytuj plik konfiguracyjny ProFTPD:

sudo nano /etc/proftpd/proftpd.conf

🔹 Ograniczenie prędkości pobierania i wysyłania dla całego serwera
Dodaj poniższą konfigurację:

<IfModule mod_rate.c>
  RateReadBPS 50000
  RateWriteBPS 30000
</IfModule>

📌 RateReadBPS – ogranicza prędkość pobierania (50 KB/s)
📌 RateWriteBPS – ogranicza prędkość wysyłania (30 KB/s)

🔹 Ograniczenie prędkości dla konkretnego użytkownika
Jeśli chcesz zastosować limity tylko dla wybranego użytkownika FTP (np. ftpuser):

<Limit LOGIN>
  User ftpuser
  RateReadBPS 20000
  RateWriteBPS 10000
</Limit>

🔹 Ograniczenie prędkości dla konkretnej grupy użytkowników

<Limit LOGIN>
  Group ftpgroup
  RateReadBPS 40000
  RateWriteBPS 20000
</Limit>

🔹 Restart serwera ProFTPD
Po zapisaniu pliku konfiguracyjnego zrestartuj ProFTPD:

sudo systemctl restart proftpd

4. Monitorowanie prędkości transferu

Aby sprawdzić aktualne transfery na serwerze FTP, użyj narzędzia iftop:

sudo apt install iftop -y
sudo iftop -i eth0

Jeśli chcesz monitorować tylko ruch FTP:

sudo iftop -i eth0 -f 'port 21'

Możesz również użyć vnstat:

sudo apt install vnstat -y
vnstat -l -i eth0

5. Alternatywne sposoby ograniczenia prędkości (iptables/tc)

Jeśli serwer FTP nie oferuje wbudowanego limitowania pasma, można użyć narzędzia tc (Traffic Control).

Czytaj  Konfiguracja pulpitu KDE

🔹 Ograniczenie prędkości na porcie FTP (21)

sudo tc qdisc add dev eth0 root tbf rate 100kbit burst 32kbit latency 400ms

📌 rate 100kbit – maksymalna prędkość transferu (100 kbps)
📌 burst 32kbit – rozmiar bufora danych

🔹 Ograniczenie prędkości dla konkretnego użytkownika
Aby ograniczyć prędkość dla określonego IP:

sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.1.100 police rate 50kbit burst 10kbit drop

📌 Zmień 192.168.1.100 na adres IP użytkownika FTP.

Aby usunąć limit, użyj:

sudo tc qdisc del dev eth0 root

6. Podsumowanie

vsftpd pozwala na podstawowe ograniczenie prędkości pobierania, ale nie posiada natywnej opcji dla uploadu.
ProFTPD oferuje bardziej zaawansowaną kontrolę prędkości dla użytkowników, grup i całego serwera.
✅ Możesz użyć iptables lub tc, aby kontrolować ruch FTP na poziomie systemu.
Monitorowanie transferu pomoże wykryć ewentualne problemy z obciążeniem pasma.

Jeśli szukasz prostego i lekkiego rozwiązania – wybierz vsftpd.
Jeśli potrzebujesz większej kontroli i elastyczności – ProFTPD będzie lepszym wyborem.

Polecane wpisy
Konteneryzacja z Dockerem na Linuxie: Wprowadzenie i Zastosowanie
Konteneryzacja z Dockerem na Linuxie: Wprowadzenie i Zastosowanie

Konteneryzacja to technologia, która umożliwia uruchamianie aplikacji w izolowanych środowisku, zwanych kontenerami. Kontenery są podobne do wirtualizacji, ale są lżejsze Czytaj dalej

Konfiguracja tuneli VPN z wykorzystaniem OpenVPN Access Server
Konfiguracja tuneli VPN z wykorzystaniem OpenVPN Access Server

Konfiguracja tuneli VPN z wykorzystaniem OpenVPN Access Server OpenVPN to jeden z najpopularniejszych protokołów do tworzenia bezpiecznych połączeń VPN, oferujący Czytaj dalej