PURE-ftpd +被动模式+ TLS

我有Linux(debian 7.1 wheezy),我运行pure-ftpd,创build虚拟用户,ftp文件夹。 我也安装openssl,为tls创build专用证书。 一切似乎都不错。

  • 当用户从被动模式的内部地址连接没有TLS时 – 它的工作正常。
  • 当用户从被动模式的内部地址连接到TLS时 – 工作正常。
  • 当用户从被动模式的外部地址连接没有TLS – 它的工作正常。
  • 当用户从被动模式的外部地址连接到TLS时,ftp不起作用,因为ftp服务器返回到外部客户端的本地IP地址。 客户不知道这个地址。

我也试过解决这个问题,在/etc/pure-ftpd/conf/ForcePassiveIP创buildconf文件,其中写入外部地址。 但是当用户从外部地址连接,他得到了外部地址什么是好的,但他之后有另一个连接错误。 我认为这并不好,因为来自内部networking的用户将无法连接ftp,因为他们将从ForcePassiveIP conf文件获取外部地址。

也许我可以做不同的设置两个FTP服务器,但我认为它不是最佳的。

 $ echo '30000 50000' > /etc/pure-ftpd/conf/PassivePortRange $ service pure-ftpd restart 

另外,如果您使用CSF或iptables,则需要打开30000到50000的所有端口。