分类: 网络与安全
2005-12-04 01:20:58
大家在做项目的时候可能经常会碰到用户反映BT占用了大量的出口带宽,让你想办法帮助解决吧,现在BT软件太变态,通常的封端口已经搞不定他了。试试用CISCO的NBAR来封,效果一流,呵呵。
NBAR是一种动态能在四到七层协议特征码的技术,它不但能做到普通ACL能做到那样控制静态的TCP UDP的报,也能做到控制一般ACLs不能做到动态的端口的那些协议(如BT)之类.
An external Packet Description Language Module (PDLM)的文件用来扩展NBAR识别的协议。
到 下载bittorrent.pdlm和eDonkey.pdlm,(需要CCO帐号)
TFTP上传到FLASH中
加载pdlm模块(针对BT和电驴)
ip nbar pdlm bittorrent.pdlm
ip nbar pdlm eDonkey.pdlm
建立BT特征码相关的class-map "denybt"
class-map match-any denybt
match protocol bittorrent
match protocol edonkey
定义符合bittorrent特征的数据包处理方式policy,这里是drop
policy-map bittorrent-policy
class denybt
drop
然后在你的路由器内网端口配置中添加service-policy
interface fa0/1
ip address 192.168.100.254 255.255.255.0
ip nat inside
service-policy input bittorrent-policy 定义对进入的数据包执行策略检查
service-policy output bittorrent-policy 定义对外出的数据包执行策略检查
duplex full
这种方式封BT和电驴目前是十分有效的,也可以只限制BT的带宽使用。详细的配置信息可以参考CISCO的文档
用NBAR, 我已经试过了。非常好用
如果重新启动需要重新调用 tftp://130.130.122.123/bittorrent.pdlm 这个文件
所以还是用flash 卡比较好~~
如果不调用文件,那就会发生没有match protocol bittorrent
ip nbar pdlm tftp://130.130.122.123/bittorrent.pdlm
class-map match-all bit
match protocol bittorrent
policy-map limit-bit
class bit
police cir 240000
conform-action transmit
exceed-action drop
police cir 8000
conform-action transimit
exceed-action drop
interface fastethernet 0/1
service-policy input limit-bit (下载)
service-policy output limit-bit(上传)
ip nat outside
interface fastethernet 0/0
ip nat inside
ip nat inside list 1 pool nbar-pool overload
access-list 1 permit any
ip nat pool nbar-pool
8000 < 1k
80000 < 4k 5k, 5k 5k
160000 < 16K, 13K
240000 <=22k, 24K
800000 <=80K <100K
好像往下的时候,延迟不会降的很快~~第二次就好了