我正在运行 Ubuntu 18.04,运行 pure-ftpd 1.0.46,配置如下:
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.
答案1
显然 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