《网络运维管理》/实验12:通过SMP获取网络设备信息 实验十二:通过SNMP获取网络设备信息 实验简介 基于 VirtualBox虚拟机,搭建SNMP监控环境,实现对 Centos系统的主机(虚拟机)和 Window 系统的主机(虚拟机)有关信息的监控。 、实验目的 1、掌握SNMP的工作原理; 2、掌握SNMP监控的搭建配置; 实验类型 验证性 四、实验理论 l、SNMP的基本概念 SNMP( Simple Network Management Protocol)为简单网络管理协议。 从狭义上讲,是一种专门用于网络管理软件和网络设备之间通信的协议;从广义上讲,是 组为实现网络的自动化管理任务而制定的一系列通用标准,包括管理信息的表示与命名、通信协 议等内容。 种应用层协议,使用TCP/P协议族对互联网上的设备进行管理的框架,它提供一组基本的 操作,用来监控和管理网络。 关于网络管理有一个基本原理,就是若要管理某个对象,就必然会给该对象添加一些软件或 硬件,但这种“添加”必须对原有对象影响尽量小些。SNMP正是按照这样的基本原理来设计的。 被管设备 被管设备 因特网 被管设备 被管设备 A 被管设备 网管协议 --“管理站 网络 管理员 M—管理程序(运行SNMP客户程序) 代理程序(运行SNMP服务程序 2、SNMP工作的基本方式 SNMP中的管理程序和代理程序按照C/S方式工作
《网络运维管理》/实验 12:通过 SNMP 获取网络设备信息 1 实验十二:通过 SNMP 获取网络设备信息 一、实验简介 基于 VirtualBox 虚拟机,搭建 SNMP 监控环境,实现对 Centos 系统的主机(虚拟机)和 Windows 系统的主机(虚拟机)有关信息的监控。 二、实验目的 1、掌握 SNMP 的工作原理; 2、掌握 SNMP 监控的搭建配置; 三、实验类型 验证性 四、实验理论 1、SNMP 的基本概念 SNMP(Simple Network Management Protocol)为简单网络管理协议。 从狭义上讲,是一种专门用于网络管理软件和网络设备之间通信的协议;从广义上讲,是一 组为实现网络的自动化管理任务而制定的一系列通用标准,包括管理信息的表示与命名、通信协 议等内容。 一种应用层协议,使用 TCP/IP 协议族对互联网上的设备进行管理的框架,它提供一组基本的 操作,用来监控和管理网络。 关于网络管理有一个基本原理,就是若要管理某个对象,就必然会给该对象添加一些软件或 硬件,但这种“添加”必须对原有对象影响尽量小些。SNMP 正是按照这样的基本原理来设计的。 2、SNMP 工作的基本方式 SNMP 中的管理程序和代理程序按照 C/S 方式工作
《网络运维管理》/实验12:通过SNP获取网络设备信息2 管理程序运行SNMP客户程序,而代理程序运行SNMP服务器程序 在被管对象上运行的SNMP服务器程序不停地监听来自管理站的SNMP客户程序的请求 旦发现,就立即返回管理站所需的信息,或执行某个动作(例如,把某个参数的设置进行更新) 在网管系统中往往是一个(或少数几个)客户程序与很多的服务器程序进行交互。 3、SNMP的网络管理由三个部分组成 管理信息结构SMI( Structure of management Information):定义对象命名和定义对象类型的通 用规则,以及把对象和对象的值进行编码的规则。 管理信息库MIB( Management Information Base):在被管理的实体中创建命名对象,并按照 SM的规则规定了其类型 SNMP本身:实现对被管对象信息(变量名及其值)的操作,即负责读取和改变这些数值。 4、管理信息结构SMI SMI的功能包括:被管对象应该怎样命名(不是命名结果,而是指命名规则);用来存储被管 对象的数据类型有哪些种;在网络上传送的管理数据应如何编码 SMI规定,所有的被管对象都必须处在对象命名树上 变量使用的名字取自ISO和∏TU管理的对象标识符( object identifier,,简称OID)名字空间。 它是一种分级树的结构。第一级有三个节点:iu、iso、iso/itu。低级的对象I分别由相关组织分 配 个特定对象的标识符可通过由根到该对象的路径获得。一般网络设备取iso节点下的对象内 容。如名字空间p结点下一个名字为 ipInReceives的MB变量被指派数字值3,因而该变量的名 字为: iso.org.dod internet. mgmt. mib. ip. ipInReceives。相应的数字表示(对象标识符OD,唯一标识 个MIB对象)为:1.36.12.143 管理信息库MIB 任何一个被管理的资源都表示成一个对象,称为被管理的对象。MB是被管理对象的集合。 它定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。 这种定义是依据SM制定的规则。 MIB中所有的被管理对象按照所表示的管理信息的不同,被分为不同组。例如,MIB-中所 有和系统有关对象分在 system组中;所有和P有关对象分在ip组中,每个对象组分配一个OD 节点,这个节点属于辅助节点。 定义在组中的每个对象,其对象标识符均以组节点的对象标识符作为前缀 6、SNMP中规定的操作: SNMP是管理工作站与代理之间进行数据交互的通信协议 通信协议为完成不同的功能操作,通常是由不同的PDU(协议数据单元)来实现 SNMPvI仅规定了5种操作,分别是get、 get-next、set、 response和tap,在SNMP2中,增 加了 get-bulk以及 inform两种操作。 (1)get请求报文 get请求的命令有两个 c共同体名IP地址OID号 snmpwalk c共同体名P地址OID号
《网络运维管理》/实验 12:通过 SNMP 获取网络设备信息 2 管理程序运行 SNMP 客户程序,而代理程序运行 SNMP 服务器程序。 在被管对象上运行的 SNMP 服务器程序不停地监听来自管理站的 SNMP 客户程序的请求,一 旦发现,就立即返回管理站所需的信息,或执行某个动作(例如,把某个参数的设置进行更新)。 在网管系统中往往是一个(或少数几个)客户程序与很多的服务器程序进行交互。 3、SNMP 的网络管理由三个部分组成 管理信息结构 SMI(Structure of Management Information):定义对象命名和定义对象类型的通 用规则,以及把对象和对象的值进行编码的规则。 管理信息库 MIB(Management Information Base):在被管理的实体中创建命名对象,并按照 SMI 的规则规定了其类型。 SNMP 本身:实现对被管对象信息(变量名及其值)的操作,即负责读取和改变这些数值。 4、管理信息结构 SMI SMI 的功能包括:被管对象应该怎样命名(不是命名结果,而是指命名规则);用来存储被管 对象的数据类型有哪些种;在网络上传送的管理数据应如何编码。 SMI 规定,所有的被管对象都必须处在对象命名树上。 变量使用的名字取自 ISO 和 ITU 管理的对象标识符(object identifier,简称 OID)名字空间。 它是一种分级树的结构。第一级有三个节点:itu、iso、iso/itu。低级的对象 ID 分别由相关组织分 配。 一个特定对象的标识符可通过由根到该对象的路径获得。一般网络设备取 iso 节点下的对象内 容。如名字空间 ip 结点下一个名字为 ipInReceives 的 MIB 变量被指派数字值 3,因而该变量的名 字为:iso.org.dod.internet.mgmt.mib.ip.ipInReceives。相应的数字表示(对象标识符 OID,唯一标识 一个 MIB 对象)为:1.3.6.1.2.1.4.3 5、管理信息库 MIB 任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB 是被管理对象的集合。 它定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。 这种定义是依据 SMI 制定的规则。 MIB 中所有的被管理对象按照所表示的管理信息的不同,被分为不同组。例如,MIB-Ⅱ中所 有和系统有关对象分在 system 组中;所有和 IP 有关对象分在 ip 组中,每个对象组分配一个 OID 节点,这个节点属于辅助节点。 定义在组中的每个对象,其对象标识符均以组节点的对象标识符作为前缀。 6、SNMP 中规定的操作: SNMP 是管理工作站与代理之间进行数据交互的通信协议。 通信协议为完成不同的功能操作,通常是由不同的 PDU(协议数据单元)来实现。 SNMPv1 仅规定了 5 种操作,分别是 get、get-next、set、response 和 trap,在 SNMPv2 中,增 加了 get-bulk 以及 inform 两种操作。 (1)get 请求报文: get 请求的命令有两个 snmpget –v2c –c 共同体名 IP 地址 OID 号 snmpwalk –v2c –c 共同体名 IP 地址 OID 号
《网络运维管理》/实验12:通过SMP获取网络设备信息 snmpget和 snmpwalk两者主要的区别 snmpwalk是对OID值的遍历,比如某个OD值下面有N个子节点,则依次遍历出这N个子 节点的值 snmpget是取具体的OD的值,适用于OID值是一个叶子节点的情况 (2) get-next请求 get-next请求命令 snmpgetnext-v2c-c共同体名P地址OID号 get-next请求主要是为了得到“命令中OID对象”的下一个对象的值,而“下一个对象”是按 照MB库中的对象实例的顺序来返回对象的值。 如使用 get-next请求采集OD为“1.3.6.12.1..30”的值,而应答报文中返回是OID为 1.36.1.2.1.140”对象实例的值 (3)set请求 set请求命令 samoset-v2e-c共同体名P地址OID号命令类型命令设置的值 set请求是为了修改MIB库中某个OID对应的值,但不同的OID采集的值是不同类型的,因 此在set请求时,应该设置相应值的类型。 如使用使用该命令修改被采集设备的系统名称,而系统名为字符串型,所以将系统名改为 “ linux”的具体命令为: upset-v2c-c共同体名P地址1.3.621.1.5.0 s linux (4) SNMPV2协议中trap操作 tap命令: snmptrap-v2c-c共同体名管理主机 uptime OID号 Tap命令是代理主动采集设备中的相关信息,然后向管理站发送这些信息,上述的命令是在 ux系统下完成代理,并向 Windows系统下的主机发送。 多,消息的条件为:代理主机安装并开启了SNMP服务,并且确认能够使用SNMP的tap服 务,并且在防火墙上开启相关端口允许SNMP发送消息。 7、设置团体名的意义 SNMP的团体是一种安全机制,是代理和管理站之间的认证。 SNMPv1的安全机制很简单 只是验证团体名( community)。属于同一团体的管理站和被管理站才能相互作用,发送给不同团体 的报文被忽略 允许访问的团体名是在被管理系统一侧定义的。每一个团体被赋予一个惟一的名字。管理站 只能以代理认可的团体名行使其访问权 另一方面,由于团体名的有效范围局限于定义它的代理系统中,所以一个管理站可能以不同 的名字出现在不同的代理中,即管理站实体可以用不同的名字对不同的代理实施不同的访问权限。 反之,如果两个代理定义了同一团体名,这种名字的相似性也不意味着它们属于同一团体 五、实验规划 本实验是在一台实体计算机上,通过 Virtual Box软件完成 实体计算机的操作系统为 Windows7/10
《网络运维管理》/实验 12:通过 SNMP 获取网络设备信息 3 snmpget 和 snmpwalk 两者主要的区别 snmpwalk 是对 OID 值的遍历,比如某个 OID 值下面有 N 个子节点,则依次遍历出这 N 个子 节点的值; snmpget 是取具体的 OID 的值,适用于 OID 值是一个叶子节点的情况 (2)get-next 请求: get-next 请求命令: snmpgetnext –v2c –c 共同体名 IP 地址 OID 号 get-next 请求主要是为了得到“命令中 OID 对象”的下一个对象的值,而“下一个对象”是按 照 MIB 库中的对象实例的顺序来返回对象的值。 如使用 get-next 请求采集 OID 为“1.3.6.1.2.1.1.3.0”的值,而应答报文中返回是 OID 为 “1.3.6.1.2.1.1.4.0”对象实例的值。 (3)set 请求: set 请求命令 snmpset–v2c –c 共同体名 IP 地址 OID 号 命令类型 命令设置的值 set 请求是为了修改 MIB 库中某个 OID 对应的值,但不同的 OID 采集的值是不同类型的,因 此在 set 请求时,应该设置相应值的类型。 如使用使用该命令修改被采集设备的系统名称,而系统名为字符串型,所以将系统名改为 “linux”的具体命令为: snmpset–v2c–c 共同体名 IP 地址 .1.3.6.2.1.1.5.0 s linux (4)SNMPv2 协议中 trap 操作: trap 命令: snmptrap –v2c –c 共同体名 管理主机 uptime OID 号 Trap 命令是代理主动采集设备中的相关信息,然后向管理站发送这些信息,上述的命令是在 Linux 系统下完成代理,并向 Windows 系统下的主机发送。 trap 消息的条件为:代理主机安装并开启了 SNMP 服务,并且确认能够使用 SNMP 的 trap 服 务,并且在防火墙上开启相关端口允许 SNMP 发送消息。 7、设置团体名的意义 SNMP 的团体是一种安全机制,是代理和管理站之间的认证。SNMPv1 的安全机制很简单, 只是验证团体名(community)。属于同一团体的管理站和被管理站才能相互作用,发送给不同团体 的报文被忽略 允许访问的团体名是在被管理系统一侧定义的。每一个团体被赋予一个惟一的名字。管理站 只能以代理认可的团体名行使其访问权。 另一方面,由于团体名的有效范围局限于定义它的代理系统中,所以一个管理站可能以不同 的名字出现在不同的代理中,即管理站实体可以用不同的名字对不同的代理实施不同的访问权限。 反之,如果两个代理定义了同一团体名,这种名字的相似性也不意味着它们属于同一团体。 五、实验规划 本实验是在一台实体计算机上,通过 VirtualBox 软件完成; 实体计算机的操作系统为 Windows7/10;
《网络运维管理》/实验12:通过SNP获取网络设备信息4 1、网络拓扑规划 为简化内容、突出重点,本实验的基本任务(含任务1、任务2、任务3)不在eNSP中 构建虚拟网络环境,而直接在 VirtualBox中创建虚拟机,并通过“桥接网卡”方式,利用实 体机所在的网络实现虚拟机之间的互访以及虚拟机访问互联网。具体设计如下 (1)实体机可以访问互联网。 注意:此处要求实体机可以访问互联网,是为了实验过程中, Linux系统安装SMP服务组 件时,虚拟机能够在线安装一些软件包。 (2)在 VirtualBox中创建2台虚拟机, Computer_1虚拟机安装 CentOS7操作系统,用 来作为被监控计算机l; Computer_2虚拟机安装 Windows Server2012操作系统,用来作为被 监控计算机2。 (3)在 VirtualBox中,将所有虚拟机网卡的连接方式设置成“桥接网卡”,使各台虚拟 机接入实体机所在的网络,既可实现虚拟机之间的访问,也可以通过实体机访问互联网 (4)实体主机作为“管理机”,用来监控采集被管理计算机的信息 (5)本实验的基本任务的拓扑结构如图120-1所示。 192.168.3151 rtualBox Windows7(实体机) 图12-0-1实验拓扑图 2、规划网络地址方案 根据对网络环境的设计,实验中所用到的网络为实体机所在网络。其网络参数(例如IP 地址范围、默认网关等)可以从网络管理员处获得(可能是动态获得,也可能是静态设置), 具体情况要根据实验环境的实际情况而定。此处各台虚拟机的网络参数设置见表12-0-1 表12-0-1IP地址规划表 序号主机名称 IP地址 网关 实体机 192.168.31.100/24 192.168.31.1 Computer I 192.168.31.50/24 192.168.31.1 Computer 2 192.168.31.51/24 192.168.31.1
《网络运维管理》/实验 12:通过 SNMP 获取网络设备信息 4 1、网络拓扑规划 为简化内容、突出重点,本实验的基本任务(含任务 1、任务 2、任务 3)不在 eNSP 中 构建虚拟网络环境,而直接在 VirtualBox 中创建虚拟机,并通过“桥接网卡”方式,利用实 体机所在的网络实现虚拟机之间的互访以及虚拟机访问互联网。具体设计如下: (1)实体机可以访问互联网。 注意:此处要求实体机可以访问互联网,是为了实验过程中,Linux 系统安装 SNMP 服务组 件时,虚拟机能够在线安装一些软件包。 (2)在 VirtualBox 中创建 2 台虚拟机,Computer_1 虚拟机安装 CentOS7 操作系统,用 来作为被监控计算机 1;Computer_2 虚拟机安装 Windows Server 2012 操作系统,用来作为被 监控计算机 2。 (3)在 VirtualBox 中,将所有虚拟机网卡的连接方式设置成“桥接网卡”,使各台虚拟 机接入实体机所在的网络,既可实现虚拟机之间的访问,也可以通过实体机访问互联网。 (4)实体主机作为“管理机”,用来监控采集被管理计算机的信息。 (5)本实验的基本任务的拓扑结构如图 12-0-1 所示。 图 12-0-1 实验拓扑图 2、规划网络地址方案 根据对网络环境的设计,实验中所用到的网络为实体机所在网络。其网络参数(例如 IP 地址范围、默认网关等)可以从网络管理员处获得(可能是动态获得,也可能是静态设置), 具体情况要根据实验环境的实际情况而定。此处各台虚拟机的网络参数设置见表 12-0-1。 表 12-0-1 IP 地址规划表 序号 主机名称 IP 地址 网关 1 实体机 192.168.31.100 / 24 192.168.31.1 2 Computer_1 192.168.31.50 / 24 192.168.31.1 3 Computer_2 192.168.31.51 / 24 192.168.31.1
《网络运维管理》/实验12:通过SNP获取网络设备信息5 任务一:创建虚拟机 任务描述: 在 Virtualbox中创建本实验所需要的2台虚拟机 步骤1:新建 Computer1 新建一个名为 Computer 1的虚拟机,安装 CentoS7操作系统,作为被监控设备使用。 步骤2:新建 Computer2 新建一个名为 Computer_2的虚拟机,安装 Windows Server2012操作系统,作为被监控设备 使用。 注意:具体操作步骤参见前期实验内容
《网络运维管理》/实验 12:通过 SNMP 获取网络设备信息 5 任务一:创建虚拟机 任务描述: 在 VirtualBox 中创建本实验所需要的 2 台虚拟机。 步骤 1:新建 Computer_1 新建一个名为 Computer_1 的虚拟机,安装 CentOS7 操作系统,作为被监控设备使用。 步骤 2: 新建 Computer_2 新建一个名为 Computer_2 的虚拟机,安装 Windows Server 2012 操作系统,作为被监控设备 使用。 注意:具体操作步骤参见前期实验内容