找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 6718|回复: 2

(转帖)用于dd-wrt的adsl shape脚本

[复制链接]
发表于 2006-9-13 10:06 | 显示全部楼层 |阅读模式
原地址:https://www.d4e.org/showthread.php?t=127161
更新了下以前的脚本, 以下是范例,并不适合所有人,自己调整。
我的是DD-WRT v22-r2
以下适合 576kbits/2304kbits adsl。 带宽使用要设置为略小85%, 下面为480kbits/1900kbits.

解释下:
TCP封包长度不大于64字节的为队列1 (队列号码越小越高优先权)
SYN/ACK位只有SYN的TCP封包为队列1
TOS低延迟封包为队列1
icmp封包(例如ping)队列2
dns查询(53端口 udp)队列2
ssh连接(22端口 tcp)队列2
SSL连接(443端口 tcp)队列3
MSN连接(1863 tcp)队列3
mysql连接(3306 tcp)队列3
远程桌面(3389 tcp)队列3
wow(3724 tcp)队列3
其余队列4

这样就达到cfosspeed的效果。更详细的自己研究iptables和tc命令。
#!/bin/sh
# cat > my.sh
# nvram set rc_firewall="$(cat my.sh)"
# nvram commit

TC=/usr/sbin/tc
IPTABLES=/usr/sbin/iptables

$IPTABLES -t mangle -F
$TC qdisc del dev ppp0 root
$TC qdisc del dev ppp0 ingress

$TC qdisc add dev ppp0 root handle 1: htb default 14
$TC class add dev ppp0 parent 1: classid 1:1 htb rate 480kbit burst 4k prio 0
$TC class add dev ppp0 parent 1:1 classid 1:11 htb rate 16kbit ceil 480kbit burst 4k prio 1
$TC class add dev ppp0 parent 1:1 classid 1:12 htb rate 32kbit ceil 480kbit burst 4k prio 2
$TC class add dev ppp0 parent 1:1 classid 1:13 htb rate 64kbit ceil 480kbit burst 4k prio 3
$TC class add dev ppp0 parent 1:1 classid 1:14 htb rate 16kbit ceil 480kbit burst 4k prio 4
$TC qdisc add dev ppp0 parent 1:11 handle 11: pfifo
$TC qdisc add dev ppp0 parent 1:12 handle 12: sfq perturb 10
$TC qdisc add dev ppp0 parent 1:13 handle 13: sfq perturb 10
$TC qdisc add dev ppp0 parent 1:14 handle 14: sfq perturb 10
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 handle 1 fw classid 1:11
$TC filter add dev ppp0 parent 1:0 protocol ip prio 2 handle 2 fw classid 1:12
$TC filter add dev ppp0 parent 1:0 protocol ip prio 3 handle 3 fw classid 1:13
$TC filter add dev ppp0 parent 1:0 protocol ip prio 4 handle 4 fw classid 1:14

$TC qdisc add dev ppp0 handle ffff: ingress
$TC filter add dev ppp0 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate 1900kbit burst 8k drop flowid :1

$IPTABLES -t mangle -A OUTPUT -p tcp -m length --length :64 -j MARK --set-mark 0x1
$IPTABLES -t mangle -A OUTPUT -p tcp -m length --length :64 -j RETURN
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --tcp-flags SYN,ACK SYN -j MARK --set-mark 0x1
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --tcp-flags SYN,ACK SYN -j RETURN
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -m tos --tos Minimize-Delay -j MARK --set-mark 0x1
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -m tos --tos Minimize-Delay -j RETURN

$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p icmp -j MARK --set-mark 0x2
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p icmp -j RETURN
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p udp -m udp --dport 53 -j MARK --set-mark 0x2
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p udp -m udp --dport 53 -j RETURN
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 22 -j MARK --set-mark 0x3
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 22 -j RETURN
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 443 -j MARK --set-mark 0x3
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 443 -j RETURN
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 1863 -j MARK --set-mark 0x3
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 1863 -j RETURN
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 3306 -j MARK --set-mark 0x3
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 3306 -j RETURN
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 3389 -j MARK --set-mark 0x3
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 3389 -j RETURN
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 3724 -j MARK --set-mark 0x3
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 3724 -j RETURN
$IPTABLES -t mangle -A POSTROUTING -o ppp0 -m mark --mark 0 -j MARK --set-mark 0x4
发表于 2006-11-25 15:49 | 显示全部楼层
这个代码怎么用?存为防火墙命令?
发表于 2006-11-25 18:09 | 显示全部楼层
同问,怎么用?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-7-4 09:16

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

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