Pomoc dostępu do serwera FTP - Jeden klient działa, inny nie

1

Dobra, więc jestem nowy na FTP i staram się wszystko rozgryźć. Skonfigurowałem serwer FileZilla na komputerze domowym i pomyślnie przesłałem porty do routera.

Mój ojciec może uzyskać dostęp do serwera na swoim komputerze, zalogować się i zrobić wszystko idealnie. Jest w systemie Windows XP za pomocą podstawowego polecenia ftp w wierszu polecenia.

Korzystam jednak z systemu Linux Ubuntu 11.10. Podobnie, używam tylko podstawowych poleceń ftp terminalu. Mogę połączyć się z serwerem, zalogować się i zmienić katalogi, ale wiele innych poleceń, takich jak „ls” lub „dir”, spowoduje następujący błąd:

421 Usługa niedostępna, zdalny serwer ma zamknięte połączenie

Mój tata potwierdził, że nie otrzymuje tego błędu podczas wykonywania polecenia „ls” i może faktycznie zobaczyć pliki. Ten błąd pojawia się podczas używania mojego systemu Ubuntu 11.10.

Googlowałem te problemy przez ostatnie 4 godziny, próbując znaleźć rozwiązanie, i prawie nic nie znalazłem. Natknąłem się na ten wątek, który opisuje, że oryginalny plakat ma dokładnie ten sam problem, który wydaje mi się, że mam, ale nie wygląda na to, że został rozwiązany.

http://hintsforums.macworld.com/archive/index.php/t-65259.html

Wydaje mi się, że mam pewne ustawienia na moim komputerze Ubuntu 11.10, które blokują komunikację FTP, ale nigdzie nie mogę znaleźć rozwiązania. Szukam wglądu w ten problem i z góry dziękuję!


źródło

Odpowiedzi:

1

FTP to cholernie głupi protokół, który w niektórych konfiguracjach wymaga od serwera nawiązania połączenia z klientem na porcie, który klient informuje serwer. Oznacza to, że tunelowanie go przez NAT i zapory ogniowe jest koszmarem.

Można obejść ten problem, ustawiając „tryb pasywny”, który powoduje, że klient FTP inicjuje oba połączenia. Zobacz tutaj, aby uzyskać więcej informacji: http://slacksite.com/other/ftp.html

Możliwe, że Twój NAT / zapora sieciowa nie jest skonfigurowana tak, aby zezwalała na aktywny tryb FTP. Jeśli klient FTP twojego ojca domyślnie pracuje w trybie pasywnym, to wyjaśnia, dlaczego może on sprawić, że działa, ale ty nie. (Zakładając, że łączysz się spoza NAT / zapory). Ustawienie trybu pasywnego w kliencie FTP może pomóc.

Alternatywnie możesz skonfigurować NAT / zaporę ogniową do połączeń FTP w trybie proxy; jest moduł jądra, który to robi (zwykle domyślnie włączony).

Zdaję sobie sprawę, że to nie odpowiada na twoje pytanie, ale możesz też sprawić, że cały problem zniknie, używając czegoś innego niż FTP --- HTTP lub rsyncd to dobry wybór.

David Given
źródło
To był problem z zaporami ogniowymi, a nie z moim systemem, co jest świetną wiadomością. Jednak nadal chciałbym wszystko w pełni zrozumieć. Wygląda na to, że ostatni router, przez który próbowałem się połączyć, miał zaporę ogniową uniemożliwiającą komunikację, a ten, przez który nie jestem podłączony, nie ma tego problemu. Ze względu na zrozumienie chciałbym po prostu lepiej zrozumieć sposoby rozwiązania tego problemu, gdyby pojawił się w przyszłości. Czy jestem w stanie obejść połączenie bez bezpośredniego dostępu do manipulowania ustawieniami routera?
Ustawienie trybu pasywnego w kliencie FTP powinno sprawić, że wszystko będzie działać: wszystkie połączenia są następnie inicjowane przez klienta, a router automatycznie to obsłuży. Do obsługi trybu aktywnego router wymaga specjalnej wiedzy na temat protokołu FTP.
David Biorąc pod uwagę