snmpwalk centos?snmpwalk测试命令

本篇文章给大家谈谈snmpwalk centos,以及snmpwalk测试命令对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

如何为CentOS配置snmp代理

切换到系统管理员帐户

安装snmp

确认snmp代理已安装

rpm-q net-snmp

如果未安装,安装snmp

yum install net-snmp

设置开机自动运行snmp

/sbin/chkconfig snmpd on

配置snmp

编辑/etc/snmp/snmpd.conf

更改团体名

查找如下行

# sec.name source community

com2sec notConfigUser default public

将团体名public改为其它任意字段,例:

com2sec notConfigUser default monit

给予可读权限

查找如下行

# group context sec.model sec.level prefix read write notif

access notConfigGroup“” any noauth exact systemview none none

将read权限systemview改为all,例:

access notConfigGroup“” any noauth exact all none none

查找如下行

## incl/excl subtree mask

#view all included.1 80

去掉#view all前面的#,例:

view all included.1 80

启动snmp

/etc/init.d/snmpd start

如果已启动则重启snmp服务

/etc/init.d/snmpd restart

测试snmp

查看端口是否打开

netstat-ln| grep 161

安装snmp测试工具

yum install net-snmp-utils

本机测试snmp数据(修改monit为配置的团体名)

snmpwalk-v 2c-c monit localhost system

远程测试snmp数据(修改ip为服务器ip,snmpwalk命令需要安装net-snmp)

snmpwalk-v 2c-c monit ip system

错误排除

防火墙禁止访问

如果本地测试snmp有数据,远程测试snmp无数据则由于服务器防火墙禁止了外部访问服务器udp 161端口,则:

修改/etc/sysconfig/iptables(或者:/etc/sysconfig/iptables-config),增加如下规则:

-A RH-Firewall-1-INPUT-p udp-m state–state NEW-m udp–dport 161-j ACCEPT

重启iptables

/etc/init.d/iptables restart

如何在Ubuntu CentOS和Cisco系统中配置SNMPv3

简单网络管理协议(SNMP)是一种广泛使用的协议,用于收集设备内部正在进行中的信息。比如说,CPU和RAM的使用率,服务器的负载率,网络接口的流量状态,和的设备的很多其他性能都可以用SNMP来查询。

当前,SNMP有3个版本:v1, v2c and v3。SNMP

v1和v2c,可方便地进行配置,这在以前的文章中讨论过。SNMPv3增加了一些额外的功能,包括身份验证和加密方案(例如,MD5,SHA,AES和

DES)。这使得我们在Internet上运行SNMP查询时,SNMPv3的更安全,更可取的。

同SNMP v1或v2c相比,SNMPv3的配置有一点不同。下面详细解释了配置是如何进行的。

在Ubuntu和Debian配置SNMPv3

使用net-snmp-config tool工具进行配置。下面的例子中创建了一个只读权限的SNMPv3账户,用户名为“snmpv3user”密码为“snmpv3pass”。默认身份验证方法是MD5加密,默认DES使用。这些设定也可根据需要改变。

root@server:~# apt-get install snmp snmpd

root@server:~# service snmpd stop

root@server:~# net-snmp-config--create-snmpv3-user-ro-A snmpv3pass snmpv3user

## OUTPUT##

adding the following line to/var/lib/snmp/snmpd.conf:

createUser snmpv3user MD5"snmpv3pass" DES

adding the following line to/usr/share/snmp/snmpd.conf:

rouser snmpv3user

root@server:~# service snmpd start

SNMPv3测试

使用snmpwalk测试SNMP的配置。成功的测试结果应当有大量的输出数据。下面的例子使用上文建立的V3账户演示了snmpwalk的使用。Ubuntu和Debian的本地服务器IP地址192.168.1.1。

### SAMPLE OUTPUT###

iso.3.6.1.2.1.1.1.0= STRING:"Linux server 3.5.0-23-generic#35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64"

iso.3.6.1.2.1.1.2.0= OID: iso.3.6.1.4.1.8072.3.2.10

iso.3.6.1.2.1.1.3.0= Timeticks:(68028) 0:11:20.28

iso.3.6.1.2.1.1.7.0= INTEGER: 72

iso.3.6.1.2.1.1.8.0= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.2.1= OID: iso.3.6.1.6.3.10.3.1.1

iso.3.6.1.2.1.1.9.1.2.2= OID: iso.3.6.1.6.3.11.3.1.1

iso.3.6.1.2.1.1.9.1.2.3= OID: iso.3.6.1.6.3.15.2.1.1

iso.3.6.1.2.1.1.9.1.2.4= OID: iso.3.6.1.6.3.1

iso.3.6.1.2.1.1.9.1.2.5= OID: iso.3.6.1.2.1.49

iso.3.6.1.2.1.1.9.1.2.6= OID: iso.3.6.1.2.1.4

iso.3.6.1.2.1.1.9.1.2.7= OID: iso.3.6.1.2.1.50

iso.3.6.1.2.1.1.9.1.2.8= OID: iso.3.6.1.6.3.16.2.2.1

iso.3.6.1.2.1.1.9.1.3.1= STRING:"The SNMP Management Architecture MIB."

iso.3.6.1.2.1.1.9.1.3.2= STRING:"The MIB for Message Processing and Dispatching."

iso.3.6.1.2.1.1.9.1.3.3= STRING:"The management information definitions for the SNMP User-based Security Model."

iso.3.6.1.2.1.1.9.1.3.4= STRING:"The MIB module for SNMPv2 entities"

iso.3.6.1.2.1.1.9.1.3.5= STRING:"The MIB module for managing TCP implementations"

iso.3.6.1.2.1.1.9.1.3.6= STRING:"The MIB module for managing IP and ICMP implementations"

iso.3.6.1.2.1.1.9.1.3.7= STRING:"The MIB module for managing UDP implementations"

iso.3.6.1.2.1.1.9.1.3.8= STRING:"View-based Access Control Model for SNMP."

iso.3.6.1.2.1.1.9.1.4.1= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.2= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.3= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.4= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.5= Timeticks:(0) 0:00:00.00

### And the walk goes on and on###

删除SNMPv3账户

当net-snmp-config tool运行过程中,该账户的有关信息会存储在var/lib/snmp/snmpd.conf和/usr/share/snmp/snmpd.conf.两个文件之中。删除账户即删除这个文件中的信息即可。

root@server:~# service snmpd stop

root@server:~# vim/var/lib/snmp/snmpd.conf

## there should be a similar encrypted line that contains information on the user##

## this line is removed##

usmUser 1 3 0x80001f8880056e06573a1e895100000000 0x736e6d7076337573657200 0x736e6d7076337573657200 NULL.1.3.6.1.6.3.10.1.1.2 0x945ed3c9708ea5493f53f953b45a4513.1.3.6.1.6.3.10.1.2.2 0x945ed3c9708ea5493f53f953b45a4513""

root@server:~# vim/usr/share/snmp/snmpd.conf

## The following line is removed##

rouser snmpv3user

之后不要忘记重启snmpd

root@server:~# service snmpd start

在CentOS或者RHEL中配置SNMPv3

相比Ubuntu,在 CentOS和 RHEL中配置SNMP v3用户的过程有点不同,但基本是相同的。

首先,使用yum安装必要的软件

[root@server~]# yum install net-snmp-utils net-snmp-devel

安装完成之后,先停止snmpd,再创建具有只读属性的SNMP账户。.

[root@server~]# service snmpd stop

[root@server~]# net-snmp-create-v3-user-ro-A snmpv3pass-a MD5-x DES snmpv3user

## OUTPUT##

adding the following line to/var/lib/net-snmp/snmpd.conf:

createUser snmpv3user MD5"snmpv3pass" DES

adding the following line to/etc/snmp/snmpd.conf:

rouser snmpv3user

[root@server~]# service snmpd start

SNMPv3测试

snmpwalk是测试SNMP配置和输出出色的工具。成功的测试结果应当有大量的输出数据。

[root@server~]# snmpwalk-u snmpv3user-A snmpv3pass-a MD5-l authnoPriv 192.168.1.2-v3

### OUTPUT###

SNMPv2-MIB::sysDescr.0= STRING: Linux server.example.tst 2.6.32-71.el6.i686#1 SMP Fri Nov 12 04:17:17 GMT 2010 i686

SNMPv2-MIB::sysObjectID.0= OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance= Timeticks:(28963) 0:04:49.63

SNMPv2-MIB::sysORLastChange.0= Timeticks:(1) 0:00:00.01

SNMPv2-MIB::sysORID.1= OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1

SNMPv2-MIB::sysORID.2= OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance

SNMPv2-MIB::sysORID.3= OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance

SNMPv2-MIB::sysORID.4= OID: SNMPv2-MIB::snmpMIB

SNMPv2-MIB::sysORID.5= OID: TCP-MIB::tcpMIB

SNMPv2-MIB::sysORID.6= OID: IP-MIB::ip

SNMPv2-MIB::sysORID.7= OID: UDP-MIB::udpMIB

SNMPv2-MIB::sysORID.8= OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup

SNMPv2-MIB::sysORDescr.1= STRING: The MIB for Message Processing and Dispatching.

SNMPv2-MIB::sysORDescr.2= STRING: The MIB for Message Processing and Dispatching.

SNMPv2-MIB::sysORDescr.3= STRING: The SNMP Management Architecture MIB.

SNMPv2-MIB::sysORDescr.4= STRING: The MIB module for SNMPv2 entities

SNMPv2-MIB::sysORDescr.5= STRING: The MIB module for managing TCP implementation

## and the output continues##

删除SNMPv3账户

SNMPv3账户信息被包含在两个文件之中。删除账户即删除这个文件中的信息即可。

root@server:~# service snmpd stop

root@server:~# vim/var/lib/net-snmp/snmpd.conf

## there should be a similar encrypted line that contains information on the user##

## this line is removed##

usmUser 1 3 0x80001f8880056e06573a1e895100000000

0x736e6d7076337573657200 0x736e6d7076337573657200 NULL

.1.3.6.1.6.3.10.1.1.2 0x945ed3c9708ea5493f53f953b45a4513

.1.3.6.1.6.3.10.1.2.2 0x945ed3c9708ea5493f53f953b45a4513""

root@server:~# vim/etc/snmp/snmpd.conf

## The following line is removed##

rouser snmpv3user

root@server:~# service snmpd start

防火墙调节(可选)

下面的例子中的防火墙规则可以被用于限制被允许进行SNMP查询的源IP地址。两个IP地址(例如,192.168.1.100/101)被置于白名单中。

root@server:~# iptables-A INPUT-s 192.168.1.100/32-p udp–dport 161-j ACCEPT

root@server:~# iptables-A INPUT-s 192.168.1.101/32-p udp–dport 161-j ACCEPT

root@server:~# iptables-A INPUT-p udp–dport 161-j DROP

思科交换机和路由器配置SNMPv3

思科交换机和路由器同样支持SNMPv3。下面的例子将创建一个访问控制列表(ACL)限制允许做SNMP查询的源IP地址。但是,这步被跳过了。

设置访问控制列表(ACL)(可选)

## global config mode##

ip access-list standard SNMP_ACL

permit 192.168.1.100

permit 192.168.1.100

SNMPv3配置

下面的配置创建一个名为v3Group与认证AuthNoPriv安全级别v3的组。前面定义的可选访问列表也支持设定。

## global config mode##

## With ACL##

snmp-server group v3Group v3 auth access SNMP_ACL

## Without ACL##

snmp-server group v3Group v3 auth

用户v3user被创建并添加在v3Group下。 MD5的密码和AES加密密钥也被定义。

snmp-server user v3user v3Group v3 auth md5 snmpv3pass priv aes 128 snmpv3pass

SNMPv3测试

SNMP用户和相关组可以在Cisco设备中查看。

### privileged EXEC mode##

show snmp user

User name: v3user

Engine ID:************************

storage-type: nonvolatile active

Authentication Protocol: MD5

Privacy Protocol: AES128

Group-name: v3Group

任何Linux设备中的snmpwalk的都可以用来验证配置和检查输出。

snmpwalk-u snmpv3user-A snmpv3pass-a MD5-l authnoPriv 192.168.1.3-v3

iso.3.6.1.2.1.1.1.0= STRING:"Cisco IOS Software”

Technical Support:

Copyright(c) 1986-2012 by Cisco Systems, Inc.

iso.3.6.1.2.1.1.2.0= OID: iso.3.6.1.4.1.9.1.1166

iso.3.6.1.2.1.1.7.0= INTEGER: 78

iso.3.6.1.2.1.1.8.0= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.2.1.0= INTEGER: 54

iso.3.6.1.2.1.2.2.1.1.1= INTEGER: 1

iso.3.6.1.2.1.2.2.1.1.2= INTEGER: 2

iso.3.6.1.2.1.2.2.1.1.3= INTEGER: 3

## output truncated##

CentOS中net-snmpd的安装和基本配置教程

安装

复制代码

代码如下:

yum install net-snmp net-snmp-devel

net-snmp-config--create-snmpv3-user-a密码用户名

chkconfig snmpd on

service snmpd start

完工!

创建一个用户

复制代码

代码如下:

/usr/local/snmp/bin/net-snmp-create-v3-user

按提示输入用户名和密码,会自动在配置文件中添加用户

然后设置开机启动snmp

复制代码

代码如下:

vi/etc/rc.local

添加

复制代码

代码如下:

/usr/local/snmp/sbin/snmpd

即可可以在监控宝中添加

net-snmp的配置文件snmpd.conf配置说明

SNMP(Simple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。snmpd.conf的配置项很多,但是真正常用的就那么几个,下面来逐个介绍。

com2sec命令,它的基本语法是com2sec NAME SOURCE COMMUNITY。这里要提一下SNMP的安全策略,其实SNMP的安全性并不好,在这个协议中使用COMMUNITY这个东西来做访问控制的。简单来理解就是现在有一个帮会的一个人找去了总舵,那么这个人怎么跟总舵相认呢?他们直接约定一个暗号,例如见面就说床前明月光,那么总舵的前台就会带你去床前明月光想对应的地方。现在回过头来看这行配置,假如有以下一句话

复制代码

代码如下:

com2sec magusu default magus

意思就是做一个映射,把magus这个COMMUNITY串和magusu这个名字做好一对映射,那么以后在调用SNMP的时候,只要你声明你就是magus,那么就可以获得相应的权限了。有了映射以后下面需要做的是建立一个从magusu到组的一个映射,用到的命令是group,它的基本语法是group NAME MODEL SECURITY

复制代码

代码如下:

group magusg v2c magusu

上面这句话的意思就是把magusu放到组magusg里面,用的协议是v2c,插一句,SNMP现在通常用的有3个版本。那好了,组建好了下来要做什么呢?就是要建立一个VIEW,VIEW的基本语法是view NAME TYPE SUBTREE [MASK]

复制代码

代码如下:

view magusv included.1.3.6.1.4.1.9129

像上面这句话的意思就是赋予magusv这个view能够查看1.3.6.1.4.1.9129下面所有节点的权限。最后要做的是设定哪些组的人,哪些view的用户可以做什么具体的事情,用access来设置,基本语法是access NAME CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY。

复制代码

代码如下:

access magusg any noauth exact magusv magusv none

由于例子中用的是v2c版本的协议,所以CONTEXT必须为空,MODEL也就是协议的版本号,在这里例子里面可以是any也可以是v2c,还是由于v2c的缘故,所以LEVEL是noauth;READ、WRITE和NOTIFY分别需要指定一个view或者什么都不指定;在这里的设置就是magusv这个view可以对前面设置好的节点进行读和写操作。

到此,服务端的配置已经完成,重启一下snmpd就可以了,下面看看如何通过SNMP得到我们想要的数据

复制代码

代码如下:

snmpwalk-v 2c-c magus localhost 1.3.6.1.4.1.9129.1.2.2

snmpwalk可以便利指定节点下的所有子节点,-v参数指定SNMP的协议版本,这个跟我们之前配置服务器的版本是要一致的,也就是2c,然后-c参数就指定了community的字符串,也就是刚才定义的magus,然后就是主机地址,由于我在本机测试,所以用的localhost,实际中可以填上IP,最后就是OID的值。搞定!

对于刚刚接触SNMP的朋友来说,理解community的作用是关键,其实说的通俗点就是接头暗号,而且还是个明文的暗号。

在新版本中,其配置文件增加了新的更加简便的配置方法,但是依然兼容以上的配置方法。

阅读剩余
THE END