在CentOS系统中,可以使用wondershaper
工具来限制SFTP用户的带宽使用。以下是安装和使用wondershaper
的步骤:
wondershaper
:sudo yum install wondershaper
eth0
:ip addr show
然后,使用wondershaper
为网络接口设置上传和下载速度。例如,将eth0
接口的上传速度限制为1Mbps,下载速度限制为10Mbps:
sudo wondershaper eth0 1024 10240
注意:速度单位是kbps,所以1Mbps等于1024kbps,10Mbps等于10240kbps。
/etc/rc.local
文件中。使用文本编辑器打开/etc/rc.local
文件:sudo vi /etc/rc.local
在exit 0
之前添加以下内容(确保将eth0
替换为您的网络接口名称):
wondershaper eth0 1024 10240
保存并关闭文件。
要限制特定SFTP用户的带宽,可以使用cgroups
(控制组)功能。首先,确保已安装cgroup-tools
:
sudo yum install cgroup-tools
接下来,创建一个新的cgroup,例如名为limited_sftp
的控制组:
sudo cgcreate -g net_cls:/limited_sftp
为新控制组分配一个类ID,例如1:10
:
echo 10:10 | sudo tee /sys/fs/cgroup/net_cls/limited_sftp/net_cls.classid
现在,需要将SFTP用户的网络流量分配给新创建的控制组。首先,找到SFTP用户的UID:
id <username>
将<username>
替换为实际的用户名。记下UID,稍后将用到。
接下来,为SFTP用户的默认网络接口(通常是eth0
)设置类ID:
sudo echo <UID> > /sys/class/net/eth0/net_cls.classid
将<UID>
替换为实际的UID。
最后,将新创建的控制组与wondershaper
的限制规则关联起来:
sudo cgexec -g net_cls:limited_sftp wondershaper eth0 1024 10240
现在,SFTP用户的带宽应该受到限制。
请注意,这些步骤可能需要根据您的具体需求进行调整。在生产环境中应用这些更改之前,请务必进行充分的测试。