在 CentOS 上部署的 FTP 服务器(ftpserver)频繁掉线,常见原因和排查思路如下(以 vsftpd 为例,最常见):
FTP 是多端口协议,被动模式(PASV)尤其容易断。
检查:
systemctl status firewalld
getenforce
解决:
firewall-cmd --add-port=21/tcp --permanent
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on
客户端能连上但一传文件就掉线,基本就是 PASV 问题。
现象:
ls / 上传下载立刻断开解决:
vsftpd 默认会踢掉长时间无操作的连接。
配置:
idle_session_timeout=300
data_connection_timeout=120
云服务器、路由器后常见。
现象:
ls 卡住或直接断解决:
pasv_address=你的公网IP
journalctl -u vsftpd
dmesg | tail
可能原因:
tail -f /var/log/vsftpd.log
journalctl -u vsftpd -f
ftp localhost
告诉我这些,我可以直接给你一份可落地的配置。