Zde je dokument, na který odkazuji lidi, aby mohli používat protokol FTP:http://slacksite.com/other/ftp.html
- Chcete-li používat protokol FTP v aktivním režimu, musíte povolit příchozí připojení k portu TCP 21 a odchozí připojení z portu 20.
- Chcete-li použít FTP v pasivním režimu, musíte povolit příchozí připojení k portu TCP 21 a příchozí připojení k náhodně vygenerovanému portu na počítači serveru (vyžaduje použití modulu conntrack v netfilter)
Ve svém příspěvku nemáte nic o vašem OUTPUT řetězci, takže to sem také zahrnu. Pokud je váš OUTPUT řetězec default-drop, pak na tom záleží.
Přidejte tato pravidla do konfigurace iptables:
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
Chcete-li podporovat pasivní režim FTP, musíte při zavádění načíst modul ip_conntrack_ftp. Odkomentujte a upravte řádek IPTABLES_MODULES v souboru /etc/sysconfig/iptables-config pro čtení:
IPTABLES_MODULES="ip_conntrack_ftp"
Uložte konfiguraci iptables a restartujte iptables.
service iptables save
service iptables restart
Chcete-li zcela vyloučit problém VSFTPD, zastavte VSFTPD, ověřte, že nenaslouchá na portu 21 pomocí "netstat -a" a poté spusťte :
nc -l 21
Tím začne netcat naslouchat na portu 21 a bude echo vstup do vašeho shellu. Z jiného hostitele přejděte TELNET na port 21 vašeho serveru a ověřte, že máte připojení TCP a že vidíte výstup v shellu, když zadáváte připojení TELNET.
Nakonec přiveďte VSFTPD zpět, ověřte, že naslouchá na portu 21, a zkuste se znovu připojit. Pokud připojení k netcat fungovalo, jsou vaše pravidla iptables v pořádku. Pokud po připojení netcat nefunguje připojení k VSFTPD, pak je něco špatně s konfigurací VSFTPD.