ubuntu如何通过vsftp传输大文件
导读:Ubuntu 通过 vsftpd 可靠传输大文件的完整指南 一 安装与基础安全配置 安装服务 执行:sudo apt update && sudo apt install vsftpd 启用开机自启:sudo syste...
Ubuntu 通过 vsftpd 可靠传输大文件的完整指南
一 安装与基础安全配置
- 安装服务
- 执行:
sudo apt update & & sudo apt install vsftpd - 启用开机自启:
sudo systemctl enable --now vsftpd
- 执行:
- 核心配置 /etc/vsftpd.conf(示例)
- 关闭匿名、启用本地用户与写入:
anonymous_enable=NO、local_enable=YES、write_enable=YES - 限制用户在主目录:
chroot_local_user=YES - 被动模式与端口范围(云服务器/有防火墙环境强烈建议):
pasv_enable=YES、pasv_min_port=1024、pasv_max_port=1048 - 可选:带宽不做硬限制(按需求设定):
local_max_rate=0、anon_max_rate=0 - 文件创建掩码:
local_umask=022
- 关闭匿名、启用本地用户与写入:
- 防火墙与云安全组
- 放行 FTP 控制端口:21/TCP
- 放行被动端口范围:例如 1024–1048/TCP
- 若使用 TLS/SSL,还需放行相关端口(见下一节)
- 重启生效:
sudo systemctl restart vsftpd - 说明
- vsftpd 默认支持大文件(无需额外“大文件开关”);关键在于被动模式、带宽与超时设置合理。
二 断点续传与加密传输
- 启用断点续传
- 配置:
rest_on_restart=YES - 客户端需支持 FTP 的 REST 命令;常见客户端如 FileZilla、WinSCP 均支持,传输中可暂停后继续。
- 配置:
- 加密传输(推荐)
- 配置:
ssl_enable=YES、allow_anon_ssl=NO、force_local_data_ssl=YES、force_local_logins_ssl=YES - 协议与套件:
ssl_tlsv1=YES、ssl_sslv2=NO、ssl_sslv3=NO - 证书(示例自签,生产请用受信任 CA):
rsa_cert_file=/etc/ssl/private/vsftpd.pem、rsa_private_key_file=/etc/ssl/private/vsftpd.pem - 重启生效:
sudo systemctl restart vsftpd - 客户端连接时选择 FTP over TLS/SSL(显式)。
- 配置:
三 防火墙与 NAT 网络要点
- 云服务器/有防火墙
- 入站放行:21/TCP(控制)与 1024–1048/TCP(被动数据)
- 若客户端在内网、服务器在公网(NAT),被动模式是必须的,且需将被动地址告知客户端(见下一节进阶)
- 客户端在 NAT/复杂网络
- 使用被动模式;必要时在客户端显式设置被动地址或使用支持被动模式的 GUI 客户端(如 FileZilla)
- 验证连通
- 控制连接:
telnet 服务器IP 21或nc -vz 服务器IP 21 - 数据端口:在传输时观察是否成功建立数据通道(抓包或日志)
- 控制连接:
四 客户端操作与验证
- 图形化客户端(FileZilla)
- 协议:选择 FTP – Explicit over TLS(若启用 SSL/TLS),或普通 FTP(未加密)
- 登录后直接拖拽上传/下载大文件;支持传输暂停与恢复(断点续传)
- 命令行示例
- 上传:
lftp -u 用户名,密码 服务器IP -e "put 本地大文件.iso; quit" - 下载:
lftp -u 用户名,密码 服务器IP -e "get 远程大文件.iso; quit"
- 上传:
- 传输稳定性检查
- 观察是否能在中断后继续(断点续传)
- 查看日志定位问题:
sudo tail -f /var/log/vsftpd.log - 监控连接状态:
ss -tnlp | grep :21或netstat -tulpen | grep vsftpd
五 性能优化与常见问题
- 性能优化
- 被动模式与合理的端口范围(已在第二节给出)
- 并发控制:根据服务器资源设置
max_clients、max_per_ip,避免过载 - 升级到较新版本 vsftpd,定期分析日志与资源使用(CPU/内存/磁盘 I/O)
- 常见问题速查
- 传输中断或很慢:检查是否为被动模式、端口是否放行、网络链路稳定性
- 无法列出目录或数据连接失败:多为被动端口未放行或 NAT 配置不当
- 客户端不支持断点续传:更换支持 REST 的客户端(如 FileZilla/WinSCP)
- 安全性不足:启用 TLS/SSL 并禁用明文 FTP
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu如何通过vsftp传输大文件
本文地址: https://pptw.com/jishu/759659.html
