全部博文(1015)
分类: 系统运维
2012-08-10 14:51:00
http://blog.sina.com.cn/s/blog_4ca83f8301000bww.html
CISCO2600 NBAR实验过程:
拓朴:
字符拓朴:PC(192.168.11.226)----cat3550--LAN---(192.168.11.254)cisco2600(fa0/1)(10.0.0.1/8)---------(10.0.0.2/8)cisco2500(http)
要求:用NBAR对LAN出站的HTTP访问进行限制, 其中凡是请求的url中包含support字样(cisco2500的http页面中最后的一个链接中带有support字样)的链接都被drop掉。
配置:
1、在cisco2500上用ip http server启用HTTP页面访问,在PC上用IE测试访问一下,页面上所有链接均可点击(包括含support的url)
2、cisco2600做下列配置
ip cef //启用快速转发,我估计是因为要处理L7层数据,对性能要求较高
class-map match-all class1
match procotol http url "*support*" //url中带有support字眼的链接,就匹配了class1
policy-map policy1
class class1
police 2000000000 conform-action drop exceed-action drop //小于2G速率的动作为drop,大于2G也是drop,所以class1的所有的包都应该是drop掉的。没有直接的drop命令可用,可以用police进行变通嘛!
interface fa0/1
service-policy output policy1 //应用policy1
3、check:可以在PC机上打开cisco2500的页面,除最后一个tech support的链接打不开外,其的他链接均可打开。说明QoS的NBAR设置成功。
---------------------------------------
二、知其然需知其所以然
课上,正大口大口地敲着police时,突然一小子问道:那3个数字到底是撒么意思?搪塞之。然心有慽慽蔫,但凡IT者,8成以上是完美主义者,当然俺也不例外,回家后遍查资料,发现出自国人的文档,不是没有说明,就是一笔带过,实在不爽。去cisco网站 (感谢老万的cco帐号!),看原版QoS文档,3遍,才恍然大悟。结合自己的推敲,小结如下:
police 2000000 1000000 2000000 conform-action transmit exceed-action drop
^ ^ ^
bps burst-normal(bytes) burst-max(bytes)
bps:第一个数字2000000是指最大的传输速率,这里是2M bps (位/秒)
burst-normal:第二个数字1000000是指客户端允许的突发(burst)流量大小,单位字节,也就是客户端数据包在转发队列中所能占用的缓存空间大小,这里为1M Bytes。
burst-max:第三个数字2000000是指客户端最大的突发流量大小,单位字节,即在转发队列中最大可占用的缓存空间大小,这里为2M Bytes,可以与burst-normal相同。
conform-action:是指客户端数据包在前面定义的2个属性值的范围内(同时低于bps和burst-max属性值)所采取的动作,transmit是指包是允许投递的。
exceed-action:是指超出前面定义的最大速率或最大突发流量所采取的动作,drop是指丢弃包。
合起来的意思就是:客户端的最高速率2M bps,队列缓存1MB,最大队列缓存2MB,超出速率或最大缓存限制的包将被drop掉。
注:
1、police是应用在QoS类上的,引用“客户端”来说明是为了便于理解,这里的“客户端”就是指某个QoS类,所以police是针对这个QoS类所采取的策略,比如优先级同为5的多个客户端组成的QoS类。
2、是否drop包一般只要看burst-max即可,因为最高速率通常是不能超过的,来不及投递的数据包逐渐添满缓存队列,直到大于burst-max才开始丢包(即tail drop尾部丢弃)。
3、参考文献<
链:
------------------------------------------------------
关键时刻还是要看EN文原厂商原版文档。再次感谢老万的cco帐号!