可能的重复:
允许使用 IPTables 进行 FTP
我有一组非常严格的 iptables 规则,其中包含以下规则,允许我通过 ftp 进行连接
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
客户端可以正常连接,但仅此而已,在事情崩溃之前来自 ftp 客户端的以下输出可能会有所帮助:
Command: MLSD
Error: Connection timed out
Error: Failed to retrieve directory listing
Run Code Online (Sandbox Code Playgroud)
当我停止 IP 表时,一切都按预期工作
CentOS 5.5 版(最终版)
proftpd-1.3.3c-3
小智 6
您需要一个额外的规则来允许“相关”连接。这是由于 FTP 协议将一个端口用于命令而另一个用于数据。
iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
此外,您需要加载一个内核模块来跟踪相关连接。它被称为 ip_conntrack_ftp 但你如何加载它取决于你的发行版。
在 hedrat-ish 系统上,看看 /etc/sysconfig/iptables-config
归档时间: |
|
查看次数: |
8353 次 |
最近记录: |