Điểm:0

Không thể ftp ở chế độ hoạt động từ phiên bản ec2 (với tư cách là khách hàng)

lá cờ cn

Chúng ta cần ftp ở "chế độ hoạt động" bằng cách sử dụng phiên bản Ubuntu ec2 làm khách hàng trên máy chủ từ xa không phải ec2 ftp.

Rất tiếc, chúng tôi không thể sử dụng chức năng sftp. Và chúng tôi có thể kết nối bằng chế độ thụ động, nhưng tất cả những gì chúng tôi cần là sử dụng "chế độ hoạt động". Tôi biết chế độ hoạt động có vấn đề ở cấp độ NAT (IP công khai-riêng tư), nhưng có cách nào để khắc phục điều đó không?

Trên máy khách (ví dụ ec2), sử dụng chế độ hoạt động, chúng tôi nhận được:

#ftp 11.11.11.11
Đã kết nối với 11.11.11.11.
220 (so với FTPd 3.0.2)
Tên (11.11.11.11:ubuntu): ftpuser
331 Vui lòng chỉ định mật khẩu.
Mật khẩu:
230 Đăng nhập thành công.
Loại hệ thống từ xa là UNIX.
Sử dụng chế độ nhị phân để chuyển các tập tin.
ftp> tập tin cd
250 Thư mục đã thay đổi thành công.
ftp> ls
500 lệnh PORT bất hợp pháp.
ftp: bind: Địa chỉ đã được sử dụng

Cấu hình máy chủ ftp (không phải phiên bản ec2) như sau:

lắng nghe = CÓ
nghe_ipv6=KHÔNG
nặc danh_enable=KHÔNG
local_enable=CÓ
write_enable=CÓ
dirmessage_enable=CÓ
use_localtime=CÓ
xferlog_enable=CÓ
connect_from_port_20=CÓ
ascii_upload_enable=CÓ
ascii_download_enable=CÓ
chroot_local_user=CÓ
chroot_list_enable=CÓ
chroot_list_file=/etc/vsftpd.chroot_list
ls_recurse_enable=CÓ
safe_chroot_dir=/var/run/vsftpd/empty
pam_service_name=ftp
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
seccomp_sandbox=KHÔNG
allow_writeable_chroot=CÓ
pasv_enable=CÓ
pasv_min_port=10024
pasv_max_port=10048
port_enable=CÓ
pasv_address=11.11.11.11

Inbound và Outbound rộng mở với thế giới!

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

A.B avatar
lá cờ cl
A.B
Tất cả đều xảy ra ở phía máy khách vì FTP đang hoạt động kết nối ngược lại từ máy chủ đến máy khách. Nếu mỗi lớp tường lửa hoặc NAT giữa máy khách và máy chủ không triển khai [ALG](https://en.wikipedia.org/wiki/Application-level_gateway) cho FTP thì sẽ không hoạt động. Có thể nếu bạn đang sử dụng đường hầm giữa máy khách và máy chủ để tránh NAT...
Appleoddity avatar
lá cờ ng
Trước tiên, hãy xem xét rằng một phiên bản EC2 có một địa chỉ IP riêng được gán cho nó, nhưng có thể truy cập thông qua một cổng internet thông qua một địa chỉ IP công cộng. Lệnh PORT bao gồm gửi địa chỉ IP đến máy chủ từ xa để sử dụng để kết nối lại với máy khách (ở chế độ hoạt động). Tuy nhiên, khách hàng chỉ biết về địa chỉ IP riêng của nó. Vì vậy, ít nhất máy chủ đang nhận được một địa chỉ IP không hợp lệ để kết nối (IP riêng của phiên bản EC2). Tôi không chắc tại sao lại xảy ra lỗi cụ thể "địa chỉ đang sử dụng" nhưng bạn phải giải quyết vấn đề chính trước khi lo lắng về điều đó.
Appleoddity avatar
lá cờ ng
Máy khách FTP phải có tính năng nhận dạng địa chỉ IP công cộng hoặc định cấu hình địa chỉ IP được gửi trong lệnh PORT. Nếu không, bạn sẽ gặp khó khăn khi thực hiện những vụ hack cực kỳ khó hiểu như thế này: https://serverfault.com/questions/889934/ftp-active-mode-and-nat-with-private-addressing-aws
Appleoddity avatar
lá cờ ng
Máy khách `lftp` hỗ trợ tính năng này (chỉ định địa chỉ IP cho lệnh PORT) `ftp:port-ipv4`. Tôi chắc chắn có những người khác. Thời điểm quyết liệt kêu gọi các biện pháp quyết liệt.

Đă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.