歡迎您光臨本站 註冊首頁

用TC對8080埠限速的問題

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

用TC對8080埠限速的問題

大家好,現在又一個需求,是對伺服器的8080埠限速,我想用TC實現,於是搭了個測試環境,系統內核版本是:Linux test-redhat5.2 2.6.18-92.el5
分別使用了CBQ和HTB演算法實現,腳本如下:
CBQ:
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1:0 cbq bandwidth 100Mbit avpkt 1000 cell 8
tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 100Mbit rate 20Mbit weight 2Mbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc class add dev eth0 parent 1:1 classid 1:4 cbq bandwidth 100Mbit rate 20Mbit weight 2Mbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000
tc qdisc add dev eth0 parent 1:4 handle 40: sfq
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip sport 8080 0xffff flowid 1:4

HTB:
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb default 30
tc class add dev eth0 parent 1: classid 1:1 htb rate 11mbit burst 15k
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10mbit burst 15k
tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
U32="tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32"
$U32 match ip sport 8080 0xffff flowid 1:10

均成功了,但是在生產機上運行腳本,完全沒有反應,達不到限速的目的。生產機內核版本是:Linux localhost 2.6.18-92.el5PAE
我懷疑是內核不支持的問題 應該怎麼解決呢?
PS:對Linux內核不太了解
《解決方案》

在生產機上設置成功了么?用 tc qdisc查看一下,會不會是限速的網卡設置錯了?
《解決方案》

HTB:
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb default 30
tc class add dev eth0 parent 1: classid 1:1 htb rate 11mbit burst 15k
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10mbit burst 15k
tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
U32="tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32"
$U32 match ip sport 8080 0xffff flowid 1:10


default 30

樓主沒有設置30這個子類好呀。那麼不匹配的數據流該無法出去。



tc  -s  qdisc
tc  -s  class
tc  -s  filter

看看數據流。
《解決方案》

http://lartc.org樓主下載文檔研究下吧
《解決方案》

看看內核.config文件,配置HTB了嗎?
《解決方案》

回復 #2 陽神 的帖子

網卡都是eth0的
《解決方案》

沒設置子類就會按默認的出去 而不會限速
《解決方案》

回復 #1 serwei 的帖子

在生產機上看看默認的qdisc的隊列信息以及class的信息

[火星人 ] 用TC對8080埠限速的問題已經有186次圍觀

http://coctec.com/docs/service/show-post-19362.html