Điểm:0

Centos7 không thể kết nối với máy chủ FTP, lệnh 200 PORT thành công. Cân nhắc sử dụng PASV. 425 Không thể thiết lập kết nối

lá cờ cn

tôi đang cố gắng kết nối máy chủ linux ftp trong dấu nhắc lệnh của cửa sổ nó hoạt động tốt khi cổng ftp là mặc định (20, 21)

nó không hoạt động sau khi tôi thay đổi cổng mặc định của FTP, FTP-DATA

vâng, tôi đã kiểm tra tường lửa (nó giống nhau ngay cả khi dừng tường lửa), và vâng, tôi đã kiểm tra tệp vsftpd.conf

có điều gì khác để kiểm tra xem cổng có thay đổi không? tôi nghĩ chỉ có vsftpd.conf là thứ ảnh hưởng đến cổng FTP và FTP-DATA

  • hoạt động tốt khi cổng là mặc định (20, 21)

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

  • 425 Không thể thiết lập kết nối. khi tôi thay đổi cổng

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

và đây là tệp /etc/vsftpd/vsftpd.conf của tôi

nặc danh_enable=KHÔNG
local_enable=CÓ
write_enable=CÓ
local_umask=022
listen_port=39021 # thêm cái này
dirmessage_enable=CÓ
xferlog_enable=CÓ
connect_from_port_20=KHÔNG
ftp_data_port=39020 # thêm cái này
xferlog_std_format=CÓ
ftpd_banner=Chào mừng đến với dịch vụ FTP blah.
chroot_local_user=CÓ
chroot_list_enable=CÓ
chroot_list_file=/etc/vsftpd/chroot_list
lắng nghe = CÓ
port_enable=CÓ
pam_service_name=vsftpd
userlist_enable=CÓ
tcp_wrappers=KHÔNG
pasv_enable=CÓ # thêm cái này
pasv_min_port=60019 # thêm cái này
pasv_max_port=60020 # thêm cái này 
pasv_address=[IP của tôi] # thêm cái này 
allow_writeable_chroot=CÓ
port_promiscuous=YES # thêm cái này 
Nikita Kipriyanov avatar
lá cờ za
Active FTP tạo kết nối *ngược* (từ máy chủ đến máy khách). Tắt (hoặc chuẩn bị) tường lửa trên *cả hai* máy để nó hoạt động. Có vẻ như máy khách của bạn hoặc thứ gì đó ở giữa chưa sẵn sàng để máy chủ kết nối từ cổng không mặc định. Cố gắng nắm bắt lưu lượng truy cập (ví dụ: Wireshark, tcpdump) ở cả hai phía để xem điều gì đang diễn ra. Ngoài ra, nó đề xuất bạn sử dụng chế độ thụ động (`PASV`), không phụ thuộc vào hành vi này, bạn đã thử chưa? // Vui lòng sao chép và dán bản ghi văn bản vào câu hỏi dưới dạng *văn bản*, không phải dưới dạng hình ảnh. Và hãy để chúng là bảng điểm hoàn chỉnh.
Điểm:2
lá cờ za

Không đủ thông tin để có câu trả lời hoàn chỉnh. Nhưng bạn phải luôn nhớ rằng FTP không phải là một giao thức đơn giản. Trong trường hợp đơn giản nhất, các tích cực FTP hoạt động như thế này:

  1. Bạn tạo kết nối điều khiển tới cổng 21 (máy chủ FTP), qua đó
  2. Bạn xác thực
  3. Bạn cho máy chủ biết nơi tạo kết nối (IP và cổng)
  4. Bạn ra lệnh cho máy chủ bắt đầu chuyển
  5. Các người phục vụ làm cho nữa kết nối với IP và cổng bạn đã nói với nó và gửi hoặc nhận dữ liệu.

Thông thường ở bước 3, bạn cho máy chủ biết IP của bạn và cổng mà máy khách FTP của bạn đang nghe, vì vậy một kết nối khác trong bước 5 đang được thực hiện theo hướng ngược lại, từ máy chủ đến bạn.

Nó sẽ như thế nào nếu có bức tường lửa ở giữa? Giả sử bạn đã bật chấp nhận các gói trên cổng 21 (hoặc cổng nào bạn sử dụng) trên máy chủ. Bạn có thể thực hiện kết nối điều khiển. Bây giờ, còn kết nối dữ liệu đảo ngược mà máy chủ tạo ra thì sao? Làm thế nào để kích hoạt điều đó?

Có hai trường hợp: bạn có thể cho phép tĩnh một số cổng (hoặc phạm vi) và định cấu hình máy khách FTP của mình để luôn sử dụng cổng đó hoặc bạn có tường lửa rất thông minh, hoạt động tích cực. nghe lén trên kết nối điều khiển, trích xuất IP và cổng và tự động tạo quy tắc tạm thời cho phép kết nối ngược lại. cái này gọi là ALG Viết tắt của Cổng cấp ứng dụng.

Làm thế nào để tường lửa biết kết nối nào để nghe lén? Nó biết FTP hoạt động trên TCP/21, vì vậy nó chỉ cần tìm bất kỳ lưu lượng truy cập nào trên cổng đó. Nếu bạn thay đổi cổng điều khiển thì sao? Bạn có thể đoán rằng: ALG sẽ không hoạt động.Tường lửa sẽ không thêm quy tắc động bổ sung nên nỗ lực đảo ngược kết nối dữ liệu sẽ không thành công.

Có một hy vọng rằng nếu bạn định cấu hình "ALG" để hoạt động với cổng không mặc định, vấn đề sẽ được giải quyết. Tuy nhiên, đây không phải là luôn luôn như vậy. Yêu cầu đầu tiên, cái mà tường lửa mà chúng ta đang nói đến? Thế giới hiện đại sử dụng tường lửa rất nhiều, ở cả hai đầu và ở giữa, đồng thời cũng sử dụng nhiều NAT (bao gồm cả CGN được các ISP sử dụng). Bất kỳ NAT nào cũng cần ALG: nó cần tạo quy tắc dịch động đối với máy khách đứng sau NAT và là người đã bắt đầu giao dịch. Bạn chỉ có thể thành công theo cách này nếu bạn có thể định cấu hình mọi ALG dọc theo đường dẫn theo cách bạn muốn. Xem tôi đang đi đâu?

có hai giải pháp chung. Đầu tiên, đơn giản: dựa vào ALG, yêu cầu bạn không bao giờ thay đổi cổng điều khiển FTP mặc định (thành thật mà nói, 20 năm quản lý máy chủ và tôi vẫn không hiểu ý nghĩa của việc sử dụng các cổng không mặc định. Điều này tạo ra nhiều vấn đề hơn là giải quyết) . Thứ hai, cũng đơn giản: sử dụng chế độ FTP thụ động.

Các thụ động FTP hoạt động như thế này:

  1. Bạn thực hiện kết nối đến cổng 21 (máy chủ FTP), thông qua đó
  2. Bạn xác thực
  3. Bạn vào chế độ thụ động và máy chủ trả lời bằng IP và cổng
  4. Bạn ra lệnh cho máy chủ bắt đầu chuyển
  5. Bạn tạo một kết nối khác với IP và cổng mà máy chủ đã thông báo cho bạn và nhận hoặc gửi dữ liệu.

Lưu ý rằng các bước thay đổi duy nhất là 3 và 5. Chúng tránh kết nối ngược lại.

Điều này giải quyết một phần vấn đề với cổng không mặc định và ALG không được kiểm soát. Nó cũng cho phép sử dụng mã hóa trên kết nối điều khiển (vốn đã phá vỡ ALG).

lá cờ so
Chính xác. Chỉ cần lưu ý rằng OP sử dụng dòng lệnh `ftp` của Windows, không hỗ trợ chế độ thụ động. Vì vậy, sự thay đổi của khách hàng là cần thiết. https://stackoverflow.com/q/18643542/850848

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.