Pure-FTPd – ustawienie PassivePortRange

Logo Pure-FTPDZdarza się, że po skonfigurowaniu serwera Pure-FTPd mamy problem z korzystaniem z trybu pasywnego w kliencie FTP. Na taki problem osobiście napotkałem, gdy chciałem zalogować się na serwer FTP korzystając z klienta FileZilla. Proces logowania wykrzaczał się na komendzie MLSD, czyli wysłaniu listy katalogów z serwera do klienta.

Szperałem po internecie. Nie obyło się bez czytania dokumentacji na oficjalnej stronie projektu i wydawało mi się to jakoś wybitnie mało zrozumiałe. W końcu po 30 minutach czytania i klikania wpadłem na rozwiązanie, które przedstawiam poniżej, działa na systemie Debian Wheezy i najpewniej na Ubuntu.

Parametr PassivePortRange odpowiada za przechowywanie zakresu portów, które serwer wykorzysta na potrzeby komunikacji w trybie pasywnym z klientem. Aby dodać ów parametr do konfiguracji serwera należy wykonać dwie operacje:

1. Konfigurujemy serwer Pure-FTpd wykonując poniższe operacje:

echo "40110 40210" > /etc/pure-ftpd/conf/PassivePortRange
/etc/init.d/pure-ftpd-mysql restart

W skrócie tworzymy plik o nazwie PassivePortRange w folderze /etc/pure-ftpd/conf/ wpisując do niego wartość 40110 40210, która definiuje nam zakres portów, na którym ma działać usługa. W kolejnym kroku restartujemy usługę.

2. Konfigurujemy firewall dodając wyjątek dla zakresu portów od 40110 do 40210 dla protokołu TCP.

Na przykładzie firewalla Shorewall wygląda to tak:

Przechodzimy do katalogu /etc/shorewall:

cd /etc/shorewall

Za pomocą dowolnego edytora otwieramy plik rules:

vim /etc/shorewall/rules

Na końcu dodajemy wpis:

ACCEPT          net             fw      tcp     40110:40210

Zapisujemy zmiany i sprawdzamy poprawność wpisów:

shorewall check

Gdy test przebiegnie pomyślnie, restartujemy firewalla:

service shorewall restart

Dodaj komentarz