我正在运行运行 pure-ftpd 1.0.46 的 Ubuntu 18.04,配置如下:
AltLog clf:/var/log/pure-ftpd/transfer.log
Daemonize yes
FSCharset UTF-8
PAMAuthentication no
TLS 1
VerboseLog yes
ChrootEveryone yes
DisplayDotFiles yes
MinUID 30
PassivePortRange 12000 13000
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
CustomerProof yes
ForcePassiveIP 185.73.xx.xx
NoAnonymous yes
PureDB /etc/pure-ftpd/pureftpd.pdb
UnixAuthentication no
被动端口范围 (TCP) 在防火墙上打开,我们的 ISP 确认上游没有 NATing 或其他网络配置。
使用(例如)GNU ftp 客户端,服务器在来自我们网络外部的测试中接受普通 FTP 没有问题。
但是,我们收到了一些客户端无法连接的报告,并出现超时等各种错误。https://ftptest.net上的测试确认了以下内容(在显式 TLS 模式下,但也在其他模式下:
Command: CLNT https://ftptest.net on behalf of 88.202.156.157
Reply: 530 You aren't logged in
Command: AUTH TLS
Reply: 234 AUTH TLS OK.
Status: Performing TLS handshake...
Status: TLS handshake successful, verifying certificate...
Status: Received 1 certificates from server.
Status: cert[0]: [cert info here]
Command: USER oddjob
Error: Could not read from socket: Error in the pull function.
有谁知道从哪里开始诊断这个?
编辑
在隐式模式下,来自 ftptest 的错误如下所示:
Status: Connecting to 2001:ba8:0:xxxxx
Status: Connected, performing TLS handshake...
Error: TLS handshake failed: An unexpected TLS packet was received.
显然,pure-ftpd 1.0.46 和 OpenSSL 1.1.1 存在问题,但 Ubuntu 18.04 尚未获得更新的 pure-ftpd 软件包。如果您手动下载 1.0.47 包并安装它,它应该可以解决您的问题。至少它对我有用。
https://bugs.launchpad.net/ubuntu/+source/pure-ftpd/+bug/1832998/
https://bugs.launchpad.net/ubuntu/+source/pure-ftpd/+bug/1832998/comments/8