《网络运维管理》/实验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 操作系统,作为被监控设备 使用。 注意:具体操作步骤参见前期实验内容
《网络运维管理》/实验12:通过SNP获取网络设备信息6 任务二:在被监控主机 Computer_1上配置SNMP服务 任务描述: 被监控主机必须配置好SNP服务,方可被监控到。本任务是在被监控的 虚拟机 Computer1(安装Cent0s7操作系统)上安装并配置SNP服务 步骤1:对虚拟主机进行网络配置,使其能够访问互联网 虚拟机 Computer_1安装的是 Centos7操作系统,配置SNMP服务时,需要在线安装 SNMP组件,因此首先必须保证该虚拟机能够连通互联网,并且可以实现虚拟机与实体机之 间的互访。 (1)设置虚拟主机的网络连接方式 Oracle VM Virtual Box管理器 管理(F)控制(M)帮助(H) Computer1-设置 网卡1网卡2网卡3网卡4 26c已关闭 回存 连接方式(A):桥换网卡 puter_2 界面名称(8):nta) Ethernet Connection I29V D高级(d) 2S吕关闭 图12-2-1设置虚拟机 图12-2-2将虚拟机网络连接方式为“桥接网卡 在 irtual Box界面左侧的虚拟机列表中,选中 Computer_1,单击【设置】按钮,见图12-2-1。 将虚拟机 Computer_l的网络连接方式设置为【桥接网卡】,见图12-2-2。其他选项为默认选项, 点击【确认】保存配置。 (2)配置虚拟机的IP地址参数 启动虚拟机,根据任务1中的网络规划设计,修改 Centos7系统的网卡配置文件feg enps3,将其P地址设置为192.16831.50/24,默认网关192.16831.1。命令及配置如下 vi /etc/sysconfig/network-scripts/ifcfg-enpos3 BOOTPROTO= static∥/此处将IP地址的获得方式改为静态 static DEVICE=enpOs3 IPADDR=19216831.50 /增加该语句,用“ IPADDR=”来配置静态IP地址 NETMASK=2552552550增加该语句,用“ NETMASK”来配置子网掩码 GATEWAY=192168311//增加该语句,用“ GATEWAY=”来配置本机的默认网关 ONBOOT=yes ∥/此处“yes”表示将上述配置修改为开机启动 配置好网络参数后,重启网络服务,使刚才的配置生效
《网络运维管理》/实验 12:通过 SNMP 获取网络设备信息 6 任务二:在被监控主机 Computer_1 上配置 SNMP 服务 任务描述: 被监控主机必须配置好 SNMP 服务,方可被监控到。本任务是在被监控的 虚拟机 Computer_1(安装 CentOS7 操作系统)上安装并配置 SNMP 服务。 步骤 1:对虚拟主机进行网络配置,使其能够访问互联网 虚拟机 Computer_1 安装的是 CentOS7 操作系统,配置 SNMP 服务时,需要在线安装 SNMP 组件,因此首先必须保证该虚拟机能够连通互联网,并且可以实现虚拟机与实体机之 间的互访。 (1)设置虚拟主机的网络连接方式 图 12-2-1 设置虚拟机 图 12-2-2 将虚拟机网络连接方式为“桥接网卡” 在 VirtualBox 界面左侧的虚拟机列表中,选中 Computer_1,单击【设置】按钮,见图 12-2-1。 将虚拟机 Computer_1 的网络连接方式设置为【桥接网卡】,见图 12-2-2。其他选项为默认选项, 点击【确认】保存配置。 (2)配置虚拟机的 IP 地址参数 启动虚拟机,根据任务 1 中的网络规划设计,修改 CentOS7 系统的网卡配置文件 ifcfgenp0s3,将其 IP 地址设置为 192.168.31.50/24,默认网关 192.168.31.1。命令及配置如下: # vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 …… BOOTPROTO=static //此处将 IP 地址的获得方式改为静态 static …… DEVICE=enp0s3 IPADDR=192.168.31.50 //增加该语句,用“IPADDR=”来配置静态 IP 地址 NETMASK=255.255.255.0 //增加该语句,用“NETMASK”来配置子网掩码 GATEWAY=192.168.31.1 //增加该语句,用“GATEWAY=”来配置本机的默认网关 ONBOOT=yes //此处“yes”表示将上述配置修改为开机启动 配置好网络参数后,重启网络服务,使刚才的配置生效
《网络运维管理》/实验12:通过SMP获取网络设备信息 t systemctl restart network 提醒: 此处给虚拟机配置的IP地址,要根据学生具体实验环境而定 (3)配置虚拟机的DNS参数 由于本实验中的虚拟机,配置是静态P,因此,必须配置DNS参数,否则yum命令无法正 常工作。 Linux的DNS配置信息是在/etc/ resolv. conf文件中。 #vi /etc/resolv cont #f Generated by NetworkManager #f No nameservers found try putting DNS servers into your #f ifcfg files in /etc/sysconfig/network-scripts like so nammesenver114.114.114.114 ∥/此处添加DNS信息 nameserver 8.8.88 ∥/也可添加第2台DNS服务器信息 (4)测试网络连接效果 # ip addr/查看本机IP地址 可以看到本机IP地址已经修改为19216831.50/24,见图12-2-3 mtu 1500 disc pf i link/ether 08: 00: 27: c6:ef: df brd ff:ff: ff: ff:ff: ff i net 31.50/24 brd 192. 168.31 255 scope g lobal enpgs3 ref erre forever fec: efdf/64 scope link forever preferred_Ift forever rooteMiWiFi-RZD-s 图12-2-3查看虚拟机的IP地址 通过Ping命令的方式进行访问,若可以访问本地实体主机和互联网,则说明配置的地址起 效,见图12-2-4。 ootelocalhostetc]tpingwww.baidu.com PinGwww.a.shifen.com(115.239.210.27)56(84)bytesofdata 64 bytes from 115.239.210 icmp seql ttl=53 time=41.1ms 64 bytes from115.239.210.27 np seg2 ttl=53 time=41.0 ms 4 bytes from 115.239.210.27: icmp seg3 ttl=53 time=40.4 ms 64 bytes from 115.239.210.27: icmp seq=4 ttl=53 time=41.3 ms 图12-2-4用ping命令测试网络连通性 步骤2:安装SNMP服务组件 使用SNMP服务时,需要先安装SNMP服务的相关组件。 Centos及其它 RedHat系列产品提供了 net-snmp的二进制包。我们可以直接从源里安装。需 要安装的组件除了net-snmp之外,还有net- snmp-utils, net-snmp-libs等。命令如下: yum -y install net-snmp-libs net-snmp net-snmp-utils net-snmp-devel net snmp-per 注意
《网络运维管理》/实验 12:通过 SNMP 获取网络设备信息 7 #systemctl restart network 提醒: 此处给虚拟机配置的 IP 地址,要根据学生具体实验环境而定 (3)配置虚拟机的 DNS 参数 由于本实验中的虚拟机,配置是静态 IP,因此,必须配置 DNS 参数,否则 yum 命令无法正 常工作。Linux 的 DNS 配置信息是在/etc/resolv.conf 文件中。 #vi /etc/resolv.conf # Generated by NetworkManager # No nameservers found; try putting DNS servers into your # ifcfg files in /etc/sysconfig/network-scripts like so: nameserver 114.114.114.114 // 此处添加 DNS 信息 nameserver 8.8.8.8 //也可添加第 2 台 DNS 服务器信息 (4)测试网络连接效果 #ip addr //查看本机 IP 地址 可以看到本机 IP 地址已经修改为 192.168.31.50/24,见图 12-2-3 图 12-2-3 查看虚拟机的 IP 地址 通过 Ping 命令的方式进行访问,若可以访问本地实体主机和互联网,则说明配置的地址起 效,见图 12-2-4。 图 12-2-4 用 ping 命令测试网络连通性 步骤 2:安装 SNMP 服务组件 使用 SNMP 服务时,需要先安装 SNMP 服务的相关组件。 CentOS 及其它 RedHat 系列产品提供了 net-snmp 的二进制包。我们可以直接从源里安装。需 要安装的组件除了 net-snmp 之外,还有 net-snmp-utils,net-snmp-libs 等。命令如下: # yum –y install net-snmp-libs net-snmp net-snmp-utils net-snmp-devel netsnmp-perl 注意:
《网络运维管理》/实验12:通过SNP获取网络设备信息8 1.net-snmp- devel是为了使用net-snmp- config,net-snmp- utils是为了使用 snowe alk。 2.在yum安装过程中,系统会提出某些组件是否安装,让你回答“y”或“n”,加上-y 参数指的是对所有问题都默认回答yes,省去安装时的交互。 输入上述的命令后,可看到安装加载过程,见图12-2-5,安装完成后可看到 Complete”字符 telocalhost etcIt yum -y install net-snmp ne libs net-srmp-utils net-srmp-de 已加载插件: fastestmirror tras 3.4kB00:00:00 dates 4kB00:00:00 图12-2-5安装SMP服务组件 步骤3:配置被监控机的SNMP配置文件 SNMP服务的配置信息存放在etc/ snmp/snmpd. conf文件中,我们需要对此文件进行修 改,包括设置共同体名称,添加可访问信息的节点等操作 (1)编辑打开 snmpd. conf文件 vi /etc/snmp/snmpd. conf (2)配置SNMP服务的共同体名称 在配置文件中找到图12-26中的内容。 sec. name source community com2sec notconfigUser default public 图12-2-6安装SMP服务组件 说明: Linux vi中查找字符内容的方法 使用ⅵ编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容。这时,使 用查找功能尤为重要。方法如下 命令模式下输入“/字符串”,例如/ community表示查找“ community”。 2、如果查找下一个,按“n”即可。 “ community”字段名即表示SNMP共同体,其下为字段值,默认值是“ public”,表示 本机的SNMP共同体名称是 public. source”表示采集数据请求的来源,即允许谁从本机采集监控数据,其默认值是 “ default”,表示允许任何主机进行数据采集。 本实验中,将共同体名改为“ My Cacti”,将“ source”的值由“ default”改为 Cacti监控 主机的IP地址,即192.16831.100。见图12-2-7 First, map the community name public" into sec. name source community com2sec notconfigUser 192.168. 31.100 My Cact 图12-2-7修改共同体名称
《网络运维管理》/实验 12:通过 SNMP 获取网络设备信息 8 1. net-snmp-devel 是 为 了 使 用 net-snmp-config, net-snmp-utils 是 为 了 使 用 snmpwalk。 2. 在 yum 安装过程中,系统会提出某些组件是否安装,让你回答“y”或“n”,加上 -y 参数 指的是对所有问题都默认回答 yes,省去安装时的交互。 输入上述的命令后,可看到安装加载过程,见图 12-2-5,安装完成后可看到 “Complete”字符。 图 12-2-5 安装 SNMP 服务组件 步骤 3:配置被监控机的 SNMP 配置文件 SNMP 服务的配置信息存放在/etc/snmp/snmpd.conf 文件中,我们需要对此文件进行修 改,包括设置共同体名称,添加可访问信息的节点等操作。 (1)编辑打开 snmpd.conf 文件 # vi /etc/snmp/snmpd.conf (2)配置 SNMP 服务的共同体名称 在配置文件中找到图 12-2-6 中的内容。 图 12-2-6 安装 SNMP 服务组件 说明:Linux vi 中查找字符内容的方法 使用 vi 编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容。这时,使 用查找功能尤为重要。方法如下: 1、命令模式下输入“/字符串”,例如/community 表示查找“community”。 2、如果查找下一个,按“n”即可。 “community”字段名即表示 SNMP 共同体,其下为字段值,默认值是“public”,表示 本机的 SNMP 共同体名称是 public。 “source”表示采集数据请求的来源,即允许谁从本机采集监控数据,其默认值是 “default”,表示允许任何主机进行数据采集。 本实验中,将共同体名改为“My_Cacti”,将“source”的值由“default”改为 Cacti 监控 主机的 IP 地址,即 192.168.31.100。见图 12-2-7. 图 12-2-7 修改共同体名称
《网络运维管理》/实验12:通过SNP获取网络设备信息9 注意 1.在SNPⅥl版本中,引入了共同体的概念。在进行监控数据采集时,必须知道被监控 设备的共同体名称,因此,将共同体名称修改为你自己才知道的字符串,是一种安全 措施 2.修改“ source”的值,只允许指定的设备进行监控数据的采集,也是一种安全措施。 3.SMPv2版本使用共同体名称。v1没有安全措施,v3使用认证和加密的机制实现安全。 (3)添加可访问信息的节点 继续在 snmpd. conf文件中找到图12-2-8所示内容,其下添加“.1”的访问节点,表示可访问 到OID值为.1.*的对应信息,从而增加可访问信息的节点 完成上述配置后,点击【Esc】键退出编辑状态,然后在配置文件中输入“:wq”,点击回 车,保存配置文件并退出 f Make at least snmpwalk -v 1 localhost -c public system fast again incl/excl subtree mask(optional) systemview included 1.3.6.1.2.1.1 vlew included 1.3.6 1.25.1.1 view systemview included.1//添加此行 图12-2-8添加可访问信息的节点 注意:SNMP中,MIB(管理信息库)是树形目录,此处的“ subtree”字段值,用来定义可 以访问到(即监控到)的设备信息节点,例如定义为.1.3.6,就表示只能够访问1.3.6.* 的OID对应的信息 步骤4:安装并配置防火墙 SNMP的访问是使用UDP协议,并通过161端口, CentOS7系统中默认安装的防火墙为 Firewal防火墙,默认情况下,防火墙禁止SNMP的访问。因此,要想实现SNMP的访问,需要 在防火墙上设置允许规则 由于 firewal防火墙操作复杂,因此,本实验中使用 IPTables防火墙,其具体操作步骤如下 (1)禁用 Firewall I防火墙。 由于在 Centos7系统中默认安装的防火墙为 Firewall防火墙,为避免防火墙冲突,需要禁止 系统自带防火墙,主要的命令如下。 systemctl stop firewall 禁止 Firewall防火墙 systemctl disable firewall service /禁止开机启动 Firewall防火墙 systemctl status firewall /查看 Firewa‖防火墙状态
《网络运维管理》/实验 12:通过 SNMP 获取网络设备信息 9 注意: 1. 在 SNMP v1 版本中,引入了共同体的概念。在进行监控数据采集时,必须知道被监控 设备的共同体名称,因此,将共同体名称修改为你自己才知道的字符串,是一种安全 措施; 2. 修改“source”的值,只允许指定的设备进行监控数据的采集,也是一种安全措施。 3. SNMP v2 版本使用共同体名称。v1 没有安全措施,v3 使用认证和加密的机制实现安全。 (3)添加可访问信息的节点 继续在 snmpd.conf 文件中找到图 12-2-8 所示内容,其下添加“.1”的访问节点,表示可访问 到 OID 值为.1.*的对应信息,从而增加可访问信息的节点。 完成上述配置后,点击【Esc】键退出编辑状态,然后在配置文件中输入“:wq”,点击回 车,保存配置文件并退出。 图 12-2-8 添加可访问信息的节点 注意:SNMP 中,MIB(管理信息库)是树形目录,此处的“subtree”字段值,用来定义可 以访问到(即监控到)的设备信息节点,例如定义为.1.3.6,就表示只能够访问 1.3.6.* 的 OID 对应的信息。 步骤 4:安装并配置防火墙 SNMP 的访问是使用 UDP 协议,并通过 161 端口,CentOS 7 系统中默认安装的防火墙为 Firewall 防火墙,默认情况下,防火墙禁止 SNMP 的访问。因此,要想实现 SNMP 的访问,需要 在防火墙上设置允许规则。 由于 firewall 防火墙操作复杂,因此,本实验中使用 IPTables 防火墙,其具体操作步骤如下。 (1)禁用 Firewall 防火墙。 由于在 CentOS 7 系统中默认安装的防火墙为 Firewall 防火墙,为避免防火墙冲突,需要禁止 系统自带防火墙,主要的命令如下。 # systemctl stop firewalld //禁止 Firewall 防火墙 # systemctl disable firewalld.service //禁止开机启动 Firewall 防火墙 # systemctl status firewalld //查看 Firewall 防火墙状态
《网络运维管理》/实验12:通过SNP获取网络设备信息10 可通过查看防火墙的状态,判断该防火墙是否被禁用,如图12-2-9所示。 led: vendor preset: enabled ocess: 602 nofork --nopid 8月月 calhost, localdomain systemd [1]: Stopped firewa 2-9查看 Firewall防火墙状态 (2)安装 IPTables防火墙 下载并安装 IPTables防火墙及防火墙服务,主要命令如下。 yum install iptables iptables-services //下载并安装 IPTables防火墙及服务 安装成功后,系统会给出提示,见图12-2-10。 stalled ptables-services x86-64 8: 1.4.21-18.2.e17_4 图12-2-10成功安装 iptables防火墙 (3)配置防火墙,添加防火墙规则 安装成功 iptables后,在 /etc/sysconfig目录中会生成 iptables文件,编辑该文件,设置 tables防火墙规则。主要配置如下所示。 vi /etc/sysconfig/iptables //打开 IPTables防火墙的配置文件 -A INPUT -p udp -m state --state NEW -m udp --dport 161 -j ACCEPT //添加161端 火墙的规则 -A INPUT-p tcp-m state --state NEW-m tcp -dport 80 -j ACCEPT /添加允许80端口通过防火墙的规则
《网络运维管理》/实验 12:通过 SNMP 获取网络设备信息 10 可通过查看防火墙的状态,判断该防火墙是否被禁用,如图 12-2-9 所示。 图 12 -2-9 查看 Firewall 防火墙状态 (2)安装 IPTables 防火墙 下载并安装 IPTables 防火墙及防火墙服务,主要命令如下。 # yum install iptables iptables-services //下载并安装 IPTables 防火墙及服务 安装成功后,系统会给出提示,见图 12-2-10。 图 12-2-10 成功安装 iptables 防火墙 (3)配置防火墙,添加防火墙规则 安装成功 iptables 后,在 /etc/sysconfig 目录中会生成 iptables 文件,编辑该文件,设置 iptables 防火墙规则。主要配置如下所示。 # vi /etc/sysconfig/iptables //打开 IPTables 防火墙的配置文件 -A INPUT –p udp -m state -–state NEW –m udp –-dport 161 –j ACCEPT //添加 161 端口通过防火墙的规则 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT //添加允许 80 端口通过防火墙的规则