使用tc對linux中某ip段限速


TC 無需安裝,Linux 內核自帶
例:將IP地址段192.168.1.0/24 上傳下載限速為 5M
將以下內容添加到/etc/ppp/ip-up文件exit 0上面。

down=5Mbit
upload=5Mbit
#down
/sbin/tc qdisc add dev $1 root handle 2:0 htb
/sbin/tc class add dev $1 parent 2:1 classid 2:10 htb rate $down
/sbin/tc class add dev $1 parent 2:2 classid 2:11 htb rate 1024kbps
/sbin/tc qdisc add dev $1 parent 2:10 handle 1: sfq perturb 1
/sbin/tc filter add  dev $1 protocol ip parent 2:0  u32 match ip dst 192.168.1.0/24  flowid 2:10
#upload
/sbin/tc qdisc add dev $1 handle ffff: ingress
/sbin/tc filter add dev $1 parent ffff: protocol ip  u32 match ip dst \
   192.168.1.0/24 police  rate $upload burst 100k drop flowid 2:11

說明:$1為網絡設備接口名稱,如ppp0,ppp1......
       第4行建立qdisc隊列
       第5行建立類,限速5M
       第7行為了不使一個會話永占帶寬,添加隨機公平隊列sfq
       第8行建立過濾器規則,對192.168.1.0/24下載限速為5M
       第10-12行限制192.168.1.0/24上傳限速為5M

刪除所有 TC 限速規則
    # tc qdisc del dev ppp0 root

顯示qdisc隊列狀態
    # tc -s -d qdisc show dev ppp0

顯示class類狀態
    # tc -s -d class show dev ppp0

 
顯示filter規則狀態
    # tc -s -d filter show dev ppp0
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM