
Linux系统下使用SNMP客户端,精准无误监控网络设备
随着网络设备的数量不断增加,监控网络设备的重要性也越来越凸显。SNMP(Simple Network Management Protocol)作为一种网络管理协议,已经成为网络管理中极为重要的协议。本文将介绍Linux系统下如何使用SNMP客户端,实现对网络设备的精准无误监控。
一、SNMP协议简介
SNMP协议是一种客户-服务器协议。它通过TCP或UDP连接,让服务器(或代理)向客户端提供管理信息,客户端则对该信息进行分析和调整,以实现网络的管理和排错。
SNMP协议主要包括四个部分:
1.管理站(Manager):也称为NMS(Network Management System)网络管理系统,主要负责监控和管理网络设备。
2.网络设备(Agent):在需要进行管理运维的设备上运行,负责向管理站提供硬件信息、性能信息、应用信息等。
3.管理信息库(MIB):是一种用于表示网络设备状态和属性的一组数据结构,它描述了网络设备的运行状态、配置信息等。
4.协议(Protocol):管理站和网络设备之间的通信协议,主要包括SNMPv1/v2c/v3等版本。
二、Linux系统下SNMP客户端的搭建
在Linux系统下,可以通过安装SNMP客户端来实现监控网络设备的目的。以下是SNMP客户端的搭建步骤:
步骤一:安装SNMP客户端软件包
在终端下输入以下命令,安装SNMP客户端:
sudo apt-get update
sudo apt-get install snmp snmpd
步骤二:配置SNMP客户端
安装完SNMP客户端之后,需要对其进行配置。在终端下输入以下命令,打开SNMP配置文件:
sudo nano /etc/snmp/snmpd.conf
在该配置文件中,需要进行以下配置:
1.配置SNMP community
SNMP community是SNMP协议传输数据所需的共同密码。在snmpd.conf文件中找到以下行,修改其中的公共密码:
# Make at least snmpwalk -v 1 localhost -c public system fast agn.
# com2sec notConfigUser default public
com2sec mynetwork 192.168.1.0/24 public
其中,mynetwork是SNMP community名称,192.168.1.0/24是允许访问该设备的IP地址范围,public是公共密码。在这里,我们将其设为public。
2.配置SNMP Trap
SNMP Trap是一种事件告警机制,它可以通过SNMP协议向管理系统发送告警信息。在snmpd.conf文件中找到以下行,修改其中的IP地址为管理系统的IP地址:
# Example trap configuration
# traphandle default /usr/in/snmptthandler
# enable SNMPv1 trap handling
#disableAuthorization yes
# trap2sink localhost public
trap2sink 192.168.1.100 public
其中,192.168.1.100是管理系统的IP地址,public是SNMP community密码。
3.保存配置文件并重启SNMP客户端
修改完配置文件之后,按Ctrl+X组合键,选择Y键保存修改后的文件,然后使用以下命令重启SNMP客户端:
sudo /etc/init.d/snmpd restart
三、SNMP客户端的使用
安装完SNMP客户端之后,我们可以使用一些常用的命令来监控网络设备。
1.snmpwalk命令
snmpwalk命令用于获取指定设备的MIB对象值。
例如,要获取192.168.1.1设备的所有MIB对象的值,可以使用以下命令:
snmpwalk -v 2c -c public 192.168.1.1
其中,-v参数指定SNMP协议的版本,-c参数指定SNMP community密码,192.168.1.1是目标设备的IP地址。该命令会返回一个MIB对象值列表。
2.snmpget命令
snmpget命令用于获取指定设备的单个MIB对象值。
例如,要获取192.168.1.1设备的sysUpTime MIB对象的值,可以使用以下命令:
snmpget -v 2c -c public 192.168.1.1 sysUpTime.0
其中,sysUpTime.0是MIB对象标识符,0表示该对象的之一个实例。
3.snmptrap命令
snmptrap命令用于向管理站发送事件告警。
例如,要向192.168.1.100的管理站发送MIB对象错误告警,可以使用以下命令:
snmptrap -v 2c -c public 192.168.1.100 ” 1.3.6.1.4.1.1234.1.0.0 10.0.0.5 6 1 ”
其中,1.3.6.1.4.1.1234.1.0.0是MIB对象标识符,10.0.0.5是告警来源设备的IP地址,6是告警级别,1是告警类型。
四、
SNMP协议是网络管理的重要协议之一。在Linux系统下使用SNMP客户端可以实现对网络设备的监控和管理。本文介绍了SNMP协议的基本概念、Linux系统下SNMP客户端的搭建和常用命令的使用。希望可以帮助读者更好地理解和使用SNMP协议。
相关问题拓展阅读:
- 红旗linux系统中安装snmp需要安装哪几个文件
红旗linux系统中安装snmp需要安装哪几个文件
现在还有人用红旗吗?很多都没支持了,以下介绍下在Linux下安装snmp:
下载源码:
选择一个SNMP版本,比如5.7.1,下载地址如下:
解压文件:tar xzvf net-snmp-5.7.1.tar.gz
进入文件夹进行配置安装:cd net-snmp-5.7.1
net-snmp-5.7.1目录下的configure是可执行文件,如果想指定程序包的安装路径,那么首先建立相应的文件夹来存放安装信息,可以写成./configure –-prefix=/指定的路径名。参数–prefix用来告诉系统安装信息存放的路径,如果没有指定路径,直接执行./configure,那么程序包都会安装在系统默认的目录下,通常为:/usr/local下
执行命令”./configure –prefix=/usr/local/snmp –with-mib-modules=’ucd-snmp/diskio ip-mib/ipv4InterfaceTable’”,注意,以上的–with-mib-modules=ucd-snmp/diskio选项,可以让服务器支持磁盘I/O监控
4.回车出现下面问题,可以直接回车而不用回答,系统会采用默认信息,其中日志文件默认安装在/var/log/snmpd.log.数据存贮目录默认存放在/var/net-snmp下
1)default version of-snmp-version(3):
)System Contact Information (@@no.where)(配置该设备的联系信息枝羡):
3)System Location (Unknown)(该系统设备的地理位置):
4)Location to write logfile (日志文件位置):
5)Location to Write persistent(数据存储目录):
5.执行编译和安装:make && make install
6.配置snmpd.conf
使用”ls”命令查看/usr/local/snmp目录下是否存在etc目录,如果不存在etc目录,就创建一个
查看结果显示不存在etc目录,在/usr/local/snmp目录下创建一个etc目录,创建etc目录命令”mkdir /usr/local/snmp/etc”
6.找到SNMP源码目录(net-snmp-5.7.1)下EXAMPLE.conf文件
复制EXAMPLE.conf文件到到好散/usr/local/snmp/etc目录,并重命名为snmpd.conf:”cp EXAMPLE.conf /usr/local/snmp/etc/snmpd.conf”
7.使用vi编辑器打开snmpd.conf文件:”vi /usr/local/snmp/etc/snmpd.conf”,编辑snmpd.conf文件中的内容
8.找到【AGENT BEHAVIOUR】,允许网络访问
9.修改如下:添加”agentAddress udp:161″配置项
10. 找到【ACTIVE MONITORING】选择协议
11. 找到【ACCESS CONTROL】设置权限
12. 找到【rocommunity public default -V systemonly】,把 -V systemonly去掉,这是设置访问权限的,去掉后能访问全部
13.保存snmpd.conf后退出
14.启动:
由于友搭氏我们刚才修改SNMP的snmpd.conf文件,所以在启动snmp服务之前,先使用命令”ps aux | grep snmp | grep -v grep |awk ‘{print $2}’| xargs kill”关闭snmp的相关服务
15.使用”netstat -an |grep 161″查看snmp的服务是否启动
16.启动snmp服务:”/usr/local/snmp/in/snmpd -c /usr/local/snmp/etc/snmpd.conf”
17.测试:
获取本机的系统名字,使用命令:”snmpget -v 2c -c public localhost sysName.0″或者”snmpget -v 2c -c public 本机的ip地址 sysName.0″或者”snmpget -v 2c -c public 本机的ip地址 .1.3.6.1.2.1.1.5.0″进行测试
执行以下的几个命令都可以获取到本机的系统名字:
snmpget -v 2c -c public localhost sysName.0
snmpget -v 2c -c public 127.0.0.1 sysName.0
snmpget -v 2c -c public 192.168.1.229 sysName.0
snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.5.0
snmpget -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0
snmpget -v 2c -c public 192.168.1.229 .1.3.6.1.2.1.1.5.0
能够正常返回系统的名字就说明SNMP安装配置成功了。也可以使用命令”snmpget –version”查看当前的安装版本号来验证是否安装成功,如果安装成功,则显示当前的安装版本号
18.完成snmpd的配置并且SNMP测试通过之后,要确保Linux的iptables防火墙对外开放了udp 161端口的访问权限,可以使用”iptables –L –n”查看当前iptables规则
19.用”iptables -I INPUT -p udp –dport 161 -j ACCEPT”命令添加UDP 161端口到iptables防火墙中,然后执行”iptables save”命令保存防火墙的更改
20.在window系统下使用Snmputil.exe工具测试对Linux下的SNMP访问,测试Linux的UDP 161端口是否对外开
21.”snmputil get 192.168.1.229 public .1.3.6.1.2.1.1.5.0″命令返回192.168.1.229这台Linux服务器的名字,可以看到,Linux服务器的名称已经正常返回输出到命令行窗口了。
linux snmp 客户端的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux snmp 客户端,Linux系统下使用SNMP客户端,精准无误监控网络设备,红旗linux系统中安装snmp需要安装哪几个文件的信息别忘了在本站进行查找喔。
香港服务器首选树叶云,2H2G首月10元开通。
树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/197368.html<