P : Czym są PASV lub PORT i której z tych opcji użyć?

przeznaczone dla : użytkowników ftp / właścicieli serwerów ftp

przeczytaj tą stronę po niemiecku

O : Większość użytkowników nie wie czym są komendy PASV (Passive) czy PORT, i oczywiście nie jest to ich wina, przede wszystkim należy sobie uzmysłowić, że każda sesja FTP używa dwóch połączeń TCP, i kiedy łączysz się z serwerem FTP to właśnie pierwsze połączenie, zaś kiedy chcesz  WYLISTOWAĆ KATALOG lub PRZESŁAĆ PLIK, wymagane będzie drugie połączenie TCP, i właśnie te dwa polecenia są wykorzystywane do NAWIĄZANIA (negocjacji) drugiego połączenia TCP.

Zapewne poczujesz się dziwnie zastanawiając się  dlaczego do przesyłu danych potrzebne są dwie komendy zamiast jednej? I jest to słuszna uwaga, bo istotnie na początku komenda PORT wystarczała, jednak wraz z wprowadzeniem dużej ilości oprogramowania FIREWALL i urządzeń NAT, komenda PORT staje się bezużyteczna, stąd wprowadzono komendę PASV, znaną także jako transfer danych przyjazny zaporom ogniowym (FIREWALLom).

Teraz powiemy Ci na czym polega różnica pomiędzy tymi dwoma komendami:

PORT : klient FTP MÓWI serwerowi ftp, żeby połączył się z adresem IP klienta (z numerem portu)

PASV : serwer FTP MÓWI klientowi, żeby połączył się z adresem IP serwera (z numerem portu)

Nie będzie trudno zauważyć, że:

PORT nie będzie działać : jeśli klient FTP nie zna swojego prawdziwego adresu IP (kiedy klient znajduje się za NAT)

PASV nie będzie działać : jeśli serwer FTP nie zna swojego prawdziwego adresu IP (kiedy ten serwer znajduje się za NAT)

Gdzie więc możesz zobaczyć polecenia PORT/PASV i odpowiedzi na nie?! Dokładnie tak, spraw sobie lepszego klienta FTP z oknem statusu:) Sugerujemy: FlashFXP , CuteFTP , Windows Commander i wiele innych, o których nie będziemy wspominać...  ale oczywiście istnieje mnóstwo klientów, które nie pokaża ani komend, ani odpowiedzi na nie.

Teraz powinieneś już wiedzieć jak poprawnie przeprowadzić konfigurację w przypadku napotkanych problemów z poleceniami PORT i PASV.

Problem 1: Twój klient FTP nie może WYLISTOWAĆ  zawartości  KATALOGU (LIST DIR) , a Ty widzisz komunikat o błędzie "PORT command failed error", ponieważ komendę tą wysyła klient FTP, jeśli adres IP oraz PORT klienta wyświetlone w tym poleceniu wyglądają na adres komputera znajdującego się za NAT

Adresy przydzielone prywatnym sieciom
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

Jeśli wiesz, że wina leży po stronie klienta, możesz spróbować zasugerować użytkownikowi FTP ażeby skonfigurował poprawnie swojego klienta FTP, zasugeruj użycie trybu pasywnego (PASV), a nie użycia PORT, zwłaszcza kiedy dla jego klienta FTP to bez różnicy

Problem 2: Twój klient może nawiązać połączenie z serwerem FTP, ale nie może WYLISTOWAĆ zawartości KATALOGU (LIST DIR) a Ty widzisz komunikat błędu: PASV failed, nikt nie podłącza się do IP:PORT , powinieneś przyjrzeć się ustawieniom IP+PORT... czy to wygląda na adres komputera znajdującego się za NAT?

Adresy przydzielone prywatnym sieciom
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

i jeśli istotnie tak jest, właściciel serwera powinien skonfigurować go poprawnie, nie powinien pozwolić, żeby serwer FTP używał wewnętrznego adresu IP (przeczytaj : http://www.raidenftpd.com/en/raiden-ftpd-doc/howto-setup-ip.html ), jeśli zaś IP+PORT wyglądają na poprawne i są takie same, jak adres IP serwera, powodów może być wiele, i z reguły nie uda Ci się dojść przyczyny tego stanu rzeczy od razu, wtedy spróbuj następujących kroków:

1.Zmień klienta FTP na innego lub uaktualnij do nowszej wersji, tak - nie powinieneś wątpić - zdarzają się ŹLE napisane programy FTP, jednak ich nazw nie będziemy tutaj wymieniać. Zwróć także uwagę, że kiedy wykonujesz transfer FXP, drugi serwer staje się także klientem FTP, a oczywistym jest też fakt, że zdarzają się także źle napisane serwery FTP, ale ich nazw również nie będziemy wymieniali.

2.JEŚLI jesteś użytkownikiem FTP, sprawdź, czy nie masz uruchomionego oprogramowania FIREWALL lub innej aplikacji zapewniającej bezpieczeństwo, a blokującej połączenia - i jeśli tak jest - usuń ją

3.JEŚLI jesteś właścicielem serwera, sprawdź, czy nie masz uruchomionego oprogramowania FIREWALL lub innej aplikacji zapewniającej bezpieczeństwo, a blokującej połączenia - i jeśli tak jest - usuń ją

Czy pozbyłeś się już wszystkich problemów? Przykro nam, ale odpowiedź brzmi NIE, i nie przekonasz się o tym, dopóki nie usiądziesz po obu stronach połączenia klient/serwer, a powód jest banalny - skąd możesz wiedzieć, czy w sieci klienta znajduje się JAKIŚ FIREWALL? Lub jako klient - skąd możesz wiedzieć, czy w sieci, w której pracuje serwer znajduje się JAKIŚ FIREWALL? Oczywiście... NIE MOŻESZ TEGO WIEDZIEĆ.

i nawet gdybyś był właścicielem zarówno komputera klienckiego, jak i serwera, skąd możesz wiedzieć czy administrator sieci lub dostawca usług internetowych nie zainstalowali oprogramowania firewall na GATEWAY'u? Odpowiedź pozostaje ta sama - NIE MOŻESZ TEGO WIEDZIEĆ...

więc skoro występuje u Ciebie któryś z w/w błędów... spróbuj postąpić zgodnie z powyższymi krokami i ZNALEŹĆ SWOJE WŁASNE ROZWIĄZANIE, ponieważ program RaidenFTPD nie ma problemów z obsługą PASV/PORT, a skoro nawet Ty nie znasz źródła problemu, rozwiązanie musisz znaleźć sam. A cała wiedza do tego potrzebna została zawarta na tej stronie.

I to wszystko

 

Copyright © RaidenFTPD TEAM , ALL RIGHTS RESERVED

REVISION 2.2 , 2002/06/08