我正在以主动 ftp 模式运行 ProFTPD 版本 1.3.3c,并具有以下防火墙规则。
但无论何时,我列出目录时,它都太慢了。虽然需要时间,但目录和文件还是会列出。
一旦我刷新 iptables 规则,它就很快了。我在这条规则中遗漏了什么?
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
答案1
您使用的是被动 FTP 吗?如果是,您还需要打开 1023 以上的一系列端口。具体使用哪个端口并不重要,但通常使用 2000-3000。
为了测试这是否是您的问题,请将您的 FTP 客户端设置为 ACTIVE(或将其命名为 PASSIVE 的相反选项),看看是否仍存在相同的问题。如果没有,那么您需要打开一些高端口以允许被动操作发生。
答案2
您还需要为数据套接字打开端口 TCP 20。关联
答案3
首先,FTP 是目前仍在使用的最糟糕的协议。如果可能的话,你应该使用 SSH。
主动 FTP 要求客户端打开端口 20。这在大多数情况下显然是不可能的,并且违反了所有合理行为和防火墙配置规则。这就是为什么大多数人只使用被动 FTP,它要求服务器上除了端口 21 之外还打开一系列高编号端口。
此网站有更多解释和一些有用的图表: http://slacksite.com/other/ftp.html