close

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

arrow
arrow
    全站熱搜

    horace1123 發表在 痞客邦 留言(0) 人氣()