找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5854|回复: 1

[linux] linux qos 流量整形 水平有限待完成~~!

[复制链接]
发表于 2006-3-27 16:23:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
#流量整形脚本:尽可能压缩p2p流量,限制对响应时间不敏感的ftp、www,把带宽尽可能给网游.
#参考鸟哥的linux私房菜
#!/bin/sh

#clear all qos eth0-->wan eth1-->lan  清除所有网卡上的qos规则
tc qdisc del dev eth0 root 2>/dev/null
tc qdisc del dev eth1 root 2>/dev/null

#定义新建上传最顶层根部规则
tc qdisc add dev eth0 root handle 10: htb default 20

#定义新建下载最顶层根部规则
tc qdisc add dev eth1 root handle 20: htb default 20
#定义10:1总上传带宽60M
tc class add dev eth0 parent 10: classid 10:1 htb rate 60000kbps ceil 60000kbps
#定义10:1总下载带宽94M
tc class add dev eth1 parent 10: classid 10:1 htb rate 94000kbps ceil 940000kbps

#开始根据协议分类-->建立3个有带宽限制的通道
#定义10:10 为ftp 上传保留128k最大6m                     最小保证带宽  最大带宽上限
                                                                                  |             |
tc class add dev eth0 parent 10:1 classid 10:10 htb rate 128kbps ceil 6000kbps prio 1 (prio为优先级,数值越小,优先级越高)
#定义20:10 为ftp 下载保留128k最大6m
tc class add dev eth1 parent 20:1 classid 20:10 htb rate 128kbps ceil 6000kbps prio 1
#定义10:20 网页浏览上传 保留1m 最大20M
tc class add dev eth0 parent 10:1 classid 10:20 htb rate 1024kbps ceil 20000kbps prio 0
#定义20:20 网页浏览下载 保留1m,最大40M
tc class add dev eth1 parent 20:1 classid 20:20 htb rate 1024kbps ceil 40000kbps prio 0
#定义p2p上传流量10:30
tc class add dev eth0 parent 10:1 classid 10:30 htb rate 256kbps ceil 3000kbps prio 2
#定义p2p下载流量20:30
tc class add dev eth1 parent 20:1 classid 20:30 htb rate 256kbps ceil 5000kbps prio 2
#(以下不大明白料)
#upload
tc qdisc add dev eth0 parent 10:10 handle 101: pfifo
tc qdisc add dev eth0 parent 10:20 handle 102: pfifo
tc qdisc add dev eth0 parent 10:30 handle 103: pfifo
#download
tc qdisc add dev eth1 parent 20:10 handle 201: pfifo
tc qdisc add dev eth1 parent 20:20 handle 202: pfifo
tc qdisc add dev eth1 parent 20:30 handle 203: pfifo
#(到这里明白点)
#定义标签
#upload
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 1010 fw classid 10:10
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 1020 fw classid 10:20
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 1030 fw classid 10:30
#download
tc filter add dev eth1 parent 20: protocol ip prio 100 handle 2010 fw classid 20:10
tc filter add dev eth1 parent 20: protocol ip prio 100 handle 2020 fw classid 20:20
tc filter add dev eth1 parent 20: protocol ip prio 100 handle 2030 fw classid 20:30

#清除iptables mangle 规则
iptables -F -t mangle

#layer7 QOS
#P2P 打标记并扔到相应的通道里,通道为上面所定义上传3m最大,下载5m最大。
/sbin/iptables -t mangle -A PREROUTING -m layer7 --l7proto edonkey -j MARK --set-mark 1030
/sbin/iptables -t mangle -A PREROUTING -m layer7 --l7proto bittorrent -j MARK --set-mark 1030
/sbin/iptables -t mangle -A POSTROUTING -m layer7 --l7proto edonkey -j MARK --set-mark 2030
/sbin/iptables -t mangle -A POSTROUTING -m layer7 --l7proto bittorrent -j MARK --set-mark 2030
#ftp&&http上传 打标记并扔到相应的通道里,通道为上面所定义http最大20m,ftp最大6m
/sbin/iptables -t mangle -A PREROUTING -m layer7 --l7proto http -j MARK --set-mark 1010
/sbin/iptables -t mangle -A PREROUTING -m layer7 --l7proto ftp -j MARK --set-mark 1020
#ftp&&http下载  打标记并扔到相应的通道里,通道为上面所定义http最大40m,ftp最大6m
/sbin/iptables -t mangle -I POSTROUTING -m layer7 --l7proto ftp -j MARK --set-mark 2010
/sbin/iptables -t mangle -I POSTROUTING -m layer7 --l7proto http -j MARK --set-mark 2020


看书怎么现在一点看不进去了~~不知对错呵呵,望大家指教。
routeros
 楼主| 发表于 2006-3-27 16:28:25 | 显示全部楼层

对linux Qos心里有阴影,总是搞不定。

   不知设计tc的程序员是否来自地球,有这么难懂的操作命令么?

[ 本帖最后由 hb2k 于 2006-3-27 16:34 编辑 ]
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-7-6 13:45 , Processed in 0.043087 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表