在Debian系统中,您可以使用tc
(traffic control)工具来设置网络带宽限制。以下是一个简单的示例,说明如何为特定网络接口设置上传和下载速度限制。
iproute2
软件包,它包含了tc
工具。如果没有,请运行以下命令安装:sudo apt-get update
sudo apt-get install iproute2
/etc/network/if-up.d/qos
的脚本文件,以便在网络接口启动时自动应用带宽限制。使用文本编辑器创建一个新文件:sudo nano /etc/network/if-up.d/qos
<UPLOAD_SPEED>
和<DOWNLOAD_SPEED>
(例如,100kbps,1mbps等)。同时,将<INTERFACE_NAME>
替换为您要限制的网络接口名称(例如,eth0)。#!/bin/sh
# 设置上传和下载速度(例如,100kbps,1mbps等)
UPLOAD_SPEED="<UPLOAD_SPEED>"
DOWNLOAD_SPEED="<DOWNLOAD_SPEED>"
# 网络接口名称
INTERFACE_NAME="<INTERFACE_NAME>"
# 创建一个htb队列规则
sudo tc qdisc add dev $INTERFACE_NAME root handle 1: htb default 30
# 为上传和下载速度创建类
sudo tc class add dev $INTERFACE_NAME parent 1: classid 1:1 htb rate $DOWNLOAD_SPEED
sudo tc class add dev $INTERFACE_NAME parent 1:1 classid 1:30 htb rate $UPLOAD_SPEED
# 创建一个过滤器,将流量分配给相应的类
sudo tc filter add dev $INTERFACE_NAME protocol ip parent 1:0 prio 1 u32 match ip dst <INTERFACE_IP> flowid 1:30
sudo tc filter add dev $INTERFACE_NAME protocol ip parent 1:0 prio 1 u32 match ip src <INTERFACE_IP> flowid 1:1
sudo chmod +x /etc/network/if-up.d/qos
请注意,这个示例仅适用于单个网络接口。如果您有多个接口或需要更复杂的配置,您可能需要根据您的需求调整脚本。