Debian FTP服务器(vsftpd)资源限制设置方法
vsftpd内置带宽限制功能,可通过修改配置文件/etc/vsftpd.conf实现,适用于大多数场景。
bandwidth_enable=YES,开启全局带宽控制。bandwidth_limit=数值(单位:字节/秒),例如bandwidth_limit=1024表示全局限制为1KB/s。local_max_rate=数值(单位:字节/秒),例如local_max_rate=512000表示本地用户最大上传速度为512KB/s。anon_max_rate=数值(单位:字节/秒),例如anon_max_rate=262144表示匿名用户最大上传速度为256KB/s。sudo systemctl restart vsftpd。Trickle是轻量级带宽管理工具,可针对特定进程限制带宽,适用于需要更灵活控制的场景。
sudo apt install trickle。-u)和下载(-d)速度(单位:KB/s),例如限制为100KB/s上传、50KB/s下载:trickle -u 100 -d 50 vsftpd。Wondershaper可限制网络接口的总带宽,适用于需要控制整个服务器FTP流量的场景。
sudo apt install wondershaper。sudo wondershaper 接口名 下载速度 上传速度(单位:kbps),例如限制eth0接口下载1Mbps、上传512kbps:sudo wondershaper eth0 1024 512。sudo wondershaper clear 接口名。通过vsftpd配置文件设置max_clients参数,限制同时连接到服务器的客户端数量。例如,限制最多10个客户端连接:max_clients=10。
通过vsftpd配置文件设置max_per_ip参数,防止同一IP地址占用过多连接。例如,限制每个IP最多5个并发连接:max_per_ip=5。
修改配置文件后,重启vsftpd服务:sudo systemctl restart vsftpd。查看vsftpd日志文件/var/log/vsftpd.log,确认连接数是否符合限制:tail -f /var/log/vsftpd.log。
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak),避免误操作导致服务异常。local_max_rate、anon_max_rate为字节/秒,bandwidth_limit也为字节/秒;Trickle和Wondershaper使用KB/s或kbps为单位。sudo ufw allow 20/tcp; sudo ufw allow 21/tcp; sudo ufw allow 1024:1048/tcp(被动模式端口范围需与vsftpd配置中的pasv_min_port、pasv_max_port一致)。