通过SNMP进行配置文件管理举例

通过SNMP进行配置文件管理举例

关键词:SNMPNMSAgentFTPTFTP、当前配置、下次启动配置文件

  要:NET-SNMPSNMP协议的一套开源实现工具,可作为NMSAgent。本文主要介绍NET-SNMP作为NMS通过SNMP协议进行配置文件管理,即实现上传、下载、运行AgentH3C设备)上的配置文件等操作。

缩略语:SNMPNMSMIBFTPTFTP

缩略语

英文全名

中文解释

SNMP

Simple Network Management Protocol

简单网络管理协议

NMS

Network Management System

网络管理系统

MIB

Management Information Base

管理信息库

FTP

File Transfer Protocol

文件传输协议

TFTP

Trivial File Transfer Protocol

一般文件传输协议

 



简介

SNMP是网络中管理设备(NMS)和被管理设备(Agent)之间的通信规则,NMS通过GetSet等操作获取、设置Agent上变量的值,从而实现对Agent的远程管理、监控。

目前市场上有多种NMS产品,其中Net-SNMP作为一种开源实现的NMS在业界被广泛使用。它提供了一套完整的应用程序,实现了SNMPv1/v2c/v3功能。本文将描述如何使用Net-SNMP工具通过访问MIB对象来进行配置文件管理,具体包括:

l              running2Startup,将当前配置保存到下次启动配置文件

l              startup2Running,用下次启动配置文件更新系统当前配置

l              running2Net,将当前配置备份到FTP/TFTP服务器

l              net2Running,将FTP/TFTP服务器上的配置文件下载到本机并立即执行

l              net2Startup,将FTP/TFTP服务器上的配置文件下载到本机替代当前启动配置文件的内容

l              startup2Net,将下次启动配置文件上传到FTP/TFTP服务器进行配置备份

启动配置文件是用于设备启动的配置文件,是一系列命令的集合。将配置保存到下次启动配置文件后,如果设备重启,系统在启动过程中会自动读取、执行启动配置文件中的配置,从而使设备迅速恢复到指定的配置状态。

 

Net-SNMP使用简介

本文主要用到Net-SNMPsnmpset功能和snmpwalk功能。

l              snmpset功能:即执行一次SNMP Set操作,用来设置Agent上指定MIB对象的值。命令行格式为snmpset [OPTIONS] AGENT OID TYPE VALUE [OID TYPE VALUE]...

l              snmpwalk功能:即执行一次SNMP Walk操作,用来获取Agent上多个MIB对象的值。命令行格式为snmpwalk [OPTIONS] AGENT [OID]

以上两条命令行中,各参数的含义如下:

参数

说明

snmpset

命令关键字,表示执行Set操作

snmpwalk

命令关键字,表示执行Walk操作

OPTIONS

命令行选项(常用选项请参见1

AGENT

AgentIP地址

OID

AgentMIB对象的OID

TYPE

MIB对象的类型,取值为iutaosxdbn之一,本文中用到:

l      i表示整数(integer

l      a表示IP地址(IpAddress

l      s表示字符串(string

VALUE

将设置的MIB对象的值

[OID TYPE VALUE]...

表示一次可以设置多个变量的值,一组OID TYPE VALUE确定一个变量的值

 

表1 Net-SNMP命令行工具常用选项

选项

说明

举例

-h

显示命令帮助信息

-h

-v

设置使用的SNMP版本,取值为12c3

-v 1

-c

设置团体名

-c public

-a

设置认证协议类型,取值为MD5SHA

-a MD5

-A

设置认证密码

-A 12345678

-e

设置安全引擎ID

-e 800063A203000056000000

-u

设置用户名

-u v3user

-x

设置加密协议类型,取值为DES

-x DES

-X

设置加密密码

-X 12345678

-m

加载MIB列表,取值为MIB文件名(取值为ALL时表示加载所有文件)

-m ALL

-m d:/net-snmp/xxx.mib

-M

指定MIB文件所在目录列表

-M d:/nets-snmp

 

本文使用的Net-SNMP工具来自于http://www.net.snmp.org/,关于这个工具的详细介绍,请访问该网站。

 

相关MIB节点

本文通过访问H3C私有MIB来实现配置文件管理。如果想要通过对象的名称访问这些节点,在访问前需要先通过H3C网站将相关MIB文件下载到NMS上,并在NMS上编译这些文件。如果不编译相关MIB文件,则只能通过对象OID进行访问。

相关的MIB文件包括:rfc2578.sm2rfc2579.sm2rfc2580.sm2hh3c-oid.mibhuawei-3com-oid.mibhh3c-config-man.mibh3c-config-man.mib。其中,

l              rfc2578.sm2rfc2579.sm2rfc2580.sm2hh3c-oid.mib是为编译hh3c-config-man.mib服务的;

l              rfc2578.sm2rfc2579.sm2rfc2580.sm2huawei-3com-oid.mib是为编译h3c-config-man.mib服务的;

l              实际访问的是hh3c-config-man.mibh3c-config-man.mib中的对象。

hh3c-oid.mibhh3c-config-man.mibH3C new风格的MIB文件,huawei-3com-oid.mibh3c-config-man.mibH3C compatible风格的MIB文件。使用哪个MIB文件由设备当前的MIB风格决定。在Agent上使用display mib-snmp命令查看设备的MIB风格,如果“Current MIB style”显示为:

l              new,则表示设备当前使用H3C new风格的MIB文件。

l              compatible,则表示设备当前使用H3C compatible风格的MIB文件。

H3C new风格的MIB文件中的节点名称全部以hh3c开头,OID全部以1.3.6.1.4.1.25506开头;H3C compatible风格的MIB文件中的节点名称全部以h3c开头,OID全部以1.3.6.1.4.1.2011.10开头。比如hh3c-config-man.mib中的节点hh3cCfgOperateTypeOID1.3.6.1.4.1.25506.2.4.1.2.4.1.2),h3c-config-man.mib中的节点h3cCfgOperateTypeOID1.3.6.1.4.1.2011.10.2.4.1.2.4.1.2),它们指的都是设备上的同一个变量,只是MIB风格不同而已。

鉴于当前设备缺省情况下均采用H3C New风格的MIB文件,所以,下面将重点介绍与配置文件管理密切相关的hh3c-config-man.mib文件中MIB节点。

3.1  hh3cCfgOperateTable

该表主要实现通过SNMP进行NMS和设备之间的配置文件操作。

hh3cCfgOperateTable是一个操作表,表中定义了多个列对象。每个列对象下可以包含多个实体,实体的OID为“列对象OID.n”,n为实体编号,实体不同,n的取值不同。实体编号由用户指定,只要与当前编号不冲突即可。相同编号的实体属于同一行,行索引即为实体编号。通过定义行状态可以对该行的所有实体进行一次操作。

hh3cCfgOperateTable中定义了多个MIB对象,与配置文件管理相关的主要有如下几个:

3.1.1  hh3cCfgOperateType对象(1.3.6.1.4.1.25506.2.4.1.2.4.1.2

对象名称

hh3cCfgOperateType

对象OID

1.3.6.1.4.1.25506.2.4.1.2.4.1.2

对象描述

指定配置文件操作类型,比如running2Startupstartup2Running

备注

该对象取值的具体含义,请参见0

对象类型

列对象(该对象下生成的实体对象的类型为integer

 

表2 hh3cCfgOperateType取值描述表

取值

操作

描述

1

running2Startup

l      把当前运行的配置保存到下次启动配置文件中,相当于执行save命令。

l      如果下次启动配置文件不存在,则创建一个默认的配置文件并把当前配置保存到其中(不同型号的产品创建的文件的名称可能不同)

2

startup2Running

用下次启动配置文件更新系统当前配置,即执行该配置文件中的内容。如果当前启动的配置文件不存在,则操作失败并返回13opFileOpenError)错误码

3

running2Net

把当前系统运行的配置通过网络发送到远端服务器指定位置的文件中

4

net2Running

用从网络上通过某种文件传输协议获取的配置文件更新当前系统的配置,即在Agent上执行一次该配置文件

5

net2Startup

用从网络上通过某种文件传输协议获取的配置文件替代当前启动配置文件的内容,并将该文件设置为下次启动配置文件。如果当前启动的配置文件不存在,则创建一个默认的配置文件来保存传过来的文件内容(不同型号的产品创建的文件的名称可能不同)

6

startup2Net

把下次启动配置文件通过某种文件传输协议传送到网络上指定的位置。如果当前启动的配置文件不存在,则操作失败并返回13opFileOpenError)错误码

 

3.1.2  hh3cCfgOperateProtocol对象(1.3.6.1.4.1.25506.2.4.1.2.4.1.3

对象名称

hh3cCfgOperateProtocol

对象OID

1.3.6.1.4.1.25506.2.4.1.2.4.1.3

对象描述

指定文件传输协议,不指定该对象的值时使用FTP协议

备注

该对象取值可能为:

l      1:表示使用FTP协议

l      2:表示使用TFTP协议

对象类型

列对象(该对象下生成的实体对象的类型为integer

 

3.1.3  hh3cCfgOperateFileName对象(1.3.6.1.4.1.25506.2.4.1.2.4.1.4

对象名称

hh3cCfgOperateFileName

对象OID

1.3.6.1.4.1.25506.2.4.1.2.4.1.4

对象描述

指定配置文件名

备注

如果hh3cCfgOperateType对象值为34或者5,则必须指定文件名(可以包含文件的路径)。

l      如果hh3cCfgOperateType对象值为3,则hh3cCfgOperateFileName的值为目的文件名

l      如果hh3cCfgOperateType对象值为4或者5,则hh3cCfgOperateFileName的值为待传输源文件的文件名

其它情况无需指定文件名

对象类型

列对象(该对象下生成的实体对象的类型为string

 

3.1.4  hh3cCfgOperateServerAddress对象(1.3.6.1.4.1.25506.2.4.1.2.4.1.5

对象名称

hh3cCfgOperateServerAddress

对象OID

1.3.6.1.4.1.25506.2.4.1.2.4.1.5

对象描述

指定FTP/TFTP服务器的IP地址

备注

l      如果hh3cCfgOperateType对象值为345或者6,必须指定服务器IP地址,不能为全0和全F

l      其它情况下无需指定IP地址

对象类型

列对象(该对象下生成的实体对象的类型为IpAddress

 

3.1.5  hh3cCfgOperateUserName对象(1.3.6.1.4.1.25506.2.4.1.2.4.1.6

对象名称

hh3cCfgOperateUserName

对象OID

1.3.6.1.4.1.25506.2.4.1.2.4.1.6

对象描述

指定FTP用户名

备注

如果hh3cCfgOperateType对象值为345或者6,并且hh3cCfgOperateProtocol的值为1,需要使用该对象来指定登录的用户名

对象类型

列对象(该对象下生成的实体对象的类型为string

 

3.1.6  hh3cCfgOperateUserPassword对象(1.3.6.1.4.1.25506.2.4.1.2.4.1.7

对象名称

hh3cCfgOperateUserPassword

对象OID

1.3.6.1.4.1.25506.2.4.1.2.4.1.7

对象描述

指定hh3cCfgOperateUserName中用户对应的密码

备注

如果hh3cCfgOperateType对象值为345或者6,并且hh3cCfgOperateProtocol的值为1,需要使用该对象来指定登录的用户密码

对象类型

列对象(该对象下生成的实体对象的类型为string

 

3.1.7  hh3cCfgOperateRowStatus对象(1.3.6.1.4.1.25506.2.4.1.2.4.1.9

对象名称

hh3cCfgOperateRowStatus

对象OID

1.3.6.1.4.1.25506.2.4.1.2.4.1.9

对象描述

配置hh3cCfgOperateTable表中每一行的状态

备注

取值可能为:

l      1active,表示Agent可以使用该行

l      2notInService,表示Agent可以使用该行,与行一致性等因素无关

l      3notReady,表示行已经创建,但因为缺乏重要信息而不可用

l      4creatAndGo,表示创建一行,并立即执行

l      5creatAndWait,表示创建一行,但不立即执行。可以将行状态手工设置为active,来触发执行

l      6destroy,表示删除一行

对象类型

列对象(该对象下生成的实体对象的类型为integer

 

3.2  hh3cCfgOperateResultTable

该表用来记录hh3cCfgOperateTable中定义的操作的执行结果。通过hh3cCfgOperateTable执行一个操作后,hh3cCfgOperateResultTable中就会创建一行。该行对应的各列中分别记录hh3cCfgOperateTable操作的实体编号(即hh3cCfgOperateTable中的行索引)、操作类型、操作结果等。hh3cCfgOperateResultTable中每行的编号由系统自动生成,从1开始递增。

hh3cCfgOperateResultTable中定义了多个MIB对象,与配置文件管理相关的主要有如下几个:

3.2.1  hh3cCfgOperateResultOptIndex对象(1.3.6.1.4.1.25506.2.4.1.2.5.1.2

对象名称

hh3cCfgOperateResultOptIndex

对象OID

1.3.6.1.4.1.25506.2.4.1.2.5.1.2

对象描述

表示该行对应的hh3cCfgOperateTable中的行索引

备注

对象类型

列对象(该对象下生成的实体对象的类型为integer

 

3.2.2  hh3cCfgOperateResultOpType对象(1.3.6.1.4.1.25506.2.4.1.2.5.1.3

对象名称

hh3cCfgOperateResultOpType

对象OID

1.3.6.1.4.1.25506.2.4.1.2.5.1.3

对象描述

记录对应hh3cCfgOperateTable中的操作类型

备注

对象类型

列对象(该对象下生成的实体对象的类型为integer

 

3.2.3  hh3cCfgOperateState对象(1.3.6.1.4.1.25506.2.4.1.2.5.1.4

对象名称

hh3cCfgOperateState

对象OID

1.3.6.1.4.1.25506.2.4.1.2.5.1.4

对象描述

记录对应操作的结果

备注

该对象取值可能为:

l      1opInProgress,表示当前操作正在进行。如果涉及读写设备Flash等需要较长时间的操作,会返回该状态;

l       2opSuccess,表示操作成功完成;

l      其它值表示操作失败

对象类型

列对象(该对象下生成的实体对象的类型为integer

 

使用SNMP v1v2c进行配置文件管理举例

使用SNMP v1或者v2c版本配置基本相同,本文以SNMP v1为例。如果网络上运行的SNMPv2c版本的,则只需将本举例中-v参数的值改为2c即可。

 

4.1  组网需求

l              网管工作站(NMS)与设备(Agent)通过以太网相连。

l              FTP/TFTP服务器,提供文件上传和下载服务。

l              NMS上运行Net-SNMP软件,要求在NMS上通过SNMP v1、团体名privateAgent进行配置文件管理。

图1 通过SNMP进行配置文件管理组网图

 

4.2  配置思路

l              Agent上配置接口参数:指定接口的IP地址,保证AgentNMS路由的可达。

l              Agent上需要完成SNMP功能基本配置(包括SNMP的版本、SNMP团体名),使得NMSAgent之间可以互访。

l              查看Agent支持的MIB风格,确定需要使用的MIB对象。

l              Net-SNMP软件中的snmpset.exesnmpwalk.exe文件放到NMSC:\usr\bin路径下,通过MIB对象进行配置文件管理。

l              如果使用FTP协议传输文件,需要在FTP server上运行FTP服务器软件,配置用户名和密码;如果使用TFTP协议传输文件,需要在TFTP server上运行TFTP服务器软件。(使用FTP协议时需要将1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4值设为1,还需要设置用户名和密码;使用TFTP协议时只需要将1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4值设为2,不需要设置用户名和密码。本举例使用FTP传输协议)

4.3  配置步骤

4.3.1  配置FTP server

# 本举例采用H3C设备作为FTP server,需要在FTP server上使能FTP server功能,配置FTP用户(假设为ftp),密码(假设为123123123123)等参数。

<System> system-view

[System] local-user ftp

[System-luser-ftp] password simple 123123123123

[System-luser-ftp] authorization-attribute level 3

[System-luser-ftp] service-type ftp

4.3.2  配置Agent

# 配置AgentIP地址为192.168.1.40/24,并确保AgentNMS之间路由可达。

l              如果Ethernet1/1是三层接口,请进行以下配置:

<Sysname> system-view

[Sysname] interface ethernet 1/1

[Sysname-Ethernet1/1] ip address 192.168.1.40 24

[Sysname-Ethernet1/1] quit

l              如果Ethernet1/1是二层接口,请进行以下配置:

<Sysname> system-view

[Sysname] vlan 2

[Sysname-vlan2] port Ethernet 1/1

[Sysname-vlan2] quit

[Sysname] interface vlan-interface 2

[Sysname-Vlan-interface2] ip address 192.168.1.40 24

[Sysname-Vlan-interface2] quit

# 配置SNMP版本。为了防止AgentNMS因为版本问题导致不能建立SNMP连接,建议将版本参数配置为all,表示支持v1v2cv3三个版本。

<Sysname> system-view

[Sysname]snmp-agent sys-info version all

# 配置可读属性团体名均为public,配置可写属性团体名均为private

[Sysname] snmp-agent community read public

[Sysname] snmp-agent community write private

# 查看设备当前支持的MIB文件风格,以便决定使用哪些MIB对象。

[Sysname] display mib-style

 Current MIB style: new

 Next reboot MIB style: new

以上显示信息表明,设备当前支持的MIB文件风格为new,所以使用根节点为1.3.6.1.4.1.25506MIB对象。(如果Current MIB style显示为compatible,则下面的配置步骤中需要将1.3.6.1.4.1.25506替换为1.3.6.1.4.1.2011.10即可)

4.3.3  配置NMS

(1)        将当前运行的配置信息保存到下次启动配置文件running2Startup

C:\usr\bin> snmpset -v 1 -c private 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.1 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.1 i 4

将返回下面的响应信息:

iso.3.6.1.4.1.25506.2.4.1.2.4.1.2.1 = INTEGER: 1

iso.3.6.1.4.1.25506.2.4.1.2.4.1.9.1 = INTEGER: 4

# 通过snmpwalk命令查看保存操作的执行情况。

C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.5.1

将返回下面的响应信息:

iso.3.6.1.4.1.25506.2.4.1.2.5.1.2.1 = INTEGER: 1

iso.3.6.1.4.1.25506.2.4.1.2.5.1.3.1 = INTEGER: 1

iso.3.6.1.4.1.25506.2.4.1.2.5.1.4.1 = INTEGER: 2

iso.3.6.1.4.1.25506.2.4.1.2.5.1.5.1 = Timeticks: (245) 0:00:02.45

iso.3.6.1.4.1.25506.2.4.1.2.5.1.6.1 = Timeticks: (214998) 0:35:49.98

以上显示信息表明此次running2Startup操作成功。

(2)        将当前运行的配置信息备份到FTP服务器(running2Net

# 使用FTP协议将Agent上的当前配置备份到FTP server192.168.1.46),用户名为ftp,密码为123,文件名为aa.cfg

C:\usr\bin> snmpset -v 1 -c private 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.2 i 3 1.3.6.1.4.1.25506.2.4.1.2.4.1.3.2 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.4.2 s aa.cfg 1.3.6.1.4.1.25506.2.4.1.2.4.1.5.2 a 192.168.1.46 1.3.6.1.4.1.25506.2.4.1.2.4.1.6.2 s ftp 1.3.6.1.4.1.25506.2.4.1.2.4.1.7.2 s 123123123123 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.2 i 4

将返回下面的响应信息:

iso.3.6.1.4.1.25506.2.4.1.2.4.1.2.2 = INTEGER: 3

iso.3.6.1.4.1.25506.2.4.1.2.4.1.3.2 = INTEGER: 1

iso.3.6.1.4.1.25506.2.4.1.2.4.1.4.2 = STRING: "aa.cfg"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.5.2 = IpAddress: 192.168.1.46

iso.3.6.1.4.1.25506.2.4.1.2.4.1.6.2 = STRING: "ftp"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.7.2 = STRING: "123123123123"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.9.2 = INTEGER: 4

# 可以通过snmpwalk命令查看上述配置操作的执行情况:

C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.5.1

将返回下面的响应信息:

iso.3.6.1.4.1.25506.2.4.1.2.5.1.2.1 = INTEGER: 2

iso.3.6.1.4.1.25506.2.4.1.2.5.1.3.1 = INTEGER: 3

iso.3.6.1.4.1.25506.2.4.1.2.5.1.4.1 = INTEGER: 2

iso.3.6.1.4.1.25506.2.4.1.2.5.1.5.1 = Timeticks: (243) 0:00:02.43

iso.3.6.1.4.1.25506.2.4.1.2.5.1.6.1 = Timeticks: (181608) 0:30:16.08

以上显示信息表明此次running2Net操作成功。

也可以在FTP server192.168.1.46上使用dir命令查看是否有文件aa.cfg再使用more aa.cfg命令查看文件的内容是否正确来验证操作是否成功。

(3)        FTP服务器上的配置文件恢复到设备中并执行该配置文件net2Running

C:\usr\bin> snmpset -v 1 -c private 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.3 i 4 1.3.6.1.4.1.25506.2.4.1.2.4.1.3.3 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.4.3 s test.cfg 1.3.6.1.4.1.25506.2.4.1.2.4.1.5.3 a 192.168.1.46 1.3.6.1.4.1.25506.2.4.1.2.4.1.6.3 s ftp 1.3.6.1.4.1.25506.2.4.1.2.4.1.7.3 s 123123123123 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.3 i 4

将返回下面的响应信息:

iso.3.6.1.4.1.25506.2.4.1.2.4.1.2.3 = INTEGER: 4

iso.3.6.1.4.1.25506.2.4.1.2.4.1.3.3 = INTEGER: 1

iso.3.6.1.4.1.25506.2.4.1.2.4.1.4.3 = STRING: "test.cfg"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.5.3 = IpAddress: 192.168.1.46

iso.3.6.1.4.1.25506.2.4.1.2.4.1.6.3 = STRING: "ftp"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.7.3 = STRING: "123123123123"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.9.3 = INTEGER: 4

# 可以通过snmpwalk命令查看上述配置操作的执行情况:

C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.5.1

将返回下面的响应信息:

iso.3.6.1.4.1.25506.2.4.1.2.5.1.2.1 = INTEGER: 3

iso.3.6.1.4.1.25506.2.4.1.2.5.1.3.1 = INTEGER: 4

iso.3.6.1.4.1.25506.2.4.1.2.5.1.4.1 = INTEGER: 2

iso.3.6.1.4.1.25506.2.4.1.2.5.1.5.1 = Timeticks: (1083) 0:00:10.83

iso.3.6.1.4.1.25506.2.4.1.2.5.1.6.1 = Timeticks: (470443) 1:18:24.43

以上显示信息表明表示此次net2Running操作成功。

Agent192.168.1.40上使用display current-configuration命令可以看到Agent当前运行的配置不但包括Agent当前启动配置文件中的配置还包括test.cfg文件中的配置。

(4)        FTP服务器上的配置文件test.cfg恢复到设备的Flashnet2Startup

# Agent上当前配置文件的内容替换为test.cfg文件的内容,并将当前配置文件指定为下次启动配置文件。

C:\usr\bin> snmpset -v 1 -c private 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.4 i 5 1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.4.4 s test.cfg 1.3.6.1.4.1.25506.2.4.1.2.4.1.5.4 a 192.168.1.46 1.3.6.1.4.1.25506.2.4.1.2.4.1.6.4 s ftp 1.3.6.1.4.1.25506.2.4.1.2.4.1.7.4 s 123123123123 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.4 i 4

将返回下面的响应信息:

iso.3.6.1.4.1.25506.2.4.1.2.4.1.2.4 = INTEGER: 5

iso.3.6.1.4.1.25506.2.4.1.2.4.1.3.4 = INTEGER: 1

iso.3.6.1.4.1.25506.2.4.1.2.4.1.4.4 = STRING: "test.cfg"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.5.4 = IpAddress: 192.168.1.46

iso.3.6.1.4.1.25506.2.4.1.2.4.1.6.4 = STRING: "ftp"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.7.4 = STRING: "123123123123"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.9.4 = INTEGER: 4

# 可以通过snmpwalk命令查看上述配置操作的执行情况:

C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.5.1

将返回下面的响应信息:

iso.3.6.1.4.1.25506.2.4.1.2.5.1.2.1 = INTEGER: 4

iso.3.6.1.4.1.25506.2.4.1.2.5.1.3.1 = INTEGER: 5

iso.3.6.1.4.1.25506.2.4.1.2.5.1.4.1 = INTEGER: 2

iso.3.6.1.4.1.25506.2.4.1.2.5.1.5.1 = Timeticks: (264) 0:00:02.64

iso.3.6.1.4.1.25506.2.4.1.2.5.1.6.1 = Timeticks: (418007) 1:09:40.07

以上显示信息表明此次net2Startup操作成功。

Agent192.168.1.40上使用more命令可以看到当前配置文件的内容与test.cfg的内容一致使用display startup命令可以看到下次启动配置文件与当前配置文件一致。

(5)        将设备Flash中的启动配置文件备份到FTP服务器startup2Net

C:\usr\bin> snmpset -v 1 -c private 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.5 i 6 1.3.6.1.4.1.25506.2.4.1.2.4.1.3.5 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.4.5 s bb.cfg 1.3.6.1.4.1.25506.2.4.1.2.4.1.5.5 a 192.168.1.46 1.3.6.1.4.1.25506.2.4.1.2.4.1.6.5 s ftp 1.3.6.1.4.1.25506.2.4.1.2.4.1.7.5 s 123123123123 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.5 i 4

将返回下面的响应信息:

iso.3.6.1.4.1.25506.2.4.1.2.4.1.2.5 = INTEGER: 6

iso.3.6.1.4.1.25506.2.4.1.2.4.1.3.5 = INTEGER: 1

iso.3.6.1.4.1.25506.2.4.1.2.4.1.4.5 = STRING: "bb.cfg"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.5.5 = IpAddress: 192.168.1.46

iso.3.6.1.4.1.25506.2.4.1.2.4.1.6.5 = STRING: "ftp"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.7.5 = STRING: "123123123123"

iso.3.6.1.4.1.25506.2.4.1.2.4.1.9.5 = INTEGER: 4

# 可以通过snmpwalk命令查看上述配置操作的执行情况:

C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.5.1

将返回下面的响应信息:

iso.3.6.1.4.1.25506.2.4.1.2.5.1.2.1 = INTEGER: 5

iso.3.6.1.4.1.25506.2.4.1.2.5.1.3.1 = INTEGER: 6

iso.3.6.1.4.1.25506.2.4.1.2.5.1.4.1 = INTEGER: 2

iso.3.6.1.4.1.25506.2.4.1.2.5.1.5.1 = Timeticks: (11) 0:00:00.11

iso.3.6.1.4.1.25506.2.4.1.2.5.1.6.1 = Timeticks: (356309) 0:59:23.09

以上显示信息表明此次startup2Net操作成功。

也可以在FTP server192.168.1.46上使用dir命令查看是否有文件bb.cfg再使用more bb.cfg命令查看文件的内容是否正确来验证操作是否成功。

使用SNMP v3进行配置文件管理举例

5.1  组网需求

l              网管工作站(NMS)与设备(Agent)通过以太网相连。

l              FTP/TFTP服务器,提供文件上传和下载服务。

l              NMS上运行Net-SNMP软件,要求在NMS上通过SNMP v3、用户名v3user(认证方式为MD5,认证密码为aaaaaaaaaa,加密算法为DES56,加密密码是bbbbbbbbbb)对Agent进行配置文件管理。

图2 通过SNMP进行配置文件管理组网图

 

5.2  配置思路

l              Agent上配置接口参数:指定接口的IP地址,保证AgentNMS路由的可达。

l              Agent上需要完成SNMP功能基本配置(包括SNMP的版本、组、用户、认证和加密参数),使得NMSAgent之间可以互访。

l              查看Agent支持的MIB风格,确定需要使用的MIB对象。

l              Net-SNMP软件中的snmpset.exesnmpwalk.exe文件放到NMSC:\usr\bin路径下,通过MIB对象进行配置文件管理。

l              如果使用FTP协议传输文件,需要在FTP server上运行FTP服务器软件,配置用户名和密码;如果使用TFTP协议传输文件,需要在TFTP server上运行TFTP服务器软件。(使用FTP协议时需要将1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4值设为1,还需要设置用户名和密码;使用TFTP协议时只需要将1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4值设为2,不需要设置用户名和密码。本举例使用FTP传输协议)

5.3  配置步骤

5.3.1  配置FTP server

# 本举例采用H3C设备作为FTP server,需要在FTP server上使能FTP server功能,配置FTP用户(假设为ftp),密码(假设为123123123123)等参数。

<System> system-view

[System] local-user ftp

[System-luser-ftp] password simple 123123123123

[System-luser-ftp] authorization-attribute level 3

[System-luser-ftp] service-type ftp

5.3.2  配置Agent

# 配置AgentIP地址为192.168.1.40/24,并确保AgentNMS之间路由可达。

l              如果Ethernet1/1是三层接口,请进行以下配置:

<Sysname> system-view

[Sysname] interface ethernet 1/1

[Sysname-Ethernet1/1] ip address 192.168.1.40 24

[Sysname-Ethernet1/1] quit

l              如果Ethernet1/1是二层接口,请进行以下配置:

<Sysname> system-view

[Sysname] vlan 2

[Sysname-vlan2] port Ethernet 1/1

[Sysname-vlan2] quit

[Sysname] interface vlan-interface 2

[Sysname-Vlan-interface2] ip address 192.168.1.40 24

[Sysname-Vlan-interface2] quit

# 配置SNMP版本。为了防止AgentNMS因为版本问题导致不能建立SNMP连接,建议将版本参数配置为all,表示支持v1v2cv3三个版本。

<Sysname> system-view

[Sysname]snmp-agent sys-info version all

# 设置SNMP参数:使用的用户名为v3user,认证方式为MD5,认证密码为aaaaaaaaaa,加密算法为DES56,加密密码是bbbbbbbbbb

l              根据实际需要,用户可以自行选择是否对交互的SNMP报文进行认证,是否对交互的SNMP报文进行加密,本举例采用的是既认证又加密;

l              为了让设置的认证、加密密码在设备重启后能够继续生效,这里先将明文密码加密,然后在创建用户时直接使用加密后的密码进行配置。

[Sysname] snmp-agent calculate-password aaaaaaaaaa mode md5 local-engineid

 The secret key is: 17CED5A1298DF35A643D81EC14E0E816

[Sysname] snmp-agent calculate-password bbbbbbbbbb mode md5 local-engineid

 The secret key is: 5D3250992503990147EEB03B04CF2190

[Sysname] snmp-agent group v3 test

[Sysname] snmp-agent usm-user v3 v3user test cipher authentication-mode md5 17CED5A1298DF35A643D81EC14E0E816 privacy-mode des56 5D3250992503990147EEB03B04CF2190

5.3.3  配置NMS

请参见4.3.3  配置NMS。只需要将配置步骤中的“snmpset -v 1 -c private”替换为“snmpset -v 3 -a MD5 -A aaaaaaaaaa -u v3user -x DES -X bbbbbbbbbb”、“snmpwalk -v 1 -c private”替换为“snmpwalk -v 3 -a MD5 -A aaaaaaaaaa -u v3user -x DES -X bbbbbbbbbb”即可。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2009 杭州华三通信技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

本文档中的信息可能变动,恕不另行通知。

联系我们