QOS
可分為
HTB :1.以byte為單位2.效能較高
CBQ :1.以bit為單位
1.簡查版本是否把HTB編入模組
/boot/config CONFIG_NET_SCH_HTB=m <==m為以載入模組,n為無
使用tc指令,需安裝iproute2
tc語法格式
tc 元件名稱 處理動作 dev 網路裝置 上層元件 元件參數
*元件名稱
qdisc 佇列規則
class 類別
filter 過濾器
*處理動作
add 新增
del 刪除
show 顯示
replace 取代
指令
show目前所有裝置的佇列規則
tc qdisc show
show eth0的佇列規則
tc qdisc show dev eth0
新增一個htb的佇列規則,root為最頂層,handle 10:設定編號為10,default 20 預設類別為
10:20
tc qdisc add dev eth0 root handle 10: htb default 20
刪除最頂層root佇列規則
tc qdisc del dev eth0 root
設定10:1類別
tc class add dev eth0 parent 10: classid 10:1 htb rate 50kbps ceil 50kbps
==========================================================================
範例
#!/bin/sh
# 清空eth1上所有的佇列
tc qdisc del dev eth1 root 2> /dev/null
# 根目錄及子類別
tc qdisc add dev eth1 root handle 10: htb default 20
tc class add dev eth1 parent 10: classid 10:1 htb rate 200kbps ceil 200kbps
tc class add dev eth1 parent 10:1 classid 10:10 htb rate 100kbps ceil 200kbps prio 0
tc class add dev eth1 parent 10:1 classid 10:20 htb rate 70kbps ceil 150kbps prio 1
tc class add dev eth1 parent 10:1 classid 10:30 htb rate 10kbps ceil 30kbps prio 2
# 佇列
tc qdisc add dev eth1 parent 10:10 handle 101: pfifo
tc qdisc add dev eth1 parent 10:20 handle 102: pfifo
tc qdisc add dev eth1 parent 10:30 handle 103: pfifo
# 將貼有10標籤的封包,過濾到10:10類別
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 10 fw classid 10:10
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 30 fw classid 10:30
#iptables加上標籤
iptables -F -t mangle
iptables -t mangle -A POSTROUTING -d 210.200.160.91 -j MARK --set-mark 30
iptables -t mangle -A POSTROUTING -d 210.200.160.92 -j MARK --set-mark 10
留言列表