Score:0

ไม่สามารถ ftp ในโหมดใช้งานจากอินสแตนซ์ ec2 (ในฐานะไคลเอนต์)

ธง cn

เราจำเป็นต้อง ftp ใน "โหมดใช้งาน" โดยใช้อินสแตนซ์ Ubuntu ec2 เป็น ลูกค้า บนเซิร์ฟเวอร์ระยะไกลไม่ใช่ ec2 ftp

ขออภัย เราไม่สามารถใช้ฟังก์ชัน SFTP ได้ และเราสามารถเชื่อมต่อได้โดยใช้โหมดพาสซีฟ แต่สิ่งที่เราต้องการคือใช้ "โหมดแอคทีฟ" ฉันรู้ว่าโหมดแอคทีฟเป็นปัญหาในระดับ NAT (IP ส่วนตัว-สาธารณะ) แต่มีวิธีแก้ไขหรือไม่

บนไคลเอ็นต์ (อินสแตนซ์ ec2) โดยใช้โหมดแอ็คทีฟ เราได้รับ:

#ftp 11.11.11.11
เชื่อมต่อกับ 11.11.11.11
220 (เทียบกับ FTPd 3.0.2)
ชื่อ (11.11.11.11:ubuntu): ftpuser
331 โปรดระบุรหัสผ่าน
รหัสผ่าน:
230 เข้าสู่ระบบสำเร็จ
ประเภทของระบบรีโมตคือ UNIX
ใช้โหมดไบนารีเพื่อถ่ายโอนไฟล์
ftp> ไฟล์ซีดี
250 เปลี่ยนไดเร็กทอรีเรียบร้อยแล้ว
ftp> ls
500 คำสั่ง PORT ที่ผิดกฎหมาย
ftp: bind: แอดเดรสที่ใช้งานอยู่

การกำหนดค่าเซิร์ฟเวอร์ ftp (ไม่ใช่อินสแตนซ์ ec2) มีดังต่อไปนี้:

ฟัง=ใช่
Listen_ipv6=ไม่
anonymous_enable=ไม่
local_enable=ใช่
write_enable=ใช่
dirmessage_enable=ใช่
use_localtime=ใช่
xferlog_enable=ใช่
connect_from_port_20=ใช่
ascii_upload_enable=ใช่
ascii_download_enable=ใช่
chroot_local_user=ใช่
chroot_list_enable=ใช่
chroot_list_file=/etc/vsftpd.chroot_list
ls_recurse_enable=ใช่
secure_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=ไม่
allow_writeable_chroot=ใช่
pasv_enable=ใช่
pasv_min_port=10024
pasv_max_port=10048
port_enable=ใช่
pasv_address=11.11.11.11

Inbound และ Outbound เปิดกว้างสู่สากล!

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

A.B avatar
cl flag
A.B
ทุกอย่างเกิดขึ้นในฝั่งไคลเอ็นต์เนื่องจาก FTP ที่ใช้งานอยู่เชื่อมต่อกลับจากเซิร์ฟเวอร์ไปยังไคลเอ็นต์ หากแต่ละเลเยอร์ของไฟร์วอลล์หรือ NAT ระหว่างไคลเอนต์และเซิร์ฟเวอร์ไม่ได้ใช้ [ALG](https://en.wikipedia.org/wiki/Application-level_gateway) สำหรับ FTP จะไม่ทำงาน บางทีถ้าคุณใช้ช่องสัญญาณระหว่างไคลเอ็นต์และเซิร์ฟเวอร์เพื่อหลีกเลี่ยง NAT...
Appleoddity avatar
ng flag
พิจารณาก่อนว่าอินสแตนซ์ EC2 มีการกำหนดที่อยู่ IP ส่วนตัว แต่สามารถเข้าถึงได้ผ่านเกตเวย์อินเทอร์เน็ตผ่านที่อยู่ IP สาธารณะ คำสั่ง PORT รวมถึงการส่งที่อยู่ IP ไปยังเซิร์ฟเวอร์ระยะไกลเพื่อใช้ในการเชื่อมต่อกลับไปยังไคลเอ็นต์ (ในโหมดแอ็คทีฟ) แต่ไคลเอนต์รู้เพียงว่าที่อยู่ IP ส่วนตัวของมันเท่านั้น อย่างน้อยที่สุดเซิร์ฟเวอร์ก็ได้รับที่อยู่ IP ที่ไม่ถูกต้องเพื่อเชื่อมต่อ (IP ส่วนตัวของอินสแตนซ์ EC2) ฉันไม่แน่ใจว่าเหตุใดจึงเกิดข้อผิดพลาด âaddress in useâ แต่คุณต้องแก้ปัญหาหลักก่อนที่จะกังวลเกี่ยวกับเรื่องนี้
Appleoddity avatar
ng flag
ไคลเอนต์ FTP ต้องมีคุณสมบัติในการจดจำที่อยู่ IP สาธารณะหรือกำหนดค่าที่อยู่ IP ที่ส่งในคำสั่ง PORT ไม่เช่นนั้นคุณจะต้องทำการแฮ็กที่ไร้ประสิทธิภาพอย่างน่าเหลือเชื่อเช่นนี้: https://serverfault.com/questions/889934/ftp-active-mode-and-nat-with-private-addressing-aws
Appleoddity avatar
ng flag
ไคลเอนต์ `lftp` รองรับคุณสมบัตินี้ (ระบุที่อยู่ IP สำหรับคำสั่ง PORT) `ftp:port-ipv4` ฉันแน่ใจว่ามีคนอื่นๆ ช่วงเวลาที่รุนแรงเรียกร้องให้มีมาตรการที่รุนแรง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา