FTP bị treo: 150 Mở kết nối dữ liệu chế độ ASCII


15

Tôi đang thiết lập máy chủ FTP trên máy chủ Windows 2008 (R2).

Mọi thứ dường như được cài đặt chính xác nhưng tôi gặp sự cố khi sử dụng Máy khách FTP để đăng nhập vào máy chủ FTP của mình.

Tôi có thể điều khiển máy tính từ xa lên máy chủ và thông qua các lệnh DOS tôi có thể đăng nhập khá dễ dàng.

Nhưng nếu tôi phát lệnh như "TRỰC TIẾP", nó sẽ bị treo: 150 Mở kết nối dữ liệu chế độ ASCII.

Mọi thứ tôi đã nghiên cứu và đọc đều chỉ đến các cổng Tường lửa và / hoặc cài đặt chế độ Thụ động / Hoạt động.

Đây là những gì làm phiền tôi ... nếu tôi sử dụng các lệnh DOS FTP, tôi chỉ có thể đăng nhập và sử dụng lệnh "DIR" nếu tôi sử dụng "localhost" làm địa chỉ của mình.

Nếu tôi chỉ định URL FTP đầy đủ của mình, tôi sẽ gặp lỗi treo.

nếu tôi chỉ định URL "localhost", tôi sẽ không gặp lỗi.

Điều này khiến tôi tin rằng đó là sự cố Tường lửa, (hoặc thậm chí là sự cố IIS7?) Nhưng tôi không chắc chắn mình cần mở cổng nào?

Tôi có các cổng 20, 21 mở trên tường lửa Windows của mình. Tôi cũng đã mở các cổng đó trên tường lửa AWS (Amazon) của mình.

Tôi tin rằng máy khách FTP của tôi đang sử dụng một số (các) số cổng dài có khả năng bị chặn bởi một trong hai tường lửa của tôi. Ive đã sử dụng các công cụ Giám sát Mạng để thử và xem nó đang gọi cổng nào nhưng tôi không thể tìm ra.

Bất kỳ ý tưởng, lời khuyên, thủ thuật, giúp đỡ?

Câu trả lời:


9

Máy chủ FTP và máy khách FTP sẽ thương lượng các cổng nào sẽ được sử dụng để truyền dữ liệu (bao gồm danh sách thư mục khi bạn thực hiện "dir" hoặc "ls") bằng cách sử dụng "kênh điều khiển" của FTP. Vì vậy, nếu "tường lửa AWS" của bạn không thực hiện kiểm tra giao thức trên kênh này, anh ta sẽ không biết cổng nào phải tự động mở để cho phép lưu lượng truy cập (và đóng khi các cổng đó không được sử dụng nữa).

IMHO sử dụng giám sát mạng để khám phá các cổng nào đang được sử dụng không đáng để bỏ công sức vì các cổng này sẽ thay đổi cho mỗi phiên FTP mới.

Trừ khi bạn đã thực hiện xong, cách tốt nhất để khắc phục sự cố này là tìm kiếm bất kỳ tinh chỉnh nào trên tường lửa bảo vệ máy chủ FTP của bạn (nếu tôi hiểu chính xác câu hỏi của bạn thì đây sẽ là "tường lửa AWS") và xem nếu có là bất kỳ "núm" nào để cho phép kiểm tra giao thức FTP.


6

Tôi đã nhận được thông báo tương tự khi cố gắng sử dụng lslệnh để liệt kê các tệp được lưu trữ trên máy chủ lưu trữ FTP UNIX từ dòng lệnh Ubuntu của tôi. Tôi đã có thể đăng nhập thành công bằng cách sử dụng ftp ftp.example.comvà nhập tên người dùng và mật khẩu của mình khi được nhắc. Tuy nhiên, tôi sẽ nhận được 150 Opening ASCII mode data connectiontin nhắn và không có gì xảy ra. Sau đó, tôi chỉ cần nhập tùy chọn -p(thay đổi nó sang chế độ "thụ động" để xử lý tường lửa) với lệnh và nó đã hoạt động.

 ftp -p ftp.example.com

Nhập tên người dùng và mật khẩu khi được nhắc, sau đó các lệnh như lscdsẽ hoạt động. Tôi tin rằng bạn cũng có thể nhập lệnh này và nó sẽ làm điều tương tự, nhưng tôi đã không thử nó.

pftp ftp.example.com

Tôi biết câu hỏi liên quan đến Windows; tuy nhiên, với cùng một lỗi đã được tạo ra cho thấy mẹo này đáng để đăng.


Tuyệt vời .. Đã giúp tôi ngay lập tức
Sambhav Sharma 7/10/2015

5

Để có được thông tin thực sự về lý do tại sao kết nối bị kẹt, bạn sẽ phải sử dụng máy khách ghi nhật ký tất cả các lệnh giao thức để xem điều gì đang thực sự xảy ra. Có một trang web tốt trên FTP với các bản ghi ví dụ ở đây .

Mặc dù rất có thể

  1. khách hàng của bạn đứng sau tường lửa (bị câm, hoặc bị chặn bởi SSL) và đang cố gắng sử dụng FTP ở chế độ Hoạt động
  2. máy chủ của bạn đứng sau tường lửa (bị câm, hoặc bị chặn bởi SSL) và đang cố gắng sử dụng FTP ở chế độ thụ động

Nếu bạn đang sử dụng SSL, câu trả lời duy nhất là mở một phạm vi cổng (giả sử 10000-11000) trên tường lửa và định cấu hình máy chủ FTP của bạn để buộc chế độ Bị động và sử dụng phạm vi cổng đó. Nếu máy chủ của bạn đang sử dụng NAT, bạn cũng cần phải thiết lập địa chỉ IP thích hợp cho máy chủ để quảng cáo cho khách hàng, hầu hết tuân theo bất cứ điều gì máy chủ cung cấp dưới dạng chuỗi kết nối chế độ thụ động và nếu máy chủ nghĩ đó là 10.1.1.1, thì đó là gì nó sẽ nói với khách hàng

Nếu bạn không sử dụng SSL, câu trả lời tốt nhất là xem bạn có thể lấy tường lửa của mình để kiểm tra giao thức cho FTP hay không. Tường lửa sẽ đọc lưu lượng trên cổng 21 và mở bất kỳ cổng nào mà máy chủ của bạn muốn mở. Điều này thường có thể sửa địa chỉ NAT (khi tường lửa cũng đang xử lý NAT). Có lẽ bạn vẫn muốn buộc chế độ thụ động vì một số người không biết cách định cấu hình máy khách FTP của họ đúng cách và gần như mọi người đều đứng sau bộ định tuyến / tường lửa băng thông rộng ngày nay.

Nếu bạn không thể có được tường lửa thông minh hơn, thì bạn sẽ phải sử dụng tùy chọn "mở một loạt các cổng" (hoặc chuyển sang giao thức không cần mở một loạt các cổng ngẫu nhiên như sshp của ssh).


4

Tôi đã có vấn đề này và nó đã được giải quyết bằng cách làm như sau.

Tôi đã sử dụng FireFTP theo mặc định kết nối thông qua chế độ thụ động. Khi thiết lập FTP trong IIS, cổng mặc định sẽ là 21. Tôi phải mở cổng 21 trong tường lửa giúp tôi tiến xa hơn nhưng nó sẽ bị treo khi mở kết nối dữ liệu chế độ ASCII .

Hóa ra nó sau đó chọn một số cổng động khác. Tôi biết đó là một vấn đề tường lửa vì tường lửa tắt kết nối FTP tốt. Cũng cục bộ trên máy chủ - không có vấn đề.

Để khắc phục, tôi đã tải IIS (sử dụng phiên bản 8.0, tin rằng nó giống với phiên bản 7.5), ở cấp độ máy chủ của cây (đó là nút trên cùng) chỉ cần nhấp vào nó và chọn "Hỗ trợ tường lửa FTP". Mỗi trang FTP bạn sử dụng sẽ sử dụng các phạm vi cổng này, các trang FTP riêng lẻ sẽ có tùy chọn này được tô màu vì nó được kế thừa từ phần này.

Trong Phạm vi Cổng Kênh Dữ liệu, chỉ định x số lượng cổng, trong trường hợp của tôi 10000-10125 .

Bây giờ, trong tường lửa của bạn mở ra phạm vi cổng TCP đó là "Phạm vi cổng thụ động FTP".

Sau đó tôi nghĩ rằng vấn đề sẽ được giải quyết, nhưng không hoàn toàn. Đảm bảo khởi động lại dịch vụ Microsoft FTP để chọn phạm vi cổng mới. Đóng FireFTP / client và thử lại và lần này trong bất kỳ may mắn nào bạn sẽ tham gia. :)


1

Tôi có cùng một vấn đề với bạn và sửa chữa ngay bây giờ.

Những gì tôi đã làm là mở Windows Firewall (Win7), nhấp vào 'Cho phép chương trình hoặc tính năng thông qua Windows Firewall', sau đó trong danh sách 'Các chương trình và tính năng được phép', tìm hiểu 'Chương trình truyền tệp' và đánh dấu vào hộp kiểm.

Sau khi xong, hãy mở Dấu nhắc lệnh và nhập ftp XXXX, đăng nhập và sau đó ls / dir / get / put, tất cả đều hoạt động ngay bây giờ.

Nhưng tôi vẫn không kết nối được từ File Zilla và Trình duyệt web, hy vọng nó hữu ích cho bạn.


1

Kiểm tra đồng bộ hóa thời gian của máy chủ của bạn


1

Đừng làm hỏng bất cứ điều gì trên thiết lập của bạn

Chỉ cần thêm Quy tắc đi trong Windows Firewall với bảo mật nâng cao và đặt cổng số 20.

Tận hưởng FTP trên CLI


1

Vấn đề đối với tôi là trên PC cục bộ chứ không phải máy chủ từ xa. Tôi xác nhận cài đặt dịch vụ FTP trên máy chủ từ xa đã mở đúng tất cả các cổng trên tường lửa máy chủ mà nó cần, vì vậy đó không phải là vấn đề. Đó là PC khách địa phương của tôi không chơi cùng. Vì thế,

  1. Tôi đã mở Windows Defender Firewall.
  2. Sau đó, tôi nhấp vào liên kết bên trái, "Cho phép ứng dụng hoặc tính năng thông qua Windows Defender Firewall":

nhập mô tả hình ảnh ở đây

  1. Tôi đã cuộn xuống Chương trình truyền tệp và kiểm tra các hộp cho Miền, Riêng tư và Công khai:

nhập mô tả hình ảnh ở đây

Điều này cuối cùng đã sửa lỗi này cho tôi! Khi tôi đi thử lại một lệnh LS, phản hồi là tức thời và không còn bị treo nữa.


0

Chúng tôi đã giải quyết vấn đề này bằng Trình hướng dẫn quy tắc mới trong tường lửa của Windows Firewall. Chọn Chương trình, sau đó chọn C: \ Windows \ System32 \ ftp.exe, Cho phép kết nối, Kiểm tra tùy chọn; Tên miền, Riêng tư, Công khai (bạn có thể hạn chế sau này nếu cần), đặt tên cho quy tắc và bạn đã hoàn tất.

Bây giờ ftp đến một trang web ftp và xác minh dir hoặc ls trả lời đúng.


0

Tôi đã gặp vấn đề tương tự như OP

Lệnh 200 PORT thành công.
150 Mở kết nối dữ liệu chế độ ASCII.
425 Không thể kết nối dữ liệu mở.

Tôi gặp phải vấn đề trên khi tôi cố gắng sử dụng chế độ thụ động trên dòng lệnh trong Windows.
Tôi tìm thấy thông tin tôi muốn bằng cách tìm kiếm các tài liệu:

IE thường sử dụng chế độ thụ động, trong khi tiện ích dòng lệnh (lệnh ftp) luôn sử dụng chế độ hoạt động.

Tôi đã thử hoạt động trước đây của tôi trong IE và nó đã hoạt động.

nguyên liệu liên kết https://forums.iis.net/t/1207342.aspx?150+Opening+ASCII+mode+data+connection+for+file+list+425+Can+t+open+data+connection+

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.