Windows Tips & News

แก้ไขการเข้าถึง FTP จากพีซีไคลเอนต์ Linux โดยเปิดใช้งานไฟร์วอลล์

click fraud protection

วันนี้ ฉันต้องการแบ่งปันประสบการณ์ส่วนตัวของฉันกับการเข้าถึง FTP ใน Linux ขอบคุณระบบปฏิบัติการใหม่จาก Microsoft ซึ่งฉันพบว่าไม่เหมาะกับการใช้งานประจำวัน ฉันจึงเปลี่ยนมาใช้ Linux เมื่อสองสามปีก่อน ฉันใช้เซิร์ฟเวอร์ FTP ในเครือข่ายในบ้านของฉัน และไม่สามารถเข้าถึงได้จากพีซีไคลเอนต์ของฉันที่ทำงานอยู่ Linux ซึ่งมีกฎไฟร์วอลล์เพื่อบล็อกการเชื่อมต่อขาเข้า เช่น นโยบาย INPUT ถูกตั้งค่าเป็น REJECT ใน iptables นี่คือวิธีที่ฉันแก้ไขปัญหา

ฉันถือว่านโยบาย OUTPUT นั้นยอมรับได้ทั้งบนเครื่องไคลเอนต์และเซิร์ฟเวอร์

ซอฟต์แวร์เซิร์ฟเวอร์ FTP จำเป็นต้องมีพอร์ตที่เปิดอยู่บนพีซีไคลเอนต์เพื่อสร้างการเชื่อมต่อแบบพาสซีฟ ในกรณีของฉัน พอร์ตทั้งหมดถูกปิด ยกเว้นพอร์ตที่เปิดไว้อย่างชัดเจนสำหรับซอฟต์แวร์ที่ต้องการการเชื่อมต่อขาเข้า เช่น ไคลเอนต์ torrent ของฉัน เซิร์ฟเวอร์สื่อ UPnP และอื่นๆ ปัญหาคือคุณไม่สามารถคาดเดาได้ว่าจะใช้พอร์ตใดในการเชื่อมต่อกับเครื่องไคลเอนต์ของคุณ เป็นพอร์ตสุ่มทุกครั้งที่คุณทำการเชื่อมต่อ ฉันค้นพบสองวิธีแก้ไข

โซลูชัน # 1 ใช้โมดูลเคอร์เนล nf_conntrack_ftp
โมดูลเคอร์เนล nf_conntrack_ftp อนุญาตให้คุณปลดบล็อกการเข้าถึงพอร์ตที่จำเป็นสำหรับเซิร์ฟเวอร์ FTP โดยอัตโนมัติทุกครั้งที่คุณทำการเชื่อมต่อ ข้อกำหนดเพียงอย่างเดียวสำหรับโมดูลนี้คือบรรทัดต่อไปนี้ในกฎ iptables ของคุณ (โดยปกติคือ /etc/iptables/iptables.rules) บนพีซีไคลเอนต์:

$IPT -A INPUT -i eth0 -m state --state RELATED, ESTABLISHED -j ACCEPT

มี eth0 คือชื่ออุปกรณ์เครือข่ายของคุณ

ถัดไป คุณต้องโหลด nf_conntrack_ftp หากยังไม่ได้โหลด เรียกใช้คำสั่งต่อไปนี้ในฐานะรูทบนพีซีไคลเอนต์

# modprobe nf_conntrack_ftp

หากเซิร์ฟเวอร์ของคุณใช้พอร์ตที่ไม่ใช่ค่าเริ่มต้น (นอกเหนือจากพอร์ต 21) ให้ใช้คำสั่งต่อไปนี้:

# modprobe nf_conntrack_ftp พอร์ต=your_port

สิ่งนี้จะให้การเชื่อมต่ออัตโนมัติกับพอร์ตที่จำเป็นทั้งหมดระหว่างเซิร์ฟเวอร์ FTP และซอฟต์แวร์ไคลเอนต์ของคุณ ใช้งานได้จนกว่าคุณจะรีบูทพีซีของคุณ

ในการทำการเปลี่ยนแปลงนี้อย่างถาวร คุณต้องสร้างไฟล์ข้อความใหม่ /etc/modules-load.d/conntrack_ftp.conf และเพิ่มบรรทัดต่อไปนี้ในไฟล์นี้:

nf_conntrack_ftp

ในกรณีของพอร์ตเซิร์ฟเวอร์ที่ไม่ใช่ค่าเริ่มต้น คุณต้องสร้างไฟล์เพิ่มเติม /etc/modprobe.d/conntrack_ftp.conf ด้วยเนื้อหาต่อไปนี้:

ตัวเลือก nf_conntrack_ftp พอร์ต=

นี้ควรจะเพียงพอ

โซลูชัน # 2 ใช้ช่วงพอร์ตแบบพาสซีฟคงที่
หากคุณไม่สามารถใช้โมดูล nf_conntrack_ftp ได้ คุณสามารถตั้งค่าช่วงพอร์ตคงที่สำหรับซอฟต์แวร์เซิร์ฟเวอร์ FTP และเปิดบนไคลเอ็นต์พีซี ตัวอย่างเช่น นี่คือวิธีการสำหรับแอป vsftpd

  1. ในไฟล์คอนฟิกูเรชันของ vsftpd ซึ่งโดยปกติคือ /etc/vsftpd.conf ให้เพิ่มบรรทัดต่อไปนี้:
    pasv_min_port=5500. pasv_max_port=6500

    ควรทำบนฝั่งเซิร์ฟเวอร์ หลังจากนั้นคุณควรรีสตาร์ท vsftpd

  2. ในกฎ iptables ของคุณ (โดยปกติคือ /etc/iptables/iptables.rules) บนพีซีไคลเอนต์ ให้เพิ่มกฎต่อไปนี้:
     $IPT -A อินพุต -p tcp -s  --dport 5500:6500 -j ยอมรับ
  3. ใช้กฎ iptables ดังนี้:
    # iptables-restore < /etc/iptables/iptables.rules

แค่นั้นแหละ.

Windows 11 Build 22000.588 เข้าสู่ช่อง Beta และ RP พร้อมการปรับปรุงและแก้ไขการแจ้งเตือน

Windows 11 Build 22000.588 เข้าสู่ช่อง Beta และ RP พร้อมการปรับปรุงและแก้ไขการแจ้งเตือน

ที่แนะนำ: คลิกที่นี่เพื่อแก้ไขปัญหา Windows และเพิ่มประสิทธิภาพระบบไมโครซอฟท์วันนี้ การเผยแพร่ กา...

อ่านเพิ่มเติม

Microsoft Edge Dev 100.0.1185.7 ออกโดยเปิดใช้งาน Xbox Clarity Boost เป็นค่าเริ่มต้น

Microsoft Edge Dev 100.0.1185.7 ออกโดยเปิดใช้งาน Xbox Clarity Boost เป็นค่าเริ่มต้น

Microsoft เพิ่งเปิดตัว Edge 100.0.1185.7 ให้กับ Insiders ในช่อง Dev บริษัท Redmond กำลังจะเผยแพร่...

อ่านเพิ่มเติม

Windows 10 21H2 Build 19044.1618 เพิ่มฟีเจอร์การค้นหาและชุดการแก้ไขที่ดี

Windows 10 21H2 Build 19044.1618 เพิ่มฟีเจอร์การค้นหาและชุดการแก้ไขที่ดี

ทิ้งคำตอบไว้Microsoft กำลังเผยแพร่ KB5011543 ให้กับ Insiders ใน Release Preview ซึ่งพีซีไม่มีสิทธ...

อ่านเพิ่มเติม