要限制Debian上的SFTP訪問速度,您可以使用tc(流量控制)工具和cgroups(控制組)來實現
方法1:使用tc工具
iproute2軟件包,它包含了tc命令。如果沒有,請運行以下命令來安裝:sudo apt-get update
sudo apt-get install iproute2
sftp的隊列規則:sudo tc qdisc add dev eth0 root handle 1: htb default 30
將eth0替換為您的網絡接口名稱。
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit ceil 1mbit
這將限制SFTP訪問速度為1Mbps。您可以根據需要更改rate和ceil值。
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 22 0xffff flowid 1:1
這將把目標端口為22(SFTP默認端口)的流量分配給類1:1。
方法2:使用cgroups
cgroup-tools軟件包:sudo apt-get update
sudo apt-get install cgroup-tools
sudo cgcreate -g net_cls:/sftp
echo $((0x10000 + 1)) | sudo tee /sys/fs/cgroup/net_cls/sftp/net_cls.classid
這將分配一個classid,例如0x10001。
sudo cgclassify -g net_cls:/sftp <username>
將<username>替換為您要限制速度的用戶名。
tc工具為cgroup設置帶寬限制: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 filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst <user_ip> flowid 1:1
將<user_ip>替換為SFTP用戶的IP地址。
現在,您已經成功限制了Debian上SFTP訪問速度。請注意,這些方法可能需要根據您的具體需求進行調整。