【討論】Tomato QoS Traffic Shaping 腳本



贊助商連結


FYI
2008-03-06, 12:58 PM
相關資訊請看#11 (http://www.pczone.com.tw/thread/16/139828/#post1007536) 和#73 (http://www.pczone.com.tw/thread/16/136554/4/#post1008067) , 目前假設Linux Kernel 2.6 應該可以限制tcp & udp 的連線數, 但是根據Linksys 網友的驗證, Tomato 版的Connlimit 應該也可以限制udp 連線數才對, 由於小弟不確定最恰當的語法為何, 所以想請網友實驗一下

iptables -I FORWARD -m iprange --src-range 192.168.1.10-192.168.22.250 -p ! tcp -m connlimit --connlimit-above 200 -j DROP


iptables -I FORWARD -m iprange --src-range 192.168.1.10-192.168.22.250 -p all -m connlimit --connlimit-above 200 -j DROP
前者目的是限制udp+icmp 的連線數不超過200, 後者(Linux Kernel 2.6)直接限制tcp+udp+icmp的連線數不超過200, 或者請以 "iptables -p all --help" 看看語法是否正確?

小弟根據目前找到的腳本研判, 應該有辦法以iptables 限制連線數, 然後以tc + HTB 控制頻寬, 所以很有機會可以在Tomato Qos 的基礎上, 發展出更有效控管頻寬的管理器

由於已經有網友開始如火如荼進行Tomato 繁體化, 所以小弟希望打鐵趁熱, 雙管並進, 在WRT54 Script Generator 的基礎上, 弄出一個可以限制最大頻寬, 保障頻寬, 和限制tcp/udp 連線數的腳本, 並逐步優化以提高效率, 然而效能如何還無法預測, 共同的測試方法也有待定義, 所謂 "萬事起頭難", 然而也並非完全沒有基礎, 網路上也可以找到許多腳本, 有興趣的網友就請由以下連結開始提出您的腳本吧! 也不妨試用一下WRT54 Script Generator 的功能

【求助】關於DD和TOMATO的腳本效率 - CCF精品技術論壇 (http://bbs.et8.net/bbs/showthread.php?t=907762)
QOS - Script to Limit Download Bandwidth? - LinksysInfo - Community Forums for Linksys Devices (http://www.linksysinfo.org/forums/showthread.php?t=42296)

下載WRT54 Script Generator #1 (http://www.icpnet.pl/%7Erobsonn/generator.zip), #2 (http://openlinksys.info/firmware/przydatne/generator.zip)

贊助商連結


puwen
2008-03-06, 01:31 PM
相關資訊請看#11 (http://www.pczone.com.tw/thread/16/139828/#post1007536) 和#73 (http://www.pczone.com.tw/thread/16/136554/4/#post1008067) , 目前假設Linux Kernel 2.6 應該可以限制tcp & udp 的連線數, 但是根據Linksys 網友的驗證, Tomato 版的Connlimit 應該也可以限制udp 連線數才對, 由於小弟不確定最恰當的語法為何, 所以想請網友實驗一下


Hi,
請問一下
要如何測試 udp 連線有正確的被限制到?
1. 要什麼軟體測?
2. udp 連線數有被限制住的話, 會看到什麼現象?

謝謝你的回答

doomcat
2008-03-14, 12:32 PM
簡單的測試法:
1. DNS query
2. 打開 BT 的 DHT network

限制住會:
1. DNS request timeout
2. BT 卡住

笨一點的方法是用TFTP
TFTP也是透過UDP的方式
M$ XP 2K都有TFTP Client所以只要在去找一個TFTP Server (http://tftpd32.jounin.net/tftpd32_download.html)的程式就可以了

88djy
2008-03-15, 10:08 AM
D-WRT v24固件通过限制单ip连接数限制p2p使用

以前的脚本都试过了,效果不大,我的这两行v24 RC4版本测试通过,效果明显,被限制的ip打开p2p软件,就几乎打不开网页了,而未被限制的ip正常,其他版本的dd没试过,欢迎大家测试

[Copy to clipboard] [ - ]
CODE:
iptables -t mangle -A POSTROUTING -p tcp -s xx.xx.xx.xx -m connlimit --connlimit-above yy -j DROP
iptables -t mangle -A POSTROUTING -p tcp -d xx.xx.xx.xx -m connlimit --connlimit-above yy -j DROP

xx.xx.xx.xx是被限制的ip地址
yy是限制的连接数,我用的50

两句要一起使用,保存为防火墙命令,每限制一个ip要写两句

FYI
2008-03-15, 10:26 AM
connlimit 能對udp 起得了作用嗎? 請看完第四樓和第一樓所貼的連結, 再研究你的腳本的真正作用, 可能並非如你所想像

由於P2P 大量使用udp, 所以關鍵在於如何限制udp, 以及腳本對於CPU 的負荷, 基本上, 小弟認為腳本對於效能的影響應該低於L7 Filter, 但是條例一多, 對於CPU 只有200~264MHz 的分享器來說, 跑得動跑不動還是個未知數

此外, 小弟所提供的腳本連結多半只控制流量, 不管連線數, 所以在重度P2P 環境下可能還是會有問題, 以下是查看目前所使用連線數 (all or tcp only?) 的指令, 若有誤, 請指正


sed -n 's%.* src=\(192.168.[0-9.]*\).*%\1%p' /proc/net/ip_conntrack | sort | uniq -c
番茄QoS設置超詳細教程, DD用戶也可參考。(讓BT滿負荷,上網照樣快如飛) - DDWRT、TOMATO或其它第三方firmware討論 - 恩山WIFI論壇 (http://www.right.com.cn/forum/viewthread.php?tid=9417&extra=page%3D1%26amp%3Bfilter%3Ddigest)
最新修改的單IP限制上下行防火牆規則0.3版本!(不用特別版也可以按IP限制流量) - DDWRT、TOMATO或其它第三方firmware討論 - 恩山WIFI論壇 (http://www.right.com.cn/forum/viewthread.php?tid=7075&extra=page%3D2%26amp%3Bfilter%3Ddigest)

bv2lk
2008-03-15, 06:21 PM
最新修改的單IP限制上下行防火牆規則0.3版本!(不用特別版也可以按IP限制流量) - DDWRT、TOMATO或其它第三方firmware討論 - 恩山WIFI論壇 (http://www.right.com.cn/forum/viewthread.php?tid=7075&extra=page%3D2%26amp%3Bfilter%3Ddigest)

這個 沒有作用 , 連DD-WRT 特別版 都無法有效 按IP限制流量

88djy
2008-03-16, 09:46 AM
connlimit 能對udp 起得了作用嗎? 請看完第四樓和第一樓所貼的連結, 再研究你的腳本的真正作用, 可能並非如你所想像

由於P2P 大量使用udp, 所以關鍵在於如何限制udp, 以及腳本對於CPU 的負荷, 基本上, 小弟認為腳本對於效能的影響應該低於L7 Filter, 但是條例一多, 對於CPU 只有200~264MHz 的分享器來說, 跑得動跑不動還是個未知數

此外, 小弟所提供的腳本連結多半只控制流量, 不管連線數, 所以在重度P2P 環境下可能還是會有問題, 以下是查看目前所使用連線數 (all or tcp only?) 的指令, 若有誤, 請指正


sed -n 's%.* src=\(192.168.[0-9.]*\).*%\1%p' /proc/net/ip_conntrack | sort | uniq -c
番茄QoS設置超詳細教程, DD用戶也可參考。(讓BT滿負荷,上網照樣快如飛) - DDWRT、TOMATO或其它第三方firmware討論 - 恩山WIFI論壇 (http://www.right.com.cn/forum/viewthread.php?tid=9417&extra=page%3D1%26amp%3Bfilter%3Ddigest)
最新修改的單IP限制上下行防火牆規則0.3版本!(不用特別版也可以按IP限制流量) - DDWRT、TOMATO或其它第三方firmware討論 - 恩山WIFI論壇 (http://www.right.com.cn/forum/viewthread.php?tid=7075&extra=page%3D2%26amp%3Bfilter%3Ddigest)
tomato里 运行不了
q -c
-sh: uniq: not found
# # sed -n 's%.* src=\(192.168.[0-9.]*\).*%\1%p' /proc/net/ip_conntrack | sort | uniq -c
# -sh: uniq: not found