Konfiguruję serwer FTP na moim serwerze z systemem Windows 2008 (R2).
Wygląda na to, że wszystko zostało poprawnie zainstalowane, ale mam problem z użyciem klienta FTP do zalogowania się na moim serwerze FTP.
Mogę zdalnie podłączyć pulpit do serwera i za pomocą poleceń DOS mogę dość łatwo się zalogować.
Ale jeśli wydam polecenie typu „DIR”, zostanie zawieszone: 150 Otwieranie połączenia danych w trybie ASCII.
Wszystko, co zbadałem i przeczytałem, wskazuje na porty zapory i / lub ustawienia trybu pasywnego / aktywnego.
Oto, co mnie niepokoi ... jeśli używam poleceń DOS FTP, mogę się zalogować i użyć polecenia „DIR” tylko wtedy, gdy użyję „localhost” jako mojego adresu.
Jeśli podam pełny adres URL FTP, pojawia się błąd zawieszenia.
jeśli podam adres URL „localhost”, nie otrzymuję błędu.
To prowadzi mnie do wniosku, że jest to problem z zaporą ogniową (a nawet problem z IIS7?), Ale nie jestem pewien, jakie porty muszę otworzyć?
Mam otwarte porty 20, 21 w zaporze systemu Windows. Otworzyłem również te porty w mojej zaporze sieciowej AWS (Amazon).
Uważam, że mój klient FTP używa numerów portów dalekiego zasięgu, które są potencjalnie blokowane przez jedną z moich dwóch zapór ogniowych. Użyłem narzędzi do monitorowania sieci, aby sprawdzić, które porty wzywają, ale nie mogę tego rozgryźć.
Wszelkie pomysły, porady, wskazówki, pomoc?
źródło
Aby uzyskać prawdziwe informacje o tym, dlaczego połączenie zostało zawieszone, będziesz musiał użyć klienta, który rejestruje wszystkie polecenia protokołu, aby zobaczyć, co się naprawdę dzieje. Na FTP jest dobra strona z przykładowymi dziennikami tutaj .
Najprawdopodobniej jednak
Jeśli używasz protokołu SSL, jedyną odpowiedzią jest otwarcie szeregu portów (powiedzmy 10000-11000) na zaporze i skonfigurowanie serwera FTP, aby wymuszał tryb pasywny i korzystał z tego zakresu portów. Jeśli twój serwer używa NAT, musisz również ustawić odpowiedni adres IP, aby serwer mógł się reklamować klientom, większość jest posłuszna temu, co serwer podaje jako ciąg połączenia w trybie pasywnym, a jeśli serwer myśli, że to 10.1.1.1, to właśnie to poinformuje klientów.
Jeśli nie używasz protokołu SSL, najlepszą odpowiedzią jest sprawdzenie, czy zapora sieciowa może przeprowadzić kontrolę protokołu FTP. Zapora ogniowa odczyta ruch na porcie 21 i otworzy dowolny port, który serwer chce otworzyć. To często może również naprawić adresy NAT (gdy zapora obsługuje również NAT). Prawdopodobnie nadal będziesz chciał wymusić tryb pasywny, ponieważ niektóre osoby nie wiedzą, jak poprawnie skonfigurować swojego klienta FTP, a obecnie prawie wszyscy stoją za routerem szerokopasmowym / zaporą.
Jeśli nie możesz uzyskać inteligentniejszej zapory ogniowej, musisz trzymać się opcji „otwórz kilka portów” (lub przełącz się na protokół, który nie musi otwierać wielu losowych portów, takich jak ssh sftp).
źródło
Miałem ten problem i został rozwiązany przez wykonanie następujących czynności.
Korzystałem z FireFTP, który domyślnie łączy się w trybie pasywnym. Podczas konfigurowania FTP w IIS domyślnym portem będzie 21. Musiałem otworzyć port 21 w zaporze ogniowej, co posunęło mnie o krok dalej, ale zawiesiłbym się przy otwieraniu połączenia danych w trybie ASCII .
Okazuje się, że następnie wybiera inne dynamiczne porty. Wiedziałem, że to problem z zaporą ogniową, ponieważ po wyłączeniu zapory FTP połączenia są prawidłowe. Również lokalnie na serwerze - bez problemów.
Aby to naprawić, załadowałem IIS (używając wersji 8.0, wierzę, że to samo w 7.5), na serwerze poziomie drzewa (czyli węzeł góry) Single przyciskiem myszy i wybierz „wsparcie FTP Firewall”. Każda witryna FTP, z której korzystasz, będzie korzystać z tych zakresów portów, poszczególne witryny FTP będą wyszarzone, ponieważ są dziedziczone z tej sekcji.
W polu Zakres kanałów danych podaj x liczbę portów, w moim przypadku 10000-10125 .
Teraz w zaporze otwórz ten zakres portów TCP jako „Pasywny zakres portów FTP”.
Pomyślałem wtedy, że problem zostanie rozwiązany, ale nie do końca. Uruchom ponownie usługę Microsoft FTP , aby wybrać nowy zakres portów. Zamknij FireFTP / klienta i spróbuj ponownie, a tym razem będziesz mieć szczęście. :)
źródło
Mam z tobą ten sam problem i naprawiłem go teraz.
To, co zrobiłem, to otwórz Zaporę systemu Windows (Win7), kliknij „Zezwalaj na program lub funkcję przez Zaporę systemu Windows”, a następnie na liście „Dozwolone programy i funkcje” znajdź „Program transferu plików” i zaznacz pole wyboru.
Po zakończeniu otwórz wiersz polecenia i wprowadź ftp XXXX, zaloguj się, a następnie ls / dir / get / put, wszystko działa teraz.
Ale nadal nie udało mi się połączyć z File Zilla i przeglądarki internetowej, mam nadzieję, że się przyda.
źródło
Sprawdź synchronizację czasu serwera
źródło
Nie popsuj niczego w konfiguracji
Wystarczy dodać regułę wychodzącą w Zaporze systemu Windows z zaawansowanym zabezpieczeniem i ustawić port nr 20.
Ciesz się FTP na CLI
źródło
Problem był dla mnie na lokalnym komputerze, a nie na zdalnym hoście. Potwierdziłem, że instalacja usługi FTP na zdalnym hoście już poprawnie otworzyła wszystkie porty zapory serwera, których potrzebowała, więc to nie był problem. To nie był mój lokalny komputer kliencki. Więc,
To ostatecznie mnie naprawiło! Kiedy poszedłem ponowić polecenie LS, reakcja była natychmiastowa i nie było już rozłączania.
źródło
Rozwiązaliśmy ten problem za pomocą Kreatora nowej reguły ruchu przychodzącego Zapory systemu Windows. Wybierz Program, a następnie C: \ Windows \ System32 \ ftp.exe, Zezwalaj na połączenie, Sprawdź opcje; Domena, Prywatny, Publiczny (w razie potrzeby możesz później ograniczyć), nazwij regułę i gotowe.
Teraz ftp do strony ftp i sprawdź, czy katalog lub ls odpowiadają poprawnie.
źródło
Spotkałem ten sam problem co OP
Napotkałem powyższy problem, gdy próbowałem użyć trybu pasywnego w wierszu poleceń w systemie Windows.
Znalazłem potrzebne informacje, przeszukując materiały:
Próbowałem poprzedniej operacji w IE i zadziałało. Problem rozwiązany
link do materiałów :https://forums.iis.net/t/1207342.aspx?150+Opening+ASCII+mode+data+connection+for+file+list+425+Can+t+open+data+connection+
źródło