|
马上注册成为ROSABC会员,随时发帖回复。
您需要 登录 才可以下载或查看,没有账号?会员注册
x
余老师您好
pcc与htb共存,毫无疑问,答案是肯定的!
您说过 "把数据包流控标记做在pcc规则后面" ,如果是这样设置的话,我试过了,的确,数据包流控标记可以标记到一部分包,但还有一部分标记不到.
我以80端口优先为例,因为在pcc规则里是要先标记所有连接的(如:连接名CONN1),而在标记80端口数据包时也要先标记目的端口为80的连接(如:连接名CONN-80),再通过连接标记来标记数据包,正常情况下我们在IP FIREWALL CONNECT里看到的所有的80端口的连接应当是后面那个连接标记 CONN-80,但实际是我们在IP FIREWALL CONNECT里看到目的端口指向80的一部分连接标记为CONN-80,另一部分连接标记为CONN1,这样我就认为80端口的数据包就没有全部被标记到,同时在HTB里看到的流量,与实际流量不相附,这也映证了我上述的猜测。
后来,我没有采用这种标记方式--- "把数据包流控标记做在pcc规则后面"
我采用在做PCC规则时的同时做80端口的标记。
/ip firewall mangle add chain=prerouting src-address-list=Local protocol=tcp dst-port=80 action=mark-connection new-connection-mark=("conn".$i."-80") per-connection-classifier=("both-addresses:6/".($i-1)) comment=("C".($i)."-80") disable=no passthrough=no
/ip firewall mangle add chain=prerouting src-address-list=Local connection-mark=("conn".$i."-80") action=mark-packet new-packet-mark=("80_packet") comment=("M".($i)."-80") disable=no
/ip firewall mangle add chain=prerouting src-address-list=Local action=mark-routing new-routing-mark=("rout".($i)) connection-mark=("conn".$i."-80") comment=("R".$i."-80") passthrough=no disable=no
/ip firewall mangle add chain=prerouting src-address-list=Local action=mark-connection new-connection-mark=("conn".$i) per-connection-classifier=("both-addresses:6/".($i-1)) comment=("C".($i))
/ip firewall mangle add chain=prerouting src-address-list=Local connection-mark=("conn".$i) action=mark-packet new-packet-mark=("Other_Packet") comment=("M".($i)."-other") disable=no
/ip firewall mangle add chain=prerouting src-address-list=Local action=mark-routing new-routing-mark=("rout".($i)) connection-mark=("conn".$i) comment=("R".$i) passthrough=no
这样之后,就如我所愿了,所有的80端口的包都打上了相应的标记。
但这样之后我发现,HTB规则只可以捕捉到上传的流量,parent 设置为PPPOE接口才行,
2011-1-19 02:24 上传
下载附件 (70.1 KB)
问: 像我后面这样设置,是不是正确的,(我认为是正确的)
在PREROUTING链标记的数据包是同时包含上行和下行数据的,怎样设置才可以捕捉到下载的流量,就是要区分下载还是上行,我在PCC,HTB规则里要怎样设置
我HTB真的不太懂
谢谢!!!
刚刚发现,用FORWORD链标记好像可以 |
|