ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 7824|回复: 3

[交流] 余老师请进,pcc与htb共存问题!

[复制链接]
 楼主| 发表于 2006-6-5 18:29:11 | 显示全部楼层 |阅读模式

马上注册成为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接口才行, 11011902243fed89547331f7e5.jpg 2011-1-19 02:24 上传
下载附件 (70.1 KB)




问: 像我后面这样设置,是不是正确的,(我认为是正确的)
在PREROUTING链标记的数据包是同时包含上行和下行数据的,怎样设置才可以捕捉到下载的流量,就是要区分下载还是上行,我在PCC,HTB规则里要怎样设置

我HTB真的不太懂

谢谢!!!


刚刚发现,用FORWORD链标记好像可以
发表于 2006-6-6 00:49:59 | 显示全部楼层
本帖最后由 mailink 于 2011-1-21 00:08 编辑

add action=mark-connection chain=prerouting comment=C1 disabled=no new-connection-mark=conn1 passthrough=yes per-connection-classifier=both-addresses:2/0 src-address-list=Local
add action=mark-routing chain=prerouting comment=R1 connection-mark=conn1 disabled=no new-routing-mark=rout1 passthrough=no src-address-list=Local
add action=mark-connection chain=prerouting comment=C2 disabled=no new-connection-mark=conn2 passthrough=yes per-connection-classifier=both-addresses:2/1 src-address-list=Local
add action=mark-routing chain=prerouting comment=R2 connection-mark=conn2 disabled=no new-routing-mark=rout2 passthrough=no src-address-list=Local
add action=jump chain=forward comment="" disabled=no jump-target=chain_web_1 out-interface=pppoe-out1
add action=jump chain=forward comment="" disabled=no jump-target=chain_web_1 out-interface=pppoe-out2
add action=mark-connection chain=chain_web_1 comment=80 disabled=no new-connection-mark=80_Conn_1 out-interface=pppoe-out1 passthrough=yes protocol=tcp src-port=80
add action=mark-packet chain=chain_web_1 comment="" connection-mark=80_Conn_1 disabled=no new-packet-mark=80_packet_1 passthrough=no
add action=mark-connection chain=chain_web_2 comment=80 disabled=no new-connection-mark=80_Conn_2 out-interface=pppoe-out2 passthrough=yes protocol=tcp src-port=80
add action=mark-packet chain=chain_web_2 comment="" connection-mark=80_Conn_2 disabled=no new-packet-mark=80_packet_2 passthrough=no
add action=mark-packet chain=forward comment=mark1down disabled=no in-interface=pppoe-out1 new-packet-mark=down passthrough=no
add action=mark-packet chain=forward comment=mark1up disabled=no new-packet-mark=up out-interface=pppoe-out1 passthrough=no
add action=mark-packet chain=forward comment=mark2down disabled=no in-interface=pppoe-out2 new-packet-mark=down passthrough=no
add action=mark-packet chain=forward comment=mark2up disabled=no new-packet-mark=up out-interface=pppoe-out2 passthrough=no
2011-1-20 23:51 上传
下载附件 (62.4 KB)



我是照着您的"双线HTB手册"做的,这样对不对,为什么我这样做标记不到80端口的数据(下载,上传)
add action=mark-connection chain=chain_web_1 comment=80 disabled=no new-connection-mark=80_Conn_1 out-interface=pppoe-out1 passthrough=yes protocol=tcp src-port=80
为什么是选择 src-port   我改为dst-port=80 这样第一条80连接有数据,第二条没有,第一条的数据不是下载数据,因为数据很小
麻烦解释,谢谢!!

还有一个问题是,像我1楼那样设置 “在prerouting里同时做负载均衡和流控标记 ”可不可以正确实现PCC下的HTB  可以的话我是错是哪里了,(我找不道下载流量)
因为我觉得  在prerouting里同时做负载均衡和流控标记 ” 更方便

谢谢!!
发表于 2006-6-8 18:01:14 | 显示全部楼层
本帖最后由 mailink 于 2011-1-19 13:27 编辑

还有一点要说明,我用的是多个ADSL  WAN口只有一个,做了VLAN ,bridge
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

不良信息举报Q:2000617

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2024-4-20 04:11 , Processed in 0.304597 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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