IOS的NBAR特性概述
2009-04-19 18:15
274 查看
NBAR(Network-Based Application Recognition,基于网络的应用识别)是一种流量分类引擎,能够通过数据包本身的描述识别该数据属于何种应用服务。在CISCO IOS的12.0(5)XE2引入了该特性。通常NBAR会用于辅助CISCO IOS的QOS(服务质量),由NBAR将通过路由器的流量进行流量分类,CISCO IOS根据分类结果对不同类别的流量实施QOS特性。
NBAR能够动态的寻找并分类通过路由器的四到七层流量中的协议,可以识别动态分配TCP和UDP端口号的有状态应用(如P2P类文件共享程序),可以识别常用的TCP和UDP协议的端口号及其他类型的三层协议、包含在应用层数据里的命令等。NBAR还可以用于识别***流量,并在确认流量为恶意流量之后,进行丢弃。
通过和数据包描述语言模块(PDLM)配合,NBAR可以拥有更加强大的功能。PDLM是已经定义好的用于增强NBAR网络协议分析和应用的识别能力的模块,在CISCO官方网站上提供了很多已经定义好的PDLM,可以使用CCO号登陆CISCO网站进行下载。通过加载PDLM可以增强NBAR的能力,而不需要重装CISCO IOS软件。下载到需要的PDLM模块文件后,可以使用TFTP方式COPY模块到路由器的FLASH中,然后使用ip nbar pdlm [模块名] 命令进行加载。PDLM还允许管理员自定义协议和端口号对特定的流量进行审查。
使用NBAR功能,首先要在路由器启动CISCO快速转发功能,然后根据需要审查的流量使用class-map建立审查分组(类), 可以具体的定义需要审查何种应用类型,数据包长度,连接地址等。完成了流量分类,就可以通过定义policy-map来指定各种流量对应的安全规则,比如对于***流量进行丢弃,使用带宽管制对可疑流量进行带宽限制。最后需要在接口下启用流量策略。
NBAR也有很多缺陷,例如不支持HOST或MINE的匹配类型,不支持非IP流量,不支持组播或其他非CEF的交换模式,不支持被分片的数据包等。NBAR特性不被逻辑接口支持,包括快速以太网信道、TRUNK接口、交换虚接口等。
配置NBAR的基本步骤:(包括两大步:定义流量分类class-map和定义行为policy-map)
1.启用CEF特性:
Aiko(config)#ip cef
2.把流量分类,定义class map:
Aiko(config)#class-map [match-all|match-any] {map-name}
3.定义NBAR要匹配的协议:
Aiko(config-cmap)#match protocol {protocol}
4.设置policy map:
Aiko(config)#policy-map {policy-name}
5.调用class map:
Aiko(config-pmap)#class {class-map}
6.设置策略:
Aiko(config-pmap-c)#{action}
7.把策略应用在接口上:
Aiko(config-if)#service-policy {input|output} {policy-map}
NBAR配置实例:
使用NBAR阻止TELNET流量。
R1的基本配置:
Router(config)#hostname R1
R1(config)#interface s0/0
R1(config-if)#ip address 10.0.0.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.2
R2的基本配置:
Router(config)#hostname R2
R2(config)#interface s0/1
R2(config-if)#ip address 10.0.0.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.1
配置TELNET登录密码:
R1(config)#line vty 0 15
R1(config-line)#password cisco
R1(config-line)#login
R1(config-line)#exit
定义审查类
R1(config)#class-map telnet
R1(config-cmap)#match protocol telnet 匹配所有的telnet流量
R1(config-cmap)#exit
定义行为
R1(config)#policy-map telnet
R1(config-pmap)#class telnet
R1(config-pmap-c)#drop 定义行为为丢弃
R1(config-pmap-c)#exit
R1(config-pmap)#exit
作用在接口下:
R1(config)#interface s0/0
R1(config-if)#service-policy input telnet
R1(config-if)#exit
测试:
R2#telnet 10.0.0.1
Trying 10.0.0.1 ...
% Connection timed out; remote host not responding
NBAR能够动态的寻找并分类通过路由器的四到七层流量中的协议,可以识别动态分配TCP和UDP端口号的有状态应用(如P2P类文件共享程序),可以识别常用的TCP和UDP协议的端口号及其他类型的三层协议、包含在应用层数据里的命令等。NBAR还可以用于识别***流量,并在确认流量为恶意流量之后,进行丢弃。
通过和数据包描述语言模块(PDLM)配合,NBAR可以拥有更加强大的功能。PDLM是已经定义好的用于增强NBAR网络协议分析和应用的识别能力的模块,在CISCO官方网站上提供了很多已经定义好的PDLM,可以使用CCO号登陆CISCO网站进行下载。通过加载PDLM可以增强NBAR的能力,而不需要重装CISCO IOS软件。下载到需要的PDLM模块文件后,可以使用TFTP方式COPY模块到路由器的FLASH中,然后使用ip nbar pdlm [模块名] 命令进行加载。PDLM还允许管理员自定义协议和端口号对特定的流量进行审查。
使用NBAR功能,首先要在路由器启动CISCO快速转发功能,然后根据需要审查的流量使用class-map建立审查分组(类), 可以具体的定义需要审查何种应用类型,数据包长度,连接地址等。完成了流量分类,就可以通过定义policy-map来指定各种流量对应的安全规则,比如对于***流量进行丢弃,使用带宽管制对可疑流量进行带宽限制。最后需要在接口下启用流量策略。
NBAR也有很多缺陷,例如不支持HOST或MINE的匹配类型,不支持非IP流量,不支持组播或其他非CEF的交换模式,不支持被分片的数据包等。NBAR特性不被逻辑接口支持,包括快速以太网信道、TRUNK接口、交换虚接口等。
配置NBAR的基本步骤:(包括两大步:定义流量分类class-map和定义行为policy-map)
1.启用CEF特性:
Aiko(config)#ip cef
2.把流量分类,定义class map:
Aiko(config)#class-map [match-all|match-any] {map-name}
3.定义NBAR要匹配的协议:
Aiko(config-cmap)#match protocol {protocol}
4.设置policy map:
Aiko(config)#policy-map {policy-name}
5.调用class map:
Aiko(config-pmap)#class {class-map}
6.设置策略:
Aiko(config-pmap-c)#{action}
7.把策略应用在接口上:
Aiko(config-if)#service-policy {input|output} {policy-map}
NBAR配置实例:
使用NBAR阻止TELNET流量。
R1的基本配置:
Router(config)#hostname R1
R1(config)#interface s0/0
R1(config-if)#ip address 10.0.0.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.2
R2的基本配置:
Router(config)#hostname R2
R2(config)#interface s0/1
R2(config-if)#ip address 10.0.0.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.1
配置TELNET登录密码:
R1(config)#line vty 0 15
R1(config-line)#password cisco
R1(config-line)#login
R1(config-line)#exit
定义审查类
R1(config)#class-map telnet
R1(config-cmap)#match protocol telnet 匹配所有的telnet流量
R1(config-cmap)#exit
定义行为
R1(config)#policy-map telnet
R1(config-pmap)#class telnet
R1(config-pmap-c)#drop 定义行为为丢弃
R1(config-pmap-c)#exit
R1(config-pmap)#exit
作用在接口下:
R1(config)#interface s0/0
R1(config-if)#service-policy input telnet
R1(config-if)#exit
测试:
R2#telnet 10.0.0.1
Trying 10.0.0.1 ...
% Connection timed out; remote host not responding
相关文章推荐
- iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。
- iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性。以及手势和动力结合使用的案例
- iOS平台XML解析类库对比概述
- 关于IOS的Autolayout特性的理解以及使用
- ios:KVC的概述与使用
- IOS开发概述-09.UIController和控制器的View
- iOS 7: 隐藏的特性和解决之道
- Java EE 6核心特征:Bean Validation特性概述(3)
- iOS开发-iOS10新特性及开发者主要注意点
- 开发者所需要知道的 iOS 11 SDK 新特性
- IOS下的Safari的一些特性
- iOS常量、变量、属性及其特性
- Java 9 新特性概述
- iOS新特性扩展之Today分享(2)
- 1小时学会:最简单的iOS直播推流(二)代码架构概述
- iOS 9 新特性之实现 3D Touch
- iOS 通览(一) - 技巧、特性及规范
- Spark1.2新特性概述
- java三大特性封装、继承、多态概述
- 在WWDC 2014上,没提到的iOS 8 八大新特性