找回密码
 立即注册

QQ登录

只需一步,快速开始

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

老毛子Padavan设置QOS

[复制链接]
关于qos
qos我个人理解就是限速吧,由于只有10m带宽,如果一个设备跑满了,其他设备连网页都开不了。

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

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

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

本帖子中包含更多资源

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

×
我的恩山、我的无线 The best wifi forum is right here.
这个qos不好用,只是限速,没有sqm好用,下载,看高清直播,打个游戏试试!sqm基本没影响!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

要关掉HWNAT,这个很亏啊, 然后老毛子的QoS没多大用 要用Qos上高恪包你满意
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

开Qos要关硬件加速真是太亏了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

你好,能把你得代码复制一下发出来吗?我的这个里面代码是这样的!



本帖子中包含更多资源

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

×

点评

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

使用道具 举报

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.
回复

使用道具 举报

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

使用道具 举报


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

使用道具 举报

本帖最后由 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.
回复

使用道具 举报

20927469 发表于 2019-7-1 01:55
我是200m带宽,用的k2p a1刷的老毛子固件

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

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

点评

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

使用道具 举报

20927469 发表于 2019-7-1 01:55
我是200m带宽,用的k2p a1刷的老毛子固件

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

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

使用道具 举报

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

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

使用道具 举报

【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.
回复

使用道具 举报

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

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

使用道具 举报

是不是需要关闭IPV4硬件加速?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 10:17

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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