NBAR : Network-Based Application Recognition
 
PDLM: Packet De.ion Language Moudule
 
 
NBAR的缺陷
 
首先,NBAR不能在以下几种逻辑接口上使用:
1、快速以太网信道.
2、使用了隧道或加密技术的接口.
3、SVI.
4、拨号接口.
5、多链路PPP(MLP).
 
其次,NBAR不支持下列应用:
1、不支持多于24个的并发URL,HOST或MINE的匹配类型.
2、不支持超过400字节的URL匹配.
3、不支持非IP流量.
4、不支持组播或其他非CEF的交换模式.
5、不支持被分片的数据包.
6、不支持源自或去往运行NBAR的路由器的IP流量.
 
NBAR的基本配置步骤
 
1、启用CEF特性: Router(config)#ip cef
 
2、把流量分类,定义class map: Router(config)#class-map [match-all|match-any] {map-name}
 
3、定义NBAR要匹配的协议: Router(config-cmap)#match protocol {protocol}
 
4、设置policy map: Router(config)#policy-map {policy-name}
 
5、调用class map: Router(config-pmap)#class {class-map}
 
6、设置策略: Router(config-pmap-c)#{action}
 
7、把策略应用在接口上: Router(config-if)#service-policy {input|output} {policy-map}
 
案例:
 
一、用NBAR对进站的HTTP流量下载进行限速,其中凡是下载的图象格式jpg,jpeg,gif速率为100kbps,配置如

ip cef
class-map match-any name1(match all随便一条,都要匹配上)
match protocol http url "*.jpeg|*.jpg"
match protocol http url "*.gif"
exit
policy-map name2
class name1
police 100000 conform-action transmit exceed-action drop
exit
int f0/1
service-policy input name2
使用NBAR对网络流量做协议分析统计
int f0/1
ip nbar protocol-discovery
show ip nbar protocol-discovery top-n 5
 
二、用NBAR来防止红色代码(Code Red)和尼姆达(Nimda)蠕虫病毒的例子:

!

ip cef

!

class-map match-all DENY-ATTACK

match protocol http url "*.ida*"

match protocol http url "*cmd.exe*"

match protocol http url "*root.exe*"

match protocol http url "*readme.eml*"

!

policy-map Aiko

class DENY-ATTACK

drop

!

interface Serial0

ip address 10.0.0.1 255.255.255.252

service-policy input Aiko