Chinaunix首页 | 论坛 | 博客
  • 博客访问: 363179
  • 博文数量: 161
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 345
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-13 11:04
文章分类

全部博文(161)

文章存档

2015年(15)

2014年(144)

2013年(2)

我的朋友

分类: LINUX

2014-12-18 10:03:18

原文地址:Linux 使用TC做Qos流量控制 作者:cjjchong

下面是我的工作笔记,呵呵
完成之后,上传和下载都会得到相应的控制,当然流量很难达到满载100%啦。
而且上传和下载的控制相对独立。
 
分析
1.  TC只能限制外发的流量
    在本系统中,主要以eth2.2和br0来连接外网和内网。其中
      上传时,主要是br0 -> eth2.2 -> WAN,所以上传时选择eth2.2做限制。
      下载时,是以eth2.2 -> br0 -> LAN ,所以下载时限制br0。
2.  上传速度对下载的影响
    (1)TCP/IP协议规定,每一個封包,都需要有acknowledge讯息的回传,也就是说,传输的资料,
    需要有一个收到资料的讯息回复,才能决定后面的传输速度,並决定是否重新传输遗失
    的资料。上行的带宽一部分就是用來传输這些acknowledge(确认)資料,当上传速率过大的时候,
    就会影响acknowledge资料的传送速度,并进而影响到下载速度。这对非对称数字环路也就是
    ADSL这种上行带宽远小于下载带宽的连接来说影响尤为明显。
    (2)试验证明,当上传满载时,下载速度变为原来速度的40%,甚至更低.因为上载文件(包括ftp
    上传,发邮件smtp),如果较大,一个人的通讯量已经令整条adsl变得趋向饱和,那么所有的数据
    包只有按照先进先出的原则进行排队和等待.这就可以解释为什么网内其中有人用ftp上载文件,
    或发送大邮件的时候,整个网速变得很慢的原因。
    参考:
3.  本系统中,因为使用了AF1,AF2,AF5,AF6四个通道,所以需建立6个通道,尽管AF3,AF4目前用不上
    AF3,AF4采用默认值。
4.  为解决这些速度问题,按照数据流和adsl的特点,对经过线路的数据进行了有规则的分流.
    把本来在adsl modem上的瓶颈转移到我们linux路由器上,可以把带宽控制的比adsl modem上的小一点,
    这样我们就可以方便的用tc技术对经过的数据进行分流和控制.
    tc和iptables结合是最好的简单运用的结合方法.
    通过设置过滤器以便用iptables对数据包进行分类,因为iptables更灵活,而且还可以为每个规则设置计数器.
    iptables用mangle链来mark数据包,告诉了内核,数据包会有一个特定的FWMARK标记值(hanlde x fw),
    表明它应该送给哪个类( classid x : x),而prio是优先值,表明哪些重要数据应该优先通过哪个通道.
    首先选择队列,本系统中采用的是htb队列。
5.  一般系统默认的是fifo的先进先出队列,就是说数据包按照先来先处理的原则,如果有一个大的数
    据包在前面,那么后面的包只能等前面的发完后才能接着发了,这样就算后面即使是一个小小的ack包,
    也要等待了,这样上传就影响了下载,就算你有很大的下载带宽也无能为力.
6.  #HTB(Hierarchical Token Bucket, 分层的令牌桶)
    参考 ~devik/qos/htb/
    HTB就象CBQ一样工作,但是并不靠计算闲置时间来整形。它是一个分类的令牌桶过滤器。它只有很少的参数
    他的分层(Hierarchical)能够很好地满足这样一种情况:你有一个固定速率的链路,希望分割给多种不同的
    用途使用,为每种用途做出带宽承诺并实现定量的带宽借用。
7.  参数说明
    rate:保证最小带宽
    ceil:可借用的最大带宽
    prio:优先权,数值越大,优先权越小。
8.  关于各规则的解释,参考
9. 结构简图:
_____________________| root
_____________________|
____________________1:0  (dsmark indices 64)
_____________________|
____________________3:0  (htb)
_____________________|
____________________3:1  (htb)
____|_______________|______________|______________|______________|______________|
__3:50_____________3:40___________3:30___________3:20___________3:60___________3:10
__AF5______________AF4____________AF3____________AF2____________AF6____________AF1
 
10添加上传限制
1) 删除各个端口的规则
tc qdisc del dev br0 root 1>/dev/null 2>&1
tc qdisc del dev eth2.1 root 1>/dev/null 2>&1
tc qdisc del dev ppp0 root 1>/dev/null 2>&1
tc qdisc del dev eth2.2 root 1>/dev/null 2>&1
tc qdisc del dev eth2 root 1>/dev/null 2>&1
tc qdisc del dev ra0 root 1>/dev/null 2>&1
tc qdisc del dev apcli0 root 1>/dev/null 2>&1
2)清除预设表filter中使用者自定链中的规则。
iptables -t mangle -D PREROUTING -j qos_mangle_chain 1>/dev/null 2>&1
iptables -t mangle -F qos_mangle_chain 1>/dev/null 2>&1
iptables -t mangle -X qos_mangle_chain 1>/dev/null 2>&1
3)向链中添加规则,开放网络接口
iptables -t mangle -N qos_mangle_chain 1>/dev/null 2>&1
iptables -t mangle -A PREROUTING -j qos_mangle_chain 1>/dev/null 2>&1
4)显示1 ~ 6的rate和ceil
1Rate:102.400002
1Ceil:1024.000000
2Rate:204.800003
2Ceil:1024.000000
3Rate:2.000000
3Ceil:1024.000000
4Rate:2.000000
4Ceil:1024.000000
5Rate:307.200012
5Ceil:1024.000000
6Rate:51.200001
6Ceil:1024.000000
5)增加一个根队列,使用Diff-serv marker 算法
        indices: 表格体积 (mask, value)﹐一對使用。最大值为 2^n﹐且 n>;=0
        default_index: 为2^6 = 64 如果分類器找不到符合的比對,則使用预设表格项目索引。
tc qdisc add dev eth2.2 root handle 1:0 dsmark indices 64
6) 设定过滤器
 指定贴有 1 标签 (handle) 的封包,归类到 1: 类别,以此类推
 handle 是iptables作mark的值,被iptables 在mangle链做了mark的不同的值选择不同的通道classid,
 而prio 是过滤器的优先级别.
 
 分类器fw: 根據防火牆如何標識封包來作判斷。 
 
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 11 fw classid 1:111
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 12 fw classid 1:112
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 13 fw classid 1:113
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 21 fw classid 1:121
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 22 fw classid 1:122
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 23 fw classid 1:123
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 31 fw classid 1:131
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 32 fw classid 1:132
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 33 fw classid 1:133
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 41 fw classid 1:141
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 42 fw classid 1:142
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 43 fw classid 1:143
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 51 fw classid 1:151
tc filter add dev eth2.2 parent 1: protocol ip prio 2 handle 61 fw classid 1:161
7)在1:0 添加叶类 3:0 作为下载控制,规则为htb
tc qdisc add dev eth2.2 parent 1:0 handle 3:0 htb
8)在3:0 下添加叶类 3:1 ,并设定规则为htb,速率范围为(1024kbit - 1024kbit)
tc class add dev eth2.2 parent 3:0 classid 3:1 htb rate 1024kbit ceil 1024kbit
9)给3:00 添加TC_INDEX 过滤器 (TC_INDEX Filter)
设定满足mask=0xF0 shift=4 的时候通过
tcindex规则: tcindex [ hash SIZE ] [ mask MASK ] [ shift SHIFT ] [ pass_on | fall_through ] [ classid CLASSID ] [ police POLICE_SPEC ]
关于tcindex的参数:
  hash: lookup table的大小
  mask: 位掩码
  shift:需要右移的位数
  pass_on:若满足条件则该封包通过
  fall_through:全部通过
  classid:这条规则所归属的classid
  police:
计算:
假设收到一个表示为EF的封包,则EF流量的DSCP建议值为101110,则DS栏位将会是10111000
       mask = 11110000。  对DSCP的掩码
       value = 10111000 & 11110000 = 10110000  封包的DSCP值与mask进行求与得到的值。
       key = 1011000>4 = 00001011  = 0x0B。     
tc filter add dev eth2.2 parent 3:0 protocol ip prio 2 tcindex mask 0xf0 shift 4 pass_on

10)在3:1下添加子类3:10 ,并设定规则为htb, 速率为(102.40kbit ~ 1024.00kbit  ),优先权为 6
tc class add dev eth2.2 parent 3:1 classid 3:10 htb rate 102.40kbit ceil 1024.00kbit prio 6
        添加tcindex过滤器
tc filter add dev eth2.2 parent 3:0 protocol ip prio 2 handle 1 tcindex classid 3:10
        在该类下添加队列规定,使用gred算法中的grio模式,并设置有3条DP,指定 default 类别编号为2
tc qdisc add dev eth2.2 parent 3:10 gred setup DPs 3 default 2 grio
        编辑 3:10 的grep规则,
        limit确定最多有524288字节数在队列中等待可用令牌,
        min  队列中最小的阈值为:32768个字节
        max  队列中最大的阈值为:65536个字节
        burst  令牌桶的大小为44
        avpkt  数据包的平均大小为1000个字节
        bandwidth 接口的线速为1000,即该接口为1000M的网卡
        DP 标识该队列
        probability 定义丢弃的概率为 2%
tc qdisc change dev eth2.2 parent 3:10 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 0 probability 0.02
prio 2
tc qdisc change dev eth2.2 parent 3:10 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 1 probability 0.04
prio 3
tc qdisc change dev eth2.2 parent 3:10 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 2 probability 0.06
prio 4
11)在3:1下添加子类3:20 ,并设定规则为htb, 速率为(204.80kbit ~ 1024.00kbit  ),优先权为 4
tc class add dev eth2.2 parent 3:1 classid 3:20 htb rate 204.80kbit ceil 1024.00kbit prio 4
tc filter add dev eth2.2 parent 3:0 protocol ip prio 2 handle 2 tcindex classid 3:20
tc qdisc add dev eth2.2 parent 3:20 gred setup DPs 3 default 2 grio
tc qdisc change dev eth2.2 parent 3:20 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 0 probability 0.02
prio 2
tc qdisc change dev eth2.2 parent 3:20 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 1 probability 0.04
prio 3
tc qdisc change dev eth2.2 parent 3:20 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 2 probability 0.06
prio 4
11)在3:1下添加子类3:30 ,并设定规则为htb, 速率为(2.00kbit ~ 1024.00kbit  ),优先权为 3
tc class add dev eth2.2 parent 3:1 classid 3:30 htb rate 2.00kbit ceil 1024.00kbit prio 3
tc filter add dev eth2.2 parent 3:0 protocol ip prio 2 handle 3 tcindex classid 3:30
tc qdisc add dev eth2.2 parent 3:30 gred setup DPs 3 default 2 grio
tc qdisc change dev eth2.2 parent 3:30 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 0 probability 0.02
prio 2
tc qdisc change dev eth2.2 parent 3:30 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 1 probability 0.04
prio 3
tc qdisc change dev eth2.2 parent 3:30 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 2 probability 0.06
prio 4
12)在3:1下添加子类3:40 ,并设定规则为htb, 速率为(2.00kbit ~ 1024.00kbit  ),优先权为 2
tc class add dev eth2.2 parent 3:1 classid 3:40 htb rate 2.00kbit ceil 1024.00kbit prio 2
tc filter add dev eth2.2 parent 3:0 protocol ip prio 2 handle 4 tcindex classid 3:40
tc qdisc add dev eth2.2 parent 3:40 gred setup DPs 3 default 2 grio
tc qdisc change dev eth2.2 parent 3:40 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 0 probability 0.02
prio 2
tc qdisc change dev eth2.2 parent 3:40 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 1 probability 0.04
prio 3
tc qdisc change dev eth2.2 parent 3:40 gred limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit DP 2 probability 0.06
prio 4
13)在3:1下添加子类3:50 ,并设定规则为htb, 速率为(307.20kbit ~ 1024.00kbit  ),优先权为 1
tc class add dev eth2.2 parent 3:1 classid 3:50 htb rate  307.20kbit ceil 1024.00kbit prio 1
tc filter add dev eth2.2 parent 3:0 protocol ip prio 2 handle 5 tcindex classid 3:50
tc qdisc add dev eth2.2 parent 3:50 red limit 314572.81 min 19660.80 max 39321.60 burst 26 avpkt 1000 bandwidth 1024kbit probability 0.4

14)在3:1下添加子类3:20 ,并设定规则为htb, 速率为(51.20kbit ~ 1024.00kbit  ),优先权为 5
tc class add dev eth2.2 parent 3:1 classid 3:60 htb rate  51.20kbit ceil 1024.00kbit prio 5
tc filter add dev eth2.2 parent 3:0 protocol ip prio 2 handle 0 tcindex classid 3:60
tc qdisc add dev eth2.2 parent 3:60 red limit 524288.00 min 32768.00 max 65536.00 burst 44 avpkt 1000 bandwidth 1024kbit probability 0.4

11. 添加下载控制
1Rate:204.800003
1Ceil:2048.000000
2Rate:409.600006
2Ceil:2048.000000
3Rate:2.000000
3Ceil:2048.000000
4Rate:2.000000
4Ceil:2048.000000
5Rate:614.400024
5Ceil:2048.000000
6Rate:102.400002
6Ceil:2048.000000
使用的root handle 为2:0   其他的设定与上传相似
tc qdisc add dev br0 root handle 2:0 dsmark indices 64
tc filter add dev br0 parent 2: protocol ip prio 2 handle 11 fw classid 2:211
tc filter add dev br0 parent 2: protocol ip prio 2 handle 12 fw classid 2:212
tc filter add dev br0 parent 2: protocol ip prio 2 handle 13 fw classid 2:213
tc filter add dev br0 parent 2: protocol ip prio 2 handle 21 fw classid 2:221
tc filter add dev br0 parent 2: protocol ip prio 2 handle 22 fw classid 2:222
tc filter add dev br0 parent 2: protocol ip prio 2 handle 23 fw classid 2:223
tc filter add dev br0 parent 2: protocol ip prio 2 handle 31 fw classid 2:231
tc filter add dev br0 parent 2: protocol ip prio 2 handle 32 fw classid 2:232
tc filter add dev br0 parent 2: protocol ip prio 2 handle 33 fw classid 2:233
tc filter add dev br0 parent 2: protocol ip prio 2 handle 41 fw classid 2:241
tc filter add dev br0 parent 2: protocol ip prio 2 handle 42 fw classid 2:242
tc filter add dev br0 parent 2: protocol ip prio 2 handle 43 fw classid 2:243
tc filter add dev br0 parent 2: protocol ip prio 2 handle 51 fw classid 2:254
tc qdisc add dev br0 parent 2:0 handle 4:0 htb
tc class add dev br0 parent 4:0 classid 4:1 htb rate 2048kbit ceil 2048kbit
tc filter add dev br0 parent 4:0 protocol ip prio 2 tcindex mask 0xf0 shift 4 pass_on
tc class add dev br0 parent 4:1 classid 4:10 htb rate 204.80kbit ceil 2048.00kbit prio 6
tc filter add dev br0 parent 4:0 protocol ip prio 2 handle 1 tcindex classid 4:10
tc qdisc add dev br0 parent 4:10 gred setup DPs 3 default 2 grio
tc qdisc change dev br0 parent 4:10 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 0 probability 0.02
prio 2
tc qdisc change dev br0 parent 4:10 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 1 probability 0.04
prio 3
tc qdisc change dev br0 parent 4:10 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 2 probability 0.06
prio 4
tc class add dev br0 parent 4:1 classid 4:20 htb rate 409.60kbit ceil 2048.00kbit prio 4
tc filter add dev br0 parent 4:0 protocol ip prio 2 handle 2 tcindex classid 4:20
tc qdisc add dev br0 parent 4:20 gred setup DPs 3 default 2 grio
tc qdisc change dev br0 parent 4:20 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 0 probability 0.02
prio 2
tc qdisc change dev br0 parent 4:20 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 1 probability 0.04
prio 3
tc qdisc change dev br0 parent 4:20 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 2 probability 0.06
prio 4
tc class add dev br0 parent 4:1 classid 4:30 htb rate 2.00kbit ceil 2048.00kbit prio 3
tc filter add dev br0 parent 4:0 protocol ip prio 2 handle 3 tcindex classid 4:30
tc qdisc add dev br0 parent 4:30 gred setup DPs 3 default 2 grio
tc qdisc change dev br0 parent 4:30 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 0 probability 0.02
prio 2
tc qdisc change dev br0 parent 4:30 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 1 probability 0.04
prio 3
tc qdisc change dev br0 parent 4:30 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 2 probability 0.06
prio 4
tc class add dev br0 parent 4:1 classid 4:40 htb rate 2.00kbit ceil 2048.00kbit prio 2
tc filter add dev br0 parent 4:0 protocol ip prio 2 handle 4 tcindex classid 4:40
tc qdisc add dev br0 parent 4:40 gred setup DPs 3 default 2 grio
tc qdisc change dev br0 parent 4:40 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 0 probability 0.02
prio 2
tc qdisc change dev br0 parent 4:40 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 1 probability 0.04
prio 3
tc qdisc change dev br0 parent 4:40 gred limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit DP 2 probability 0.06
prio 4
tc class add dev br0 parent 4:1 classid 4:50 htb rate  614.40kbit ceil 2048.00kbit prio 1
tc filter add dev br0 parent 4:0 protocol ip prio 2 handle 5 tcindex classid 4:50
tc qdisc add dev br0 parent 4:50 red limit 629145.62 min 39321.60 max 78643.20 burst 53 avpkt 1000 bandwidth 2048kbit probability 0.4
tc class add dev br0 parent 4:1 classid 4:60 htb rate  102.40kbit ceil 2048.00kbit prio 5
tc filter add dev br0 parent 4:0 protocol ip prio 2 handle 0 tcindex classid 4:60
tc qdisc add dev br0 parent 4:60 red limit 1048576.00 min 65536.00 max 131072.00 burst 87 avpkt 1000 bandwidth 2048kbit probability 0.4
12. 使用iptables Mangle 数据包高级管理
-p :指定协议类型
-m layer7 --l7proto :指定application的类型
MARK: 把出去的不同类数据包(为dport)给mark上标记51 、61 等.让它走不同的通道
DSCP: DSCP 的类型
RETURN: 每条规则下根着return的意思是可以通过RETURN方法避免遍历所有的规则,加快了处理速度
iptables -t mangle -A qos_mangle_chain -p icmp -j MARK --set-mark 51
iptables -t mangle -A qos_mangle_chain -p icmp -j DSCP --set-dscp-class EF
iptables -t mangle -A qos_mangle_chain -p icmp -j RETURN
iptables -t mangle -A qos_mangle_chain -m length --length 0:128  -j MARK --set-mark 51
iptables -t mangle -A qos_mangle_chain -m length --length 0:128  -j DSCP --set-dscp-class EF
iptables -t mangle -A qos_mangle_chain -m length --length 0:128  -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto h323 -j MARK --set-mark 51
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto h323 -j DSCP --set-dscp-class EF
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto h323 -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto sip -j MARK --set-mark 51
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto sip -j DSCP --set-dscp-class EF
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto sip -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto skypeout -j MARK --set-mark 51
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto skypeout -j DSCP --set-dscp-class EF
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto skypeout -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto skypetoskype -j MARK --set-mark 51
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto skypetoskype -j DSCP --set-dscp-class EF
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto skypetoskype -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto rtp -j MARK --set-mark 51
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto rtp -j DSCP --set-dscp-class EF
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto rtp -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto ssh -j MARK --set-mark 51
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto ssh -j DSCP --set-dscp-class EF
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto ssh -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto msnmessenger -j MARK --set-mark 21
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto msnmessenger -j DSCP --set-dscp-class AF21
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto msnmessenger -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto yahoo -j MARK --set-mark 21
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto yahoo -j DSCP --set-dscp-class AF21
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto yahoo -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto msnmessenger -j MARK --set-mark 11
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto msnmessenger -j DSCP --set-dscp-class AF11
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto msnmessenger -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto smtp -j MARK --set-mark 11
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto smtp -j DSCP --set-dscp-class AF11
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto smtp -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto edonkey -j MARK --set-mark 11
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto edonkey -j DSCP --set-dscp-class AF11
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto edonkey -j RETURN
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto bittorrent -j MARK --set-mark 11
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto bittorrent -j DSCP --set-dscp-class AF11
iptables -t mangle -A qos_mangle_chain -m layer7 --l7proto bittorrent -j RETURN
阅读(2141) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~