Berikut dokumen yang saya rujukkan kepada orang-orang agar mereka dapat mengikuti protokol FTP:http://slacksite.com/other/ftp.html
- Untuk melakukan FTP mode aktif, Anda harus mengizinkan koneksi masuk ke TCP port 21 dan koneksi keluar dari port 20.
- Untuk melakukan FTP mode pasif, Anda harus mengizinkan koneksi masuk ke TCP port 21 dan koneksi masuk ke port yang dibuat secara acak di komputer server (harus menggunakan modul conntrack di netfilter)
Anda tidak memiliki apa pun tentang:rantai OUTPUT Anda di pos Anda, jadi saya akan memasukkannya di sini juga. Jika rantai OUTPUT Anda default-drop maka ini penting.
Tambahkan aturan ini ke konfigurasi iptables Anda:
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
Untuk mendukung FTP mode pasif, Anda perlu memuat modul ip_conntrack_ftp saat boot. Batalkan komentar dan modifikasi baris IPTABLES_MODULES di file /etc/sysconfig/iptables-config untuk membaca:
IPTABLES_MODULES="ip_conntrack_ftp"
Simpan konfigurasi iptables dan mulai ulang iptables.
service iptables save
service iptables restart
Untuk sepenuhnya mengesampingkan VSFTPD sebagai masalah, hentikan VSFTPD, verifikasi bahwa itu tidak mendengarkan pada port 21 dengan "netstat -a" dan kemudian jalankan :
nc -l 21
Ini akan mulai mendengarkan netcat pada port 21 dan akan mengulang input ke shell Anda. Dari host lain, TELNET ke port 21 server Anda dan verifikasi bahwa Anda mendapatkan koneksi TCP dan Anda melihat output di shell saat Anda mengetikkan koneksi TELNET.
Terakhir, bawa cadangan VSFTPD, verifikasi bahwa itu mendengarkan di port 21, dan coba sambungkan lagi. Jika koneksi ke netcat berfungsi maka aturan iptables Anda baik-baik saja. Jika koneksi ke VSFTPD tidak berfungsi setelah netcat melakukannya, maka ada yang salah dengan konfigurasi VSFTPD Anda.