在CentOS上,您可以使用tc
(流量控制)工具和cgroups
(控制组)来限制SFTP用户的带宽。以下是设置带宽限制的步骤:
sudo yum install tc cgroup-tools
sudo cgcreate -g net_cls:/sftp_bandwidth
echo $((1<<20)) | sudo tee /sys/fs/cgroup/net_cls/sftp_bandwidth/net_cls.classid
这里,我们将带宽限制为1MB/s。您可以根据需要更改这个值。
sudo usermod -aG sftp_bandwidth <username>
将<username>
替换为您要限制带宽的SFTP用户名。
sudo tc qdisc add dev eth0 root handle 1: htb default 30
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit ceil 1mbit
sudo tc class add dev eth0 parent 1:1 classid 1:30 htb rate 1mbit ceil 1mbit
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst <server_ip> flowid 1:30
将<server_ip>
替换为您的CentOS服务器的IP地址。这将限制SFTP用户的带宽为1MB/s。
sudo systemctl restart sshd
现在,您已经成功地为SFTP用户设置了带宽限制。请注意,这些设置可能会在系统重启后丢失。要使设置永久生效,您可以将这些命令添加到/etc/rc.local
文件中。