Ubuntu如何限制vsftp访问速度
导读:Ubuntu限制vsftpd访问速度的常用方法 1. 通过vsftpd配置文件设置基础带宽限制(推荐) 这是最直接的方式,适用于大多数场景,通过修改vsftpd的主配置文件/etc/vsftpd.conf实现。 安装vsftpd(若未安装...
Ubuntu限制vsftpd访问速度的常用方法
1. 通过vsftpd配置文件设置基础带宽限制(推荐)
这是最直接的方式,适用于大多数场景,通过修改vsftpd的主配置文件/etc/vsftpd.conf
实现。
- 安装vsftpd(若未安装):
sudo apt update & & sudo apt install vsftpd
- 编辑配置文件:
使用文本编辑器(如nano
)打开配置文件:sudo nano /etc/vsftpd.conf
- 设置带宽参数:
在文件中添加或修改以下参数(单位:字节/秒),根据需求调整数值:- 限制本地用户下载速度:
local_max_rate=5242880
(约5MB/s,5×1024×1024); - 限制匿名用户下载速度:
anon_max_rate=204800
(约200KB/s,200×1024); - 限制本地用户上传速度:
local_max_rate
同样适用(上传速度通常与下载速度分开限制,需确保write_enable=YES
开启写权限)。
示例配置片段:
local_enable=YES write_enable=YES local_max_rate=5242880 # 本地用户下载/上传限制为5MB/s anon_max_rate=204800 # 匿名用户下载限制为200KB/s
- 限制本地用户下载速度:
- 保存并重启服务:
按Ctrl+X
→Y
→Enter
保存文件,然后重启vsftpd使配置生效:sudo systemctl restart vsftpd
2. 使用tc命令进行高级流量控制(可选)
若需要基于IP、接口或更细粒度的带宽分配(如限制某台主机的FTP流量),可使用Linux自带的tc
(Traffic Control)工具。
- 安装iproute2工具包(包含tc):
sudo apt install iproute2
- 配置流量控制规则(以限制eth0接口的FTP流量为例):
- 创建HTB队列:
sudo tc qdisc add dev eth0 root handle 1: htb
- 分配总带宽(如100Mbps):
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
- 创建子类限制特定用户带宽(如限制192.168.1.100的FTP流量为10Mbps):
sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10mbit ceil 10mbit
- 标记数据包(通过iptables标记目标IP的FTP流量):
sudo iptables -t mangle -A OUTPUT -s 192.168.1.100 -p tcp --dport 21 -j MARK --set-mark 10
- 关联标记与子类:
sudo tc filter add dev eth0 parent 1: protocol ip prio 1 handle 10 fw flowid 1:10
- 创建HTB队列:
- 注意事项:
tc
规则重启后会丢失,需将其添加到/etc/rc.local
或使用systemd
服务实现开机自启。
3. 通过limits.conf限制用户资源(补充)
若需限制用户进程的文件描述符或进程数(间接影响传输速度),可编辑/etc/security/limits.conf
:
sudo nano /etc/security/limits.conf
添加以下内容(以限制用户ftpuser
为例):
ftpuser hard nofile 1024 # 最大文件描述符数
ftpuser soft nofile 512 # 软限制
ftpuser hard nproc 1024 # 最大进程数
保存后,用户下次登录时生效(需重新登录)。
验证配置
无论使用哪种方法,均可通过以下方式验证速度限制是否生效:
- 使用FTP客户端(如
ftp
命令或FileZilla)连接服务器; - 上传/下载一个大文件(如100MB的测试文件),观察传输速度是否符合预期。
提示:
- 基础限制(
vsftpd.conf
)适合大多数场景,配置简单且无需额外工具; - 高级限制(
tc
)适合需要精细化管理的环境,但配置复杂; - 修改配置前建议备份原文件(如
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何限制vsftp访问速度
本文地址: https://pptw.com/jishu/727719.html