新出个放在防火墙里的智能qos脚本,低延迟,高性能,多台电脑下载玩游戏看电影不卡

时间:2025-03-27 22:47:10
  • # 2015-8-14 by cheng1196  qq372693586
  • #这是OPENWRT固件与Tomato固件通用智能限速脚本
  • #装载核心模块
  •  
  • insmod cls_u32
  • insmod em_u32
  • insmod act_connmark
  • insmod act_mirred
  • insmod sch_ingress
  • insmod cls_fw
  • insmod sch_htb
  • insmod sch_sfq
  • insmod sch_red
  •  
  • #设置局域网处于192.168.1.0的网段
  • UIP="192.168.1."
  • NET="192.168.1.0/24"
  •  
  • #设置限速的ip地址192.168.1.100到192.168.1.130
  • #DHCP分配也需要设置192.168.1.100到192.168.1.130 
  • IPS="100"
  • IPE="130" 
  •  
  • #设置宽带的最大上传下载速度,UP上传,DOWN下载,1兆等于128,这是20兆光纤上传与下载
  • UP=384
  • DOWN=2560
  •  
  • #装载核心模块,创建QOS专用链
  • insmod imq
  • ifconfig imq1 up
  • ifconfig imq0 up
  •  
  •  
  • iptables -t mangle -N QOSUP
  • iptables -t mangle -N QOSDOWN
  • iptables -t mangle -A FORWARD -s $NET -! $NET -! icmp -j QOSUP
  • iptables -t mangle -A FORWARD -d $NET -! $NET -! icmp -j QOSDOWN
  • iptables -t mangle -A QOSUP -j IMQ --todev 1
  • iptables -t mangle -A QOSDOWN -j IMQ --todev 0
  •  
  • iptables -t mangle -A QOSUP -p udp --dport 53 -j RETURN
  • iptables -t mangle -A QOSUP -m length --length :512 -j RETURN
  • iptables -t mangle -A QOSDOWN -p udp --sport 53 -j RETURN
  • iptables -t mangle -A QOSDOWN -m length --length :512 -j RETURN
  •  
  • tc qdisc del dev imq0 root
  • tc qdisc del dev imq1 root
  • tc qdisc add dev imq0 root handle 1: htb
  • tc qdisc add dev imq1 root handle 1: htb
  • tc class add dev imq0 parent 1: classid 1:1 htb rate $((DOWN))kbps
  • tc class add dev imq1 parent 1: classid 1:1 htb rate $((UP))kbps
  •  
  • i=$IPS; 
  • while [ $i -le $IPE ] 
  • do
  •  
  • tc class add dev imq1 parent 1:1 classid 1:$i htb rate $((UP/32))kbps ceil $((UP/16*4))kbps quantum 1500 prio 5
  • tc qdisc add dev imq1 parent 1:$i handle $i: sfq limit 64 perturb 10
  • tc filter add dev imq1 parent 1: protocol ip prio 100 handle $i fw classid 1:$i
  •  
  • tc class add dev imq0 parent 1:1 classid 1:$i htb rate $((DOWN/32))kbps ceil $((DOWN/16*14))kbps quantum 3001 mtu 3200 prio 5
  • tc qdisc add dev imq0 parent 1:$i handle $i: sfq perturb 10
  • tc filter add dev imq0 parent 1: protocol ip prio 100 handle $i fw classid 1:$i
  •  
  • iptables -t mangle -A QOSUP -s $UIP$i -j MARK --set-mark $i
  • iptables -t mangle -A QOSDOWN -d $UIP$i -j MARK --set-mark $i
  •  
  • i=`expr $i + 1` 
  • done