tc
(Traffic Control)是Linux内核中的一个流量控制工具,它可以用来管理网络流量,以确保网络资源的合理分配。htb
(Hierarchical Token Bucket)是tc
中的一种队列规则,它是一种分层令牌桶算法,用于实现带宽的公平分配和流量整形。
HTB主要分为几个部分:
tc
命令查看当前的队列规则和流量统计,帮助定位问题。以下是一个简单的HTB配置示例,创建一个根队列,并添加两个子类:
# 创建根队列
tc qdisc add dev eth0 root handle 1: htb default 10
# 创建主类,分配总带宽的100%
tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
# 创建子类1,分配带宽的50%
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50mbit ceil 100mbit
# 创建子类2,分配带宽的50%
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 50mbit ceil 100mbit
# 添加过滤器,将流量分配到不同的子类
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.0/24 flowid 1:10
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.0/24 flowid 1:20
这个配置将网络接口eth0
的总带宽分为两个相等的部分,分别分配给两个不同的IP地址段。
请根据实际网络环境和需求调整配置。
领取专属 10元无门槛券
手把手带您无忧上云