|
发表于 2005-10-28 13:11:12
|
显示全部楼层
我按此文章试了一下,结果网内机器都不能打开网页了。主要设置如下,各位能帮看看哪儿出了问题吗?
我用的CL2.24版的。eth1 为外网网卡,eth0为内网网卡,总带宽不少10M
/etc/rc.d/rc.local
#!/bin/sh
#
# Coyote local command init script
# 清除 eth1 所有队列规则
tc qdisc del dev eth1 root 2>/dev/null
# 定义最顶层(根)队列规则,并指定 default 类别编号
tc qdisc add dev eth1 root handle 10: htb default 70
# 定义第一层的 10:1 类别 (总频宽)
tc class add dev eth1 parent 10: classid 10:1 htb rate 2048kbps ceil 4096kbps
# 定义第二层叶类别
# rate 保证频宽,ceil 最大频宽,prio 优先权
#办公I,一般
tc class add dev eth1 parent 10:1 classid 10:10 htb rate 8kbps ceil 16kbps prio 2
#办公II
tc class add dev eth1 parent 10:1 classid 10:20 htb rate 24kbps ceil 64kbps prio 2
#办公III
tc class add dev eth1 parent 10:1 classid 10:30 htb rate 64kbps ceil 2048kbps prio 0
#家庭用户
tc class add dev eth1 parent 10:1 classid 10:40 htb rate 16kbps ceil 64kbps prio 1
#
tc class add dev eth1 parent 10:1 classid 10:50 htb rate 4kbps ceil 12kbps prio 1
#微机室
tc class add dev eth1 parent 10:1 classid 10:60 htb rate 128kbps ceil 4096kbps prio 0
#其它,临时
tc class add dev eth1 parent 10:1 classid 10:70 htb rate 4kbps ceil 12kbps prio 3
# 定义各叶类别的队列规则
# parent 类别编号,handle 叶类别队列规则编号
# 由于采用 fw 过滤器,所以此处使用 pfifo 的队列规则即可
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
tc qdisc add dev eth1 parent 10:40 handle 104: pfifo
tc qdisc add dev eth1 parent 10:50 handle 105: pfifo
tc qdisc add dev eth1 parent 10:60 handle 106: pfifo
tc qdisc add dev eth1 parent 10:70 handle 107: pfifo
# 设定过滤器
# 指定贴有 10 标签 (handle) 的封包,归类到 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 20 fw classid 10:20
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 30 fw classid 10:30
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 40 fw classid 10:40
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 50 fw classid 10:50
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 60 fw classid 10:60
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 70 fw classid 10:70
# QoS eth0 下载方面
#
# 清除 eth0所有队列规则
tc qdisc del dev eth0 root 2>/dev/null
# 定义最顶层(根)队列规则,并指定 default 类别编号
tc qdisc add dev eth0 root handle 10: htb default 70
# 定义第一层的 10:1 类别 (总频宽)
tc class add dev eth0 parent 10: classid 10:1 htb rate 2048kbps ceil 4096kbps
# 定义第二层叶类别
# rate 保证频宽,ceil 最大频宽,prio 优先权
#办公I,一般
tc class add dev eth0 parent 10:1 classid 10:10 htb rate 16kbps ceil 32kbps prio 2
#办公II
tc class add dev eth0 parent 10:1 classid 10:20 htb rate 24kbps ceil 128kbps prio 2
#办公III
tc class add dev eth0 parent 10:1 classid 10:30 htb rate 64kbps ceil 2048kbps prio 0
#家庭用户
tc class add dev eth0 parent 10:1 classid 10:40 htb rate 32kbps ceil 128kbps prio 1
#
tc class add dev eth0 parent 10:1 classid 10:50 htb rate 4kbps ceil 12kbps prio 1
#微机室
tc class add dev eth0 parent 10:1 classid 10:60 htb rate 128kbps ceil 4096kbps prio 0
#其它,临时
tc class add dev eth0 parent 10:1 classid 10:70 htb rate 4kbps ceil 12kbps prio 3
# 定义各叶类别的队列规则
# parent 类别编号,handle 叶类别队列规则编号
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
tc qdisc add dev eth0 parent 10:40 handle 104: pfifo
tc qdisc add dev eth0 parent 10:50 handle 105: pfifo
tc qdisc add dev eth0 parent 10:60 handle 106: pfifo
tc qdisc add dev eth0 parent 10:70 handle 107: pfifo
# 设定过滤器
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 10 fw classid 10:10
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 20 fw classid 10:20
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 30 fw classid 10:30
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 40 fw classid 10:40
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 50 fw classid 10:50
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 60 fw classid 10:60
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 70 fw classid 10:70
(自定义防火墙)
# uploads
# 设定上传方面,先利用 iptables 给封包贴标签,再交由 fw 过滤器进行过滤
iptables -t mangle -A PREROUTING -s 192.168.0.94 -j mark --set-mark 10
iptables -t mangle -A PREROUTING -s 192.168.0.91 -j mark --set-mark 20
iptables -t mangle -A PREROUTING -s 192.168.0.92 -j mark --set-mark 20
iptables -t mangle -A PREROUTING -s 192.168.0.93 -j mark --set-mark 20
iptables -t mangle -A PREROUTING -s 192.168.0.88 -j mark --set-mark 30
iptables -t mangle -A PREROUTING -s 192.168.0.18 -j mark --set-mark 60
iptables -t mangle -A PREROUTING -s 192.168.0.19 -j mark --set-mark 60
# downloads
# 下载方面
iptables -t mangle -A POSTROUTING -d 192.168.0.94 -j mark --set-mark 10
iptables -t mangle -A POSTROUTING -d 192.168.0.91 -j mark --set-mark 20
iptables -t mangle -A POSTROUTING -d 192.168.0.92 -j mark --set-mark 20
iptables -t mangle -A POSTROUTING -d 192.168.0.93 -j mark --set-mark 20
iptables -t mangle -A POSTROUTING -d 192.168.0.88 -j mark --set-mark 30
iptables -t mangle -A POSTROUTING -d 192.168.0.18 -j mark --set-mark 60
iptables -t mangle -A POSTROUTING -d 192.168.0.19 -j mark --set-mark 60
[ 本帖最后由 xiangli 于 2005-10-28 13:14 编辑 ] |
|