FTP 服务器在被动模式下超时,我只能使用主动模式

FTP 服务器在被动模式下超时,我只能使用主动模式

我在 Ubuntu Server 10.04 上运行 Proftpd。Filezilla 配置为在发生故障时切换到主动模式,但 MLSD 超时时连接失败;Filezilla 需要优先使用主动模式进行连接。Corefp 从被动模式切换到主动模式,并使用 LIST。我不认为我特别需要被动模式,但从 Google 搜索结果中我了解到被动模式是被鼓励的。虽然我在 NAT 后面进行故障排除,但我使用的是我自己网络分配的 IP。否则,我有一条业务线,因此外部 IP 是静态的,有线电视公司的路由器将端口转发到服务器。我的服务器是否配置为被动模式,如果是:让被动模式工作是否重要?以及如何做到这一点。

客户端日志和 proftpd.conf

答案1

据我所知,您正在连接到您的内部的ip (192.168.1.53),但服务器给出其外部的IP(71.127.90.47)根据伪装地址指令。您还使用了 TLS,这就是路由器可能无法跟踪 FTP 连接的原因。

我的 pureftpd 服务器也遇到了同样的问题,我通过启动两个不同的地址来通告(例如您例子中的 MasqueradeAddress)解决了这个问题,一个用于内部区域,一个用于外部区域(外部地址正在被 ciso 路由器静态 NAT)。这些服务器进程监听不同的端口(10021 和 20021)。我还在我的 iptables 配置中添加了以下字符串:

-A PREROUTING -i eth0 -p tcp -m tcp --dport 21 -j REDIRECT --to-ports 10021
-A PREROUTING -i eth1 -p tcp -m tcp --dport 21 -j REDIRECT --to-ports 20021

如您所见,来自内部网络的所有请求都被重定向到“本地”服务器,所有其他请求都被重定向到“互联网”服务器。

我希望我理解正确了这个问题并且我的解释足够清楚。

PS 关于 FTPtest.net。我也用这个测试器测试了我的服务器,但它有非常严格的规则。我的测试通过了http://www.net2ftp.com/

答案2

更简单的答案是将您的 ftp 客户端设置为主动模式。Filezilla 在列出的“传输设置”下有此功能。

可能不太整洁,但对我来说很有用;)

相关内容