Jak skonfigurować vsftpd w trybie pasywnym

Jakiś czas temu stawiałem mały serwer FTP na vsftpd. Nie jest to coś skomplikowanego, jednak, jak zawsze u mnie, nie obeszło się bez problemów. Otóż pliki, owszem, kopiowały się bardzo ładnie, ale samo nawiązanie transmisji, włącznie z listowaniem zawartości katalogów trwało wieki, a gFTP potrafił wręcz się zawiesić podczas tej operacji.

Wszystko wydawało się być OK, włącznie z konfiguracją firewalla serwera, bo zostały odblokowane porty 20 i 21. Port 21 na serwerze służy do odbierania komend od klienta, a port 20…, a port 20, jak mi się wydawało, służy do przesyłania danych. To drugie jest jednak prawdą tylko w trybie aktywnym, gdy klient otwiera u siebie port n i prosi serwer o wysyłanie danych z 20 na n.

Jednak gFTP (przy domyślnych ustawieniach) czy większość przeglądarek internetowych działa w trybie pasywnym, co jest korzystne dla klienta, który nie musi się troszczyć o to, by odblokować n na swoim firewallu. No tak, ale w tej sytuacji to serwer musi współpracować z firewallem, który pozwoli na transmisję na innych niż tylko 20 i 21 portach. I u mnie właśnie dał znać o sobie ten problem. Istotę kłopotów można łatwo stwierdzić, łącząc się przez konsolowego klienta ftp, który domyślnie pracuje w trybie aktywnym. Jeżeli wydanie komendy ls działa w nim sprawnie, a po przejściu w trym pasywny (polecenie passive) listowanie trwa wieki, to pewnie musimy odblokować na serwerze dodatkowe porty.

A jakie to porty? Losowe, niestety, ale możemy w /etc/vsftpd/vsftpd.conf ustalić ich zakres. Ponadto w moim przypadku okazało się, że trzeba ustawić na sztywno (inaczej nie potrafię) adres IP serwera, gdyż bez tego klient nie wie, spod jakiego adresu ma pobierać dane. Dopisałem zatem:

pasv_address=123.123.123.123
pasv_min_port=50000
pasv_max_port=50100

Zakres portów może być inny, wybrałem taki, który z niczym nie powinien kolidować.

Jeżeli potrzebowałbyś łączyć się z upartym serwerem, który pracuje w trybie aktywnym, możesz użyć wspomnianego ftp lub zmienić konfigurację gFTP, odznaczając FTP -> Opcje -> FTP -> Pasywna transmisja plików.

By dowiedzieć się więcej o obu trybach FTP, przeczytaj tekst pt. Aktywny i pasywny tryb FTP.

Dodawanie komentarzy

XHTML: Możesz używać tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">