SNMP简单介绍
简单网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。
SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。
SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB,改进后的协议就是著名的SNMP。基于TCP/IP的SNMP网络管理框架是工业上的现行标准,由3个主要部分组成,分别是管理信息结构SMI(Structure ofManagement Information)、管理信息库MIB和管理协议SNMP。
● SMI定义了SNMP框架所用信息的组织和标识,为MIB定义管理对象及使用管理对象提供模板。
● MIB定义了可以通过SNMP进行访问的管理对象的集合。
● SNMP协议是应用层协议,定义了网络管理者如何对代理进程的MIB对象进行读写操作。
SNMP中的MIB是一种树状数据库,MIB管理的对象,就是树的端节点,每个节点都有唯一位置和唯一名字.IETF规定管理信息库对象识别符(OID,Object Identifier)唯一指定,其命名规则就是父节点的名字作为子节点名字的前缀。
组成部分
一个SNMP管理的网络由下列三个关键组件组成:
● 网络管理系统(NMS,Network-management systems)
● 被管理的设备(managed device)
● 代理者(agent)
网络管理系统运行应用程序,以该应用程序监视并控制被管理的设备。也称为管理实体(managingentity),网络管理员在这儿与网络设备进行交互。网络管理系统提供网络管理需要的大量运算和记忆资源。一个被管理的网络可能存在一个以上的网络管理系统。
准备一台新的Linux虚拟机
● 可以联网,有yum源
● 没有安装过SNMP工具
使用downloadonly工具下载依赖包
代码语言:txt复制yum -y install yum-plugin-downloadonly
创建一个存放包体的目录
代码语言:txt复制mkdir /opt/snmp
下载离线rpm包
代码语言:txt复制yum install --downloadonly --downloaddir=/opt/snmp net-snmp*
这样所有SNMP的rpm包都下载到/opt/snmp 路径下
其他的rpm安装包也可以这样下载,离线下载一些需要的rpm包
代码语言:txt复制yum install --downloadonly --downloaddir=/opt/Linux_basic wget gcc openssl git autoconf vim screen automake libtool make perl gettext gettext-devel gd gperf ncurses-devel zip unzip net-tools snappy-devel sysstat iftop psmisc ntp logrotate telnet
rpm包下载网站
代码语言:txt复制https://rpmfind.net/linux/RPM/
代码语言:txt复制http://rpm.pbone.net/
批量安装
代码语言:txt复制rpm -ivh *.rpm --nodeps --force
修改配置文件
代码语言:shell复制# 查看配置文件
grep "^[a-Z]" /etc/snmp/snmpd.conf
修改配置文件
代码语言:shell复制vim /etc/snmp/snmpd.conf
代码语言:javascript复制# sec.name source community
com2sec notConfigUser default public
# public 可以修改,修改成自己的团体号
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact systemview none none
# 修改访问权限 systemview ===> all
access notConfigGroup "" any noauth exact all none none
代码语言:javascript复制# 添加这一行
view all included .1
# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
view all included .1
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
启动SNMP
代码语言:javascript复制[root@localhost ~]# systemctl start snmpd
[root@localhost ~]# systemctl status snmpd
SNMP服务其他命令
代码语言:shell复制systemctl daemon-reload ##重新加载
systemctl start snmpd #启动snmp
systemctl status snmpd #查看服务状态,如果启动不成功,请检查配置文件
systemctl restart snmpd #重新启动snmp
systemctl stop snmpd #停止snmp
systemctl enable snmpd #设置为开机自启动
SNMP服务测试
代码语言:txt复制snmpwalk -v2c -c public 192.168.168.128