深入了解Linux SNMPWalk命令,提升网络管理效率 (linux snmpwalk 命令)

网络管理是现代企业极为重要的一项工作,对于大规模的、拥有多个网络节点的企业而言,网络管理的难度更大。如何有效地监控网络状态,发现问题并进行解决,是企业网络管理的重点和难点。Linux SNMPWalk命令作为一种常用的网络管理工具,可以帮助管理员快速地了解网络设备的工作状态和性能,提升网络管理的效率。

一、SNMPWalk命令的定义

SNMP是Simple Network Management Protocol的缩写,是一种网络管理协议。它可以实现对网络设备的监控和管理工作,例如管理硬件和软件配置、收集性能指标、分析网络流量等。SNMPWalk是SNMP协议中的一种工具,它可以通过查询网络设备的MIB文件,获得其所有可读取的数据,并以树形结构输出。具体来说,SNMPWalk命令会遍历整个MIB树,并返回每个OID的值。

二、SNMPWalk命令的语法

SNMPWalk命令的语法非常简单,可以通过man命令查看其用法。

语法: snmpwalk [OPTIONS] AGENT OID

参数OPTIONS:

-v:SNMP版本。目前的版本有1,2c和3。默认值为2c。

-c :SNMP消息的community字符串。

-r:重新发起请求的次数。

-t:设置超时时间。

-m :指定MIB文件。

输出格式:

OID = 值

其中,OID是指对象标识符,是MIB树中对象的唯一标识符;值是指对象的值,可以是数字、字符串或其他类型。

三、SNMPWalk命令的应用实例

1.列出网络设备上所有可读的OID:

[root@localhost ~]# snmpwalk -v 2c -c public 192.168.1.1

这个命令会返回192.168.1.1设备上所有可读的OID及其对应的值。

2.查看网络设备的接口信息:

[root@localhost ~]# snmpwalk -v 2c -c public 192.168.1.1 ifDescr

这个命令会返回192.168.1.1设备的接口名称和相应的接口号。

3.查看网络设备的CPU使用率:

[root@localhost ~]# snmpwalk -v 2c -c public 192.168.1.1 hrProcessorLoad

这个命令会返回192.168.1.1设备上CPU的使用率。

四、SNMPWalk命令的注意事项

1.需要访问的设备必须开启SNMP协议,并且配置了正确的community字符串。

2.需要访问的设备必须在管理员所在的网络中,或者通过VPN等方式直接访问。

3.输出的结果可能会很长,需要使用管道符“|”和grep等命令进行筛选。

五、小结

SNMPWalk命令是Linux网络管理中的重要工具,它可以帮助管理员快速地了解网络设备的工作状态和性能,发现问题并进行解决。管理员可以通过SNMPWalk命令,对网络设备进行详细的性能分析,以便制定更加有效的网络管理策略。然而,需要管理员牢记的是,SNMPWalk命令不应用于未经授权的设备,否则会造成安全隐患。

相关问题拓展阅读:

如何配置linux下的snmp服务

安装snmp服务

CentOS/RedHat下可以只用yum命令进行安装。

$ yum –y install net-snmp net-snmp-devel

若要使用snmpwalk进行安装检测轮或巧,则还需要安装net-snmp-utils包

$ yum –y install net-snmp-utils

Ubuntu可以通过apt-get install snmp snmpd 进行安装

设置安全的验证方式

将SNMP代理程序暴露给网络上的所有主机是很危险的,为了防止其它主机访问您的SNMP代理程序,我们需要在SNMP代理程序上加入身份验证机制。SNMP支持不同的验证机制,这取决于不同的SNMP协议版本,云监控目前支持v2c和v3两个版本,其中v2c版本的验证机制比较简单,它基于明文密码和授权IP来进行身份验证,而v3版本则通过用户名和密码的加密传输来实现身份验证,我们建议使用v3,当然,只要按照以下的介绍进行配置,不论是v2c版本还是v3版本,都可以保证一定的安全性,您可以根据情况来选择。

注意一点,SNMP协议版本和SNMP代理程序版本是两回事,刚才说的v2c和v3是指SNMP协议的版本,而Net-SNMP是用来实现SNMP协议的程序套件,目前它的最新版本是刚才提到的5.4.2.1。

v2c

先来看如何配置v2c版本的SNMP代理,我们来创建snmpd的配置文件,默认情况下它是不存在的,我们来创建它,如下:

sdo:~ # vi /usr/local/snmp/share/snmp/snmpd.conf

然后我们需要创建一个只读帐号,也就是read-only community,在snmpd.conf中添加以下内容:

rocommunity sdomonitor 114.80.132.9 rocommunity sdomonitor 58.215.169.26 rocommunity sdomonitor 58.215.169.27

如果想要检测服务是否成功开启,则还需要在snmpd.conf中添加:

rocommunity sdomonitor 127.0.0.1

注意,这里的”rocommunity”表示这是一个只读的访问权限,云监控只可以从您的服务器上获取信息,而不能对服务器进行任何设置。

紧接着的”sdomonitor”相当于密码,很多平台喜欢使用”public”这个默认字符串。这里的”sdomonitor”只是一个例子,您可以设置其它字符串作为密码。

最右边的”60.195.249.83″代表指定的监控点IP,这个IP地址是云监控专用的监控点,这意味着只有云监控有权限来访问您的SNMP代理程序。

所以,以腊键上这段配置中,只有”sdomonitor”是需要您进行修改的,同时在云监控上添加服务器的时候,需要提供这个字符串。

v3

当然,我们建议您使用v3版本来进行身份验证。对于一些早期版本的Linux分发版,其内置的SNMP代理程序可能并不支持v3,所以我们建议您按照前边介绍的方法,编译和安装最新的Net-Snmp。

v3支持另一种验证方式,需要创建一个v3的帐号,我们同样修改以下配置文件:

sdo:~ # vi /usr/local/snmp/share/snmp/snmpd.conf

然后添加一个只读帐号,如下:

rouser sdomonitor auth

可以看到,在v3中,”rouser”用于表示只读帐号类型,随后的”sdomonitor”是指定的用户名,后边的”auth”指明需要验证。

接下来,我们还要添加”sdomonitor”这个用户,这就是v3中的特殊机制,我们打开以下配置文件:

sdo:~ # vi /var/net-snmp/snmpd.conf

这个文件会在snmpd启动的时候被自动调用,我们需要在它里边添加创团握建用户的指令,如下:

createUser sdomonitor MD5 mypassword

这行配置的意思是创建一个名为”sdomonitor”的用户,密码为”mypassword”,并且用MD5进行加密传输。这里要提醒的是:

密码至少要有8个字节

这是SNMP协议的规定,如果小于8个字节,通信将无法进行。

值得注意的是,一旦snmpd启动后,出于安全考虑,以上这行配置会被snmpd自动删除,当然,snmpd会将这些配置以密文的形式记录在其它文件中,重新启动snmpd是不需要再次添加这些配置的,除非您希望创建新的用户。

以上配置中的用户名、密码和加密方式,在云监控添加服务器的时候需要添加。

启动snmp服务

$ service snmpd start

用以下命令检查服务是否启动成功

$ snmpwalk -v 2c -c sdomonitor 127.0.0.1 system

如果要关闭,则可以直接kill这个进程,如下:

$ killall -9 snmpd 或者$ service snmpd stop

方法/步骤

使用SNMP服务前需要在服务器上安装SNMP:

使用ROOT用户登陆在服务器,输入:

yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils php-snmp

进行下载。

上面的程序首先会校验需要升级的文件和需要下载安装的文件,然后列来,告诉你有多大,会提示您是核裂烂不是这些,需要继续不,输入Y,就开始下载了。

下载完成后,会自动解包安装,整个过程是自动的,无需要人工操作。安装完成没有错误会提示:Complete!

安装完SNMP服务后,就需要进行相关配置了,SNMP的配置文件在:

yum安装snmpd的配置文件为 /etc/snmp/snmpd.conf

如果您不会在命令模式下使用vi编辑器的话,建议把snmpd.conf配置文件下载到本地,然后用UE等文本编辑软件打开编辑更改。

配置snmpd.conf文件需要更改五个地方(默认配置基础上):

1、配置snmp团体名(默认是public): com2sec notConfigUser default public 建议更改public为您使用的团体名称

2、将access notConfigGroup “” any noauth exact systemview none none更改为access notConfigGroup “” any noauth exact all none none

3、将如下两行前面的注释去掉

## incl/源凯excl subtree maskview all included .1 80## -or just the mib2 tree-view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc

4、将下面一行前面的注释去掉

#access notConfigGroup “” any noauth exact roview rwview noneaccess notConfigGroup “” any noauth exact mib2 none none

注意以前改漏您在复制搜索时请使用中间的关键搜索,因为配置文件中字符间隔长,如图

配置文件修改完后,保存,上传到服务器中。

然后输入 :service snmpd restart 重新启动snmp服务

最后还需要执行如下命令:chkconfig snmpd on 意思是把服务加到开机启动中,开机自动运行。

可以使用一个简单命令判断snmp服务是否已经成功启动:

netstat -ln | grep 161

使用SNMP服务前需要在服务器上安装SNMP:

使用ROOT用户登陆在服务器,输入:

yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils php-snmp

进行下载。

上面的程序首先会校验需要升级的文件和需要下载安装的文件,然后列来,告诉你有多大,会提示您是不是这些,需要继续不,输入Y,就开始下载了。

下载完成后,会自动解包安装,整个过程是自动的,无需要人工操作。安装完成没有错误会提示:Complete!

安装完SNMP服务后,就需要进行相关配置了,SNMP的配置文件在:

yum安装snmpd的配置文件为 /etc/snmp/snmpd.conf

如果您不会在命令模式下使用vi编辑器的话,建议把snmpd.conf配置文件下载到本地,然后用UE等文本编辑软件打开编辑更改。

配置snmpd.conf文件需要更改五个地方(默认配置基础上):

1、配置snmp团体名(默认是public): com2sec notConfigUser default public 建议更改public为您使用的团体名称

2、将access notConfigGroup “” any noauth exact systemview none none更改为access notConfigGroup “” any noauth exact all none none

3、将如下两行前面的注释去掉

## incl/excl subtree maskview all included .1 80## -or just the mib2 tree-view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc

4、将下面一行前面的注释去掉

#access notConfigGroup “” any noauth exact roview rwview noneaccess notConfigGroup “” any noauth exact mib2 none none

注意以前您在复制搜索时请使用中没亮间的关键搜索,因为配置文件中字符间隔长,如图

配置文件修改完后,保存,上伍源传到服务器中。枯橘宽

然后输入 :service snmpd restart 重新启动snmp服务

最后还需要执行如下命令:chkconfig snmpd on 意思是把服务加到开机启动中,开机自动运行。

Linux系统中,如何通过snmpwalk来获取到交换机的上行和下行的使用率?

先下载交换机的MIB库毁伏,然后就用慧喊snmpwalk读取MIB中的OID就可以获纤碧携取得交换机的上下行使用率了

关于snmpwalk命令,求教!

linux snmpwalk 命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux snmpwalk 命令,深入了解Linux SNMPWalk命令,提升网络管理效率,如何配置linux下的snmp服务,Linux系统中,如何通过snmpwalk来获取到交换机的上行和下行的使用率?,关于snmpwalk命令,求教!的信息别忘了在本站进行查找喔。


数据运维技术 » 深入了解Linux SNMPWalk命令,提升网络管理效率 (linux snmpwalk 命令)