找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 32528|回复: 17

老毛子Padavan设置QOS

[复制链接]
发表于 2019-2-20 09:34 | 显示全部楼层 |阅读模式
关于qos
qos我个人理解就是限速吧,由于只有10m带宽,如果一个设备跑满了,其他设备连网页都开不了。

开启qos步骤
自定义设置 - 脚本- 在防火墙规则 (Emong's Qos) 启动后执行-根据自己需要设置好然后保存

关闭硬件加速
Qos跟系统IPv4 H/W NAT一起工作会出现问题冲突,需要关掉:外部网络(wan)-ipv4硬件加速

效果
日志里可以看到限速是否生效

本帖子中包含更多资源

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

×
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-2-20 10:25 | 显示全部楼层
这个qos不好用,只是限速,没有sqm好用,下载,看高清直播,打个游戏试试!sqm基本没影响!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-2-20 10:27 | 显示全部楼层
要关掉HWNAT,这个很亏啊, 然后老毛子的QoS没多大用 要用Qos上高恪包你满意
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-2-20 11:04 | 显示全部楼层
开Qos要关硬件加速真是太亏了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-5-4 13:39 | 显示全部楼层
你好,能把你得代码复制一下发出来吗?我的这个里面代码是这样的!



本帖子中包含更多资源

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

×

点评

我的也是跟你的一样,你把新代码写进去有效果吗  详情 回复 发表于 2021-8-23 17:51
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-5-13 16:38 | 显示全部楼层
sunbin7288 发表于 2019-5-4 13:39
你好,能把你得代码复制一下发出来吗?我的这个里面代码是这样的!


  1. #!/bin/sh
  2. #copyright by Emong's Qos update hiboy
  3. /etc/storage/crontabs_script.sh &
  4. export PATH='/etc/storage/bin:/tmp/script:/etc/storage/script:/opt/usr/sbin:/opt/usr/bin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin'
  5. export LD_LIBRARY_PATH=/lib:/opt/lib
  6. # qos 功能 0关闭;1启动
  7. qoss=0
  8. # 当在线终端≤2台时取消限速.(路由端1+电脑端1=2台)
  9. qosb=2
  10. # 默认为20M
  11. DOWN=2560
  12. UP=256
  13. [ "$qoss" = "1" ] && logger -t "【QOS】" "最大下载 $DOWN KB/S,最大上传 $UP KB/S"
  14. # IP限速设置
  15. # 未设置的IP带宽减半,如启用adbyby,因7620的CPU瓶颈,宽带峰值50M
  16. # 注意参数之间有空格
  17. # 可选项:删除前面的#可生效
  18. # [KB/S]IP地址 最大下载 下载保证 最大上传 上传保证
  19. cat > "/tmp/qos_ip_limit_DOMAIN.txt" <<-\EOF
  20. #192.168.123.115 2560 100 200 20
  21. 192.168.123.2-192.168.123.244 2560 100 100 15



  22. EOF
  23. # 连接数限制
  24. #如果开启该功能后,打开下载软件可能会导致QQ等聊天软件掉线.(因为连接数量会被占光)
  25. # IP地址 TCP连接数 UDP连接数
  26. cat > "/tmp/qos_connlmt_DOMAIN.txt" <<-\EOF
  27. #192.168.123.10 100 100
  28. 192.168.123.20-192.168.123.25 100 100


  29. EOF
  30. # 端口优先
  31. # 请勿添加下载应用的端口80、8080等等.由于没有被流量控制和处理优先级,下载应用会占用大量资源导致网络卡
  32. # 协议 端口
  33. cat > "/tmp/qos_port_first_DOMAIN.txt" <<-\EOF
  34. UDP 53
  35. TCP 22
  36. TCP 23
  37. #TCP 443
  38. TCP 1723
  39. #TCP 3389
  40. TCP 3724,1119,1120
  41. TCP 28012,10008,13006,2349,7101:7103
  42. UDP 2349,12000:12175



  43. EOF

  44. load_var() {
  45.     WAN_IF="imq1"
  46.     LAN_IF="imq0"
  47.     WAN_IFT=$(nvram get wan0_ifname_t)
  48.     IPM="iptables -t mangle"
  49.     lan_ip="`nvram get lan_ipaddr`/24"

  50. }

  51. load_modules(){
  52. [ ! -f /tmp/qos-emong-modules ] && {
  53.     modprobe act_connmark    #缺,补621-sched_act_connmark.patch@597
  54.     for module in imq ipt_IMQ ipt_web xt_length xt_hashlimit cls_fw sch_htb sch_sfq sch_red xt_length xt_IMQ ipt_ipp2p xt_dscp xt_DSCP cls_u32 sch_hfsc sch_prio ipt_multiport ipt_CONNMARK ipt_length ipt_hashlimit xt_connlimit xt_connbytes ipt_connlimit em_u32 sch_ingress act_mirred
  55.     do
  56.         modprobe $module
  57.     done
  58.     modprobe imq numdevs=1
  59.     echo >/tmp/qos-emong-modules
  60.     }
  61. }

  62. qos_stop() {
  63.     tc qdisc del dev $WAN_IF root
  64.     tc qdisc del dev $LAN_IF root

  65.     $IPM -F
  66.     $IPM -X UP
  67.     $IPM -X DOWN
  68.     $IPM -X IP_DOWN
  69.     $IPM -X IP_UP
  70. }

  71. qos_start(){

  72.     ip link set imq0 up
  73.     ip link set imq1 up
  74.     tc qdisc add dev $WAN_IF root handle 1: htb
  75.     tc qdisc add dev $LAN_IF root handle 1: htb
  76.     tc class add dev $WAN_IF parent 1: classid 1:2 htb rate $((UP))kbps
  77.     tc class add dev $LAN_IF parent 1: classid 1:2 htb rate $((DOWN))kbps
  78.    
  79.     tc class add dev $WAN_IF parent 1: classid 1:1 htb rate $((UP*95/100))kbps
  80.     tc class add dev $WAN_IF parent 1:1 classid 1:11 htb rate $((UP*5/10))kbps prio 1
  81.     tc class add dev $WAN_IF parent 1:1 classid 1:12 htb rate $((UP*5/10))kbps ceil $((UP*9/10))kbps prio 2
  82.     tc class add dev $WAN_IF parent 1:12 classid 1:121 htb rate $((UP*4/10))kbps ceil $((UP*8/10))kbps prio 1
  83.     tc class add dev $WAN_IF parent 1:12 classid 1:122 htb rate $((UP*1/10))kbps ceil $((UP*4/10))kbps prio 2
  84.     tc class add dev $WAN_IF parent 1:12 classid 1:123 htb rate $((UP*4/10))kbps ceil $((UP*6/10))kbps prio 3
  85.     tc qdisc add dev $WAN_IF parent 1:11 handle 11: sfq perturb 10
  86.     tc qdisc add dev $WAN_IF parent 1:121 handle 121: sfq perturb 10
  87.     tc qdisc add dev $WAN_IF parent 1:122 handle 122: sfq perturb 10
  88.     tc qdisc add dev $WAN_IF parent 1:123 handle 123: sfq perturb 10
  89.     tc filter add dev $WAN_IF parent 1: handle 0x10/0xfff0 fw classid 1:11
  90.     tc filter add dev $WAN_IF parent 1: handle 0x20/0xfff0 fw classid 1:121
  91.     tc filter add dev $WAN_IF parent 1: handle 0x30/0xfff0 fw classid 1:122
  92.     tc filter add dev $WAN_IF parent 1: handle 0x40/0xfff0 fw classid 1:123
  93.    
  94.     tc class add dev $LAN_IF parent 1: classid 1:1 htb rate $((DOWN*95/100))kbps
  95.     tc class add dev $LAN_IF parent 1:1 classid 1:11 htb rate $((DOWN*5/10))kbps prio 1
  96.     tc class add dev $LAN_IF parent 1:1 classid 1:12 htb rate $((DOWN*5/10))kbps ceil $((DOWN*9/10))kbps prio 2
  97.     tc class add dev $LAN_IF parent 1:12 classid 1:121 htb rate $((DOWN*4/10))kbps ceil $((DOWN*8/10))kbps prio 1
  98.     tc class add dev $LAN_IF parent 1:12 classid 1:122 htb rate $((DOWN*1/10))kbps ceil $((DOWN*4/10))kbps prio 10
  99.     tc class add dev $LAN_IF parent 1:12 classid 1:123 htb rate $((DOWN*4/10))kbps ceil $((DOWN*6/10))kbps prio 3
  100.     tc qdisc add dev $LAN_IF parent 1:11 handle 11: sfq perturb 10
  101.     tc qdisc add dev $LAN_IF parent 1:121 handle 121: sfq perturb 10
  102.     tc qdisc add dev $LAN_IF parent 1:122 handle 122: sfq perturb 10
  103.     tc qdisc add dev $LAN_IF parent 1:123 handle 123: sfq perturb 10
  104.     tc filter add dev $LAN_IF parent 1: handle 0x10/0xfff0 fw classid 1:11
  105.     tc filter add dev $LAN_IF parent 1: handle 0x20/0xfff0 fw classid 1:121
  106.     tc filter add dev $LAN_IF parent 1: handle 0x30/0xfff0 fw classid 1:122
  107.     tc filter add dev $LAN_IF parent 1: handle 0x40/0xfff0 fw classid 1:123
  108.    
  109.     $IPM -N UP
  110.     $IPM -N DOWN
  111.     $IPM -N IP_UP
  112.     $IPM -N IP_DOWN
  113.     $IPM -I POSTROUTING -o br0 -j DOWN
  114.     $IPM -I PREROUTING -i br0 -j UP
  115.     $IPM -A DOWN -j IMQ --todev 0
  116.     $IPM -A UP -j IMQ --todev 1
  117.     #$IPM -I DOWN -s $lan_ip -j RETURN
  118.     $IPM -I DOWN -p tcp -m multiport --dports 22,53,445,139 -j RETURN
  119.     $IPM -I DOWN -p icmp -j RETURN
  120.     #$IPM -A DOWN -m length --length :100 -j RETURN
  121.     $IPM -A DOWN -j MARK --set-mark=0x41
  122.     $IPM -A DOWN -m length --length 1024:1500 -j MARK --set-mark=0x31
  123.     $IPM -A DOWN -p tcp -m multiport --dports 21,80,443,3389,8118 -j MARK --set-mark=0x21
  124.     $IPM -A DOWN -m length --length :768 -j MARK --set-mark=0x11
  125.    
  126.     $IPM -A DOWN -j IP_DOWN
  127.    
  128.     #$IPM -I UP -d $lan_ip -j RETURN
  129.     $IPM -I UP -p tcp -m multiport --sports 22,53,445,139 -j RETURN
  130.     $IPM -I UP -p icmp -j RETURN
  131.     #$IPM -A UP -m length --length :80 -j RETURN
  132.     $IPM -A UP -j MARK --set-mark=0x41
  133.     $IPM -A UP -m length --length 1024:1500 -j MARK --set-mark=0x31
  134.     $IPM -A UP -p tcp -m multiport --sports 21,80,443,3389,8118 -j MARK --set-mark=0x21
  135.     $IPM -A UP -m length --length :512 -j MARK --set-mark=0x11
  136.    
  137.     $IPM -A UP -j IP_UP

  138. }

  139. connlmt() {
  140.     $IPM -A FORWARD -p tcp -d $1 -m connlimit --connlimit-above $2 -j DROP
  141.     $IPM -A FORWARD -p udp -d $1 -m connlimit --connlimit-above $3 -j DROP

  142. }

  143. ip_limit() {
  144. conns=$6
  145. [ $((conns)) -lt "6" ] && logger -t "【QOS】" "限速设置[KB/S]IP:$1, 最大下载:$2, 下载保证:$3, 最大上传:$4, 上传保证:$5"
  146. [ $((conns)) -ge "6" ] && logger -t "【QOS】" "连接数限制IP:$1 TCP:$2, UDP:$3"
  147. n=$(echo $1|cut -d '-' -f1|cut -d '.' -f4)
  148. m=$(echo $1|cut -d '-' -f2|cut -d '.' -f4)
  149. NET=$(echo $1|cut -d '.' -f1-3)
  150. while [ $n -le $m ]
  151. do
  152.     ip=$n
  153.     if [ $((conns)) -lt "6" ] ; then
  154.         [ ${#ip} -lt 3 ] && ip=0$ip
  155.         [ ${#ip} -lt 3 ] && ip=0$ip
  156.         var=1
  157.         
  158.         tc class add dev $WAN_IF parent 1:2 classid 1:$var$ip htb rate $5kbps ceil $4kbps
  159.         tc qdisc add dev $WAN_IF parent 1:$var$ip handle $var$ip sfq perturb 10
  160.         tc filter add dev $WAN_IF parent 1: handle 0x$var$ip fw flowid 1:$var$ip
  161.         
  162.         tc class add dev $LAN_IF parent 1:2 classid 1:$var$ip htb rate $3kbps ceil $2kbps
  163.         tc qdisc add dev $LAN_IF parent 1:$var$ip handle $var$ip sfq perturb 10
  164.         tc filter add dev $LAN_IF parent 1: handle 0x$var$ip fw flowid 1:$var$ip
  165.         
  166.         $IPM -A IP_DOWN -d $NET.$n -j MARK --set-mark 0x$var$ip
  167.         $IPM -A IP_UP -s $NET.$n -j MARK --set-mark 0x$var$ip
  168.     else
  169.         connlmt $NET.$n $2 $3
  170.     fi
  171. n=$((n+1))
  172. done

  173. }

  174. port_first() {
  175. logger -t "【QOS】" "端口优先:$1, $2"
  176. $IPM -I DOWN -p $1 -m multiport --dports $2 -j RETURN
  177. $IPM -I UP -p $1 -m multiport --sports $2 -j RETURN

  178. }

  179. if [ "$qoss" = "1" ] && [ -f "/lib/modules/$(uname -r)/kernel/net/netfilter/xt_IMQ.ko" ] ; then
  180.     if [ $(cat /tmp/qos_state) -eq 1 ] ; then
  181.     logger -t "【QOS】" "正在运行"
  182.     exit
  183.     else
  184.     echo 1 >/tmp/qos_state
  185.     fi
  186.     logger -t "【QOS】" "启动 QOS 成功"
  187.     echo 1 >/tmp/qoss_state
  188.     load_var
  189.     load_modules
  190.     qos_stop
  191.     qos_start
  192.     while read line
  193.     do
  194.     c_line=`echo $line |grep -v "#"`
  195.     if [ ! -z "$c_line" ] ; then
  196.         ip_limit $line
  197.     fi
  198.     done < /tmp/qos_ip_limit_DOMAIN.txt
  199.    
  200.     while read line
  201.     do
  202.     c_line=`echo $line |grep -v "#"`
  203.     if [ ! -z "$c_line" ] ; then
  204.         line="$line 4 5 6"
  205.         ip_limit $line
  206.     fi
  207.     done < /tmp/qos_connlmt_DOMAIN.txt
  208.    
  209.     while read line
  210.     do
  211.     c_line=`echo $line |grep -v "#"`
  212.     if [ ! -z "$c_line" ] ; then
  213.         port_first $line
  214.     fi
  215.     done < /tmp/qos_port_first_DOMAIN.txt
  216.     if [ ! -f /tmp/qos_scheduler.lock ] ; then
  217.         /tmp/qos_scheduler.sh $qosb &
  218.     fi
  219.     echo 0 >/tmp/qos_state
  220. else
  221.     logger -t "【QOS】" "QOS 没有开启或闪存不足缺模块"
  222.     echo 0 >/tmp/qoss_state
  223.     ip link set imq0 down
  224.     ip link set imq1 down
  225. fi

  226. logger -t "【防火墙规则】" "脚本完成"

复制代码

点评

感谢分享 辛苦了  详情 回复 发表于 2019-5-13 18:55
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-5-13 18:55 | 显示全部楼层
感谢 辛苦了666666666
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-5-13 18:55 | 显示全部楼层

感谢分享 辛苦了   
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-7-1 01:55 | 显示全部楼层
本帖最后由 20927469 于 2019-7-1 01:58 编辑

我是200m带宽,用的k2p a1刷的老毛子固件

这样设置对吗? 为什么日志中显示没有启用

我现在的问题是 :迅雷bt下载电影只要一开,全网速度都下降(包括局域网内的通信也会被下降到无速度),部分设置直接会因没网速而挂掉,QOS能不能解决我同时 用迅雷下载bt,同时又不影响我的网络上的其他设备通信


本帖子中包含更多资源

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

×

点评

我也是显示同样的信息,提示没有开启或闪存不足缺模块, 你的生效了吗?你解决了吗? 对了,是不是有坏块是原因吗?我的是东芝的,14 15 786 这3坏块。  详情 回复 发表于 2021-12-3 21:27
你的老毛子固件提示QOS 没有开启或闪存不足缺模块的问题解决了吗?我的也是同样问题  详情 回复 发表于 2021-2-26 13:14
我也是显示同样的信息,提示没有QOS模块 你的生效了吗?还是说确实没有安装QOS模块?  详情 回复 发表于 2019-9-27 14:46
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-27 14:46 | 显示全部楼层
20927469 发表于 2019-7-1 01:55
我是200m带宽,用的k2p a1刷的老毛子固件

这样设置对吗? 为什么日志中显示没有启用

我也是显示同样的信息,提示没有QOS模块
你的生效了吗?还是说确实没有安装QOS模块?

点评

你的老毛子固件提示QOS 没有开启或闪存不足缺模块的问题解决了吗?我的也是同样问题  详情 回复 发表于 2021-2-26 13:14
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-26 13:14 | 显示全部楼层
20927469 发表于 2019-7-1 01:55
我是200m带宽,用的k2p a1刷的老毛子固件

这样设置对吗? 为什么日志中显示没有启用

你的老毛子固件提示QOS 没有开启或闪存不足缺模块的问题解决了吗?我的也是同样问题
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-26 13:14 | 显示全部楼层
meiqiqi84 发表于 2019-9-27 14:46
我也是显示同样的信息,提示没有QOS模块
你的生效了吗?还是说确实没有安装QOS模块?

你的老毛子固件提示QOS 没有开启或闪存不足缺模块的问题解决了吗?我的也是同样问题
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-6-18 09:08 | 显示全部楼层
【QOS】: QOS 没有开启或闪存不足缺模块  老哥这什么情况

点评

找到解决办法了。 https://www.right.com.cn/forum/thread-717443-1-1.html  详情 回复 发表于 2023-8-2 22:19
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-8-23 17:51 | 显示全部楼层
sunbin7288 发表于 2019-5-4 13:39
你好,能把你得代码复制一下发出来吗?我的这个里面代码是这样的!

我的也是跟你的一样,你把新代码写进去有效果吗
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-11-12 08:59 | 显示全部楼层
是不是需要关闭IPV4硬件加速?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 18:29

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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