论坛风格切换切换到宽版
  • 547阅读
  • 2回复

[问题求助]tc 中u32过滤器的问题! [复制链接]

上一主题 下一主题
离线chinablue.
 
发帖
2151
C币
-235260
威望
390
贡献值
1
银元
-3
铜钱
4734
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
我想对22端口.的流量进行限制,在建立好qdisc和class后,我以此方式来添加过滤器.    外汇
tc f.ilter add dev eth1 parent 1:0 protocol ip prio 100 u32. match tcp src 22 0xffff .flowid 1:2--------------彩票
用tc .filter show dev eth1命令查看.,结果如下           鲜花
filter parent 1: pr.otocol ip pref 100 u32. .
filter pare.nt 1: pro.tocol ip pref 100 u32 fh 800: ht divisor 1     健康
filter parent 1: pr.otocol ip pref 100 u32 fh 800::800 order 2048 key ht 80.0 bkt 0 fl.owid 1:2 域名
  match 00160000/ffff.0000 at. nexthdr+0[成人用品]
但是在sftp的时候,明显感觉到流量控制没有.起.到作用。.
考虑到tcp头部中,source位于tcphdr的最前面2个字节,而ip头部长度通常为20个字节,我删除上述过滤器后.,重新添加一条.:.
tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 m.atch u16  22 0xffff. at 20 flow.id 1:2.
用tc filter show dev. eth.1命令查看,结果如下电脑
filter. parent 1: protocol ip .pref 100 u32 虚拟主机
filter p.arent 1: protocol ip pre.f 100 u32 fh 800: ht divisor 1 虚拟主机
filter parent 1: protocol ip pref 100 u32 fh 8.00::800 ord.er 2048 key ht 800 bkt 0 fl.owid 1:2 (        游戏          )
  mat.ch 00160000/ff.ff0000 at 20服务器
这样,就可以做到流量控制了。
但是考虑到这样做是不.可靠的,不知道有什么办法,可以用u32过滤器,做到对指定端口进行控制呢.?电影

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
2078
C币
-235495
威望
377
贡献值
1
银元
-1
铜钱
4606
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
Re:tc
遇到了同样的问题,主要是 nexthdr 是不起作用的,无论是tcp或udp。
希望能实现nexthdr的大虾出来说说。

离线tnka.
发帖
2076
C币
-60326
威望
404
贡献值
1
银元
-3
铜钱
4803
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
Re:tc
我又用另外一个命令试了一下,
tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip sport 22 0xffff flowid 1:2
生成的过滤器也是这样的
filter parent 1: protocol ip pref 100 u32
filter parent 1: protocol ip pref 100 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 100 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:2
  match 00160000/ffff0000 at 20
也能进行正常的流量控制。
但这是假定ip头部长度为20个字节。其实ip头部中可能带有选项,长度可能超过20个字节,这样就可能带来问题。
nexthdr是不起作用,不知道怎么用才可以。
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个