15-APR配置
本章节下载 (255.76 KB)
目 录
APR(Application Recognition)即应用层协议识别。一些基于应用的业务(例如QoS,ASPF,带宽管理等)在进行报文处理时需要知道报文所属的应用层协议,APR可以为这样的业务提供应用识别服务,并能够对接口上接收或者发送的某个应用层协议的报文进行数目和速率统计。APR支持以下应用识别方式:PBAR(Port Based Application Recognition,基于端口的应用层协议识别)和NBAR(Network Based Application Recognition,基于内容特征的应用层协议识别)。
PBAR根据端口与应用的映射关系识别出报文所属的应用层协议,并支持以下类型的映射关系:
· 预定义的端口与应用的映射关系:由系统预先定义。
· 自定义的端口与应用的映射关系:由管理员进行创建。
根据与应用层协议进行映射的对象范围的不同,PBAR提供以下映射机制来维护和使用自定义的端口与应用映射关系:
· 通用端口映射:对于所有报文,建立自定义端口号和应用层协议建立映射关系。例如:将2121端口映射为FTP协议,这样所有目的端口是2121的报文将被识别为FTP报文。
· 主机端口映射:对去往某些特定范围内主机的报文建立自定义端口号和应用层协议的映射。例如:将目的地址为10.110.0.0/16网段的、使用2121端口的报文映射为FTP报文。主机范围可以通过配置ACL或者指定主机地址、网段来确定。
主机端口映射还可以细分为如下类型:
¡ 基于ACL的主机端口映射:对于匹配指定ACL的报文,建立端口号与应用层协议的映射关系;
¡ 基于网段的主机端口映射:对于目的地址为指定网段的报文,建立端口号与应用层协议的映射关系;
¡ 基于IP地址的主机端口映射:对于目的地址为指定IP地址的报文,建立端口号与应用层协议的映射关系。
以上端口映射配置对于同一个报文的生效优先级从高到低依次为:基于IP地址、基于网段、基于ACL、通用。而对于其中的每一类,指定传输层协议名称的配置优先级高于不指定传输层协议名称的配置。
NBAR提取应用报文的特征,通过将报文的内容与特征库中的规则进行匹配来识别报文所属的应用层协议。
NBAR支持两种类型的应用:
· 预定义应用:由设备上的APR特征库中的NBAR规则定义。
· 自定义应用:由管理员手工配置的NBAR规则定义。
可以将具有相似特征的应用添加到一个应用组中。一个应用组,就是若干个应用的集合。如果报文被识别为属于某个应用,而该应用又属于某个应用组,则报文相当于被识别为属于某个应用组。基于应用的业务(例如ASPF和带宽管理等)可以对属于同一个应用组的报文做统一处理。
一个自定义应用组中可以包含多个预定义应用和自定义应用。
APR特征库是用来对经过设备的应用层流量进行字符串特征识别的资源库,包含PBAR和NBAR特征。随着互联网业务的不断变化和发展,网络上的应用也在迅速的增加和变化,需要及时升级设备中的APR特征库,同时设备也支持APR特征库回滚功能。
APR特征库升级包括如下几种方式:
· 定期自动在线升级:设备根据管理员设置的时间定期自动更新本地的APR特征库。
· 立即自动在线升级:管理员手工触发设备立即更新本地的APR特征库。
· 手动离线升级:当设备无法自动获取APR特征库服务时,需要管理员先手动获取最新的APR特征库,再更新设备本地的APR特征库。
设备使用当前APR特征库版本进行识别应用时,如果管理员发现设备识别应用的误报率较高或出现异常情况,则可以将其回滚到上一版本或出厂版本。
APR特征库的升级需要购买并正确安装License后才能使用。License过期后,APR功能可以采用设备中已有的APR特征库正常工作,但无法升级特征库。关于License的详细介绍请参见“基础配置指导”中的“License管理”。
APR配置任务如下:
(1) 配置PBAR
(2) 配置自定义NBAR规则
(3) 配置应用组
(4) 配置接口的应用统计功能
(5) 配置APR特征库升级和回滚
(1) 进入系统视图。
system-view
(2) 配置端口映射。请至少选择其中一项进行配置。
¡ 配置通用端口映射。
port-mapping application application-name port port-number [ protocol protocol-name ]
¡ 配置基于ACL的主机端口映射。
port-mapping application application-name port port-number [ protocol protocol-name ] acl [ ipv6 ] acl-number
¡ 配置基于网段的主机端口映射。
port-mapping application application-name port port-number [ protocol protocol-name ] subnet { ip ipv4-address { mask-length | mask } | ipv6 ipv6-address prefix-length } [ vpn-instance vpn-instance-name ]
¡ 配置基于IP地址的主机端口映射。
port-mapping application application-name port port-number [ protocol protocol-name ] host { ip | ipv6 } start-ip-address [ end-ip-address ] [ vpn-instance vpn-instance-name ]
缺省情况下,各应用层协议与其对应的知名端口号映射。
配置映射关系时,如果指定的应用不存在就会创建这个应用。
当APR特征库中预定义的应用规则不能满足用户需求时,可以使用本功能配置自定义NBAR规则,并配置NBAR规则的属性和特征。其中,不能对预定义的NBAR规则进行删除和修改。
自定义NBAR规则下可配置的匹配项包括如下内容:
· 匹配的特征
· 匹配的目的IP地址网段
· 匹配的源IP地址网段
· 匹配的方向
· 匹配的端口号
一条自定义NBAR规则中可以同时配置多个匹配项,仅当所有已配置的匹配项都被匹配成功后,报文与该NBAR规则才能匹配成功。其中,特征可以同时配置多个,且至少匹配上一个特征才表示成功匹配到该匹配项。
(1) 进入系统视图。
system-view
(2) 创建自定义NBAR规则,并进入自定义NBAR规则视图。
nbar application application-name protocol { http | tcp | udp }
(3) (可选)配置自定义NBAR规则的描述信息。
description text
缺省情况下,自定义NBAR规则的描述信息为User defined application。
(4) 配置自定义NBAR规则的特征,并进入NBAR规则特征视图。
signature [ signature-id ] [ field field-name ] [ offset offset-value ] { hex hex-vector | regex regex-pattern | string string }
缺省情况下,未配置自定义NBAR规则的特征。
(5) (可选)配置自定义NBAR规则特征的检查项。
detection detection-id field field-name match-type { exclude | include } { hex hex-vector | regex regex-pattern | text text-string } [ offset offset-value [ depth depth-value ] | relative-offset relative-offset-value [ relative-depth relative-depth-value ] ]
缺省情况下,未配置自定义NBAR规则特征的检查项。
(6) (可选)配置自定义NBAR规则匹配的目的IP地址网段。
destination { ip ipv4-address [ mask-length ] | ipv6 ipv6-address [ prefix-length ] }
缺省情况下,NBAR规则匹配所有目的IP地址网段。
暂不支持IPv6类型地址,规则中配置IPv6类型的目的IP地址网段后,IPv6报文无法匹配此条件。
(7) (可选)配置自定义NBAR规则匹配的源IP地址网段。
source { ip ipv4-address [ mask-length ] | ipv6 ipv6-address [ prefix-length ] }
缺省情况下,NBAR规则匹配所有源IP地址网段。
暂不支持IPv6类型地址,规则中配置IPv6类型的源IP地址网段后,IPv6报文无法匹配此条件。
(8) (可选)配置NBAR规则的匹配方向。
direction { to-client | to-server }
缺省情况下,NBAR规则的匹配方向是双向的。
(9) (可选)配置自定义NBAR规则匹配的端口号。
service-port { port-num | range start-port end-port }
缺省情况下,NBAR规则匹配所有端口号。
(10) (可选)配置NBAR规则的最大检测字节数。
apr set detectlen bytes
缺省情况下,未配置NBAR规则的最大检测字节数。
(11) (可选)禁用该自定义NBAR规则。
disable
缺省情况下,自定义的NBAR规则处于生效状态。
(12) 激活自定义NBAR规则。
inspect activate
有关inspect activate命令的详细介绍请参见“DPI深度安全命令参考”中的“应用层检测引擎”。
(1) 进入系统视图。
system-view
(2) 创建应用组,并进入应用组视图。
app-group group-name
(3) (可选)为自定义的应用组设置描述信息。
description text
缺省情况下,自定义应用组的描述信息为“User-defined application group”。
(4) 向应用组中添加应用。请至少选择其中一项进行配置。
¡ 在应用组中复制另一个应用组中的所有应用。
copy app-group group-name
可以通过多次执行本命令复制多个应用组里的应用。
¡ 在应用组中添加应用。
include application application-name
缺省情况下,应用组中不包含应用。
在接口上开启应用统计功能之后,设备能够对接口上收到或者发送的报文的数目、速率按照应用层协议分别进行统计,生成的统计信息可以通过display application statistics命令查看。
接口的应用统计功能会消耗大量系统内存。当系统出现内存告警时,请关闭接口的应用统计功能。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 开启接口的应用统计功能。
application statistics enable [ inbound | outbound ]
缺省情况下,接口的应用统计功能处于关闭状态。
如果不指定任何参数,则表示同时开启接口出方向和入方向上的应用统计功能。
请勿删除设备存储介质根目录下的/dpi/文件夹,否则设备升级或回滚特征库会失败。
当系统内存使用状态处于告警门限状态时,请勿进行特征库升级或回滚,否则易造成设备特征库升级或回滚失败,进而影响NBAR业务的正常运行。有关内存告警门限状态的详细介绍请参见“基础配置指导”中的“设备管理”。
同一时刻只能对一个特征库进行升级,如果当前已有其他特征库正在升级,请稍后再试。
如果设备可以访问官方网站上的特征库服务专区,可以采用定期自动在线升级方式来对设备上的APR特征库进行升级。
该方式下,需要确保设备能通过静态或动态域名解析方式获得官方网站的IP地址,并与之路由可达,否则设备升级APR特征库会失败。有关域名解析功能的配置请参见“三层技术-IP业务配置指导”中的“域名解析”。
(1) 进入系统视图。
system-view
(2) 开启定期自动在线升级APR特征库功能,并进入自动在线升级配置视图。
apr signature auto-update
缺省情况下,定期自动在线升级APR特征库功能处于关闭状态。
(3) 配置定期自动在线升级APR特征库的时间。
update schedule { daily | weekly { fri | mon | sat | sun | thu | tue | wed } } start-time time tingle minutes
缺省情况下,设备在每天02:01:00至04:01:00之间自动升级APR特征库。
(4) (可选)配置定期自动在线升级APR特征库时覆盖当前的特征文件。
override-current
缺省情况下,定期自动在线升级APR特征库时不会覆盖当前的特征库文件,而是同时备份当前的特征库文件。
当管理员发现官方网站的特征库服务专区中的APR特征有更新时,可以选择立即自动在线升级方式来及时升级APR特征库版本。
该方式下,需要确保设备能通过静态或动态域名解析方式获得官方网站的IP地址,并与之路由可达,否则设备升级APR特征库会失败。有关域名解析功能的配置请参见“三层技术-IP业务配置指导”中的“域名解析”。
(1) 进入系统视图。
system-view
(2) 立即自动在线升级APR特征库。
apr signature auto-update-now
如果设备不能访问官方网站上的特征库服务专区,管理员可以采用如下几种方式手动离线升级APR特征库版本。
· 本地升级:使用本地保存的特征库文件升级系统上的APR特征库版本。
· FTP/TFTP升级:通过FTP或TFTP方式下载远程服务器上保存的特征库文件,并升级系统上的APR特征库版本。
使用本地升级方式离线升级APR特征库版本时,特征库文件只能存储在当前主控板上,否则设备升级特征库会失败。(独立运行模式)
使用本地升级方式离线升级APR特征库版本时,特征库文件只能存储在当前全局主用主控板上,否则设备升级特征库会失败。(IRF模式)
(1) 进入系统视图。
system-view
(2) 手动离线升级APR特征库。
apr signature update [ override-current ] file-path
APR特征库版本每次回滚前,设备都会备份当前版本。多次回滚上一版本的操作将会在当前版本和上一版本之间反复切换。例如当前APR特征库版本是V2,上一版本是V1,第一次执行回滚到上一版本的操作后,特征库替换成V1版本,再执行回滚上一版本的操作则特征库重新变为V2版本。
升级APR特征库时,如果没有备份当前特征库文件,则回滚APR特征库到上一版本会失败。
(1) 进入系统视图。
system-view
(2) 回滚APR特征库。
apr signature rollback { factory | last }
在完成上述配置后,在任意视图下执行display命令可以显示配置后APR的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除APR的统计信息。
表1-1 APR显示和维护
操作 |
命令 |
显示应用组信息 |
display app-group [ name group-name ] |
显示应用信息 |
display application [ name application-name | pre-defined | user-defined ] |
显示接口上的应用统计信息 |
(独立运行模式) display application statistics [ direction { inbound | outbound } | interface interface-type interface-number [ slot slot-number ] | name application-name ] * (IRF模式) display application statistics [ direction { inbound | outbound } | interface interface-type interface-number [ chassis chassis-number slot slot-number ] | name application-name ] * |
按指定类型的统计排名显示接口应用统计信息 |
(独立运行模式) display application statistics top number { bps | bytes | packets | pps } interface interface-type interface-number [ slot slot-number ] (IRF模式) display application statistics top number { bps | bytes | packets | pps } interface interface-type interface-number [ chassis chassis-number slot slot-number ] |
显示当前APR特征库的版本信息 |
display apr signature library |
显示预定义的端口映射信息 |
display port-mapping pre-defined |
显示自定义的端口映射信息 |
display port-mapping user-defined [ application application-name | port port-number ] |
清除指定接口或所有接口的应用统计信息 |
reset application statistics [ interface interface-type interface-number ] |
主机通过Router与外网相连,通过配置Router实现丢弃主机向外部网络发送的目的端口为8080的HTTP连接报文。
图1-1 PBAR基本组网配置组网图
# 创建应用组group1,并进入应用组视图。
<Router> system-view
[Router] app-group group1
# 添加HTTP应用。
[Router-app-group-group1] include application http
[Router-app-group-group1] quit
# 配置HTTP应用层协议与TCP协议、端口8080之间的映射。
[Router] port-mapping application http port 8080 protocol tcp
# 定义类classifier_1,匹配应用组group1。
[Router] traffic classifier classifier_1
[Router-classifier-classifier_1] if-match app-group group1
[Router-classifier-classifier_1] quit
# 定义流行为bdeny,动作为流量过滤(deny),对数据包进行丢弃。
[Router] traffic behavior bdeny
[Router-behavior-bdeny] filter deny
[Router-behavior-bdeny] quit
# 定义策略1,为类classifier_1指定流行为bdeny。
[Router] qos policy 1
[Router-qospolicy-1] classifier classifier_1 behavior bdeny
[Router-qospolicy-1] quit
# 在GigabitEthernet2/0/1入方向上应用QoS策略。
[Router] interface gigabitethernet 2/0/1
[Router-GigabitEthernet2/0/1] qos apply policy 1 inbound
[Router-GigabitEthernet2/0/1] quit
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!