Net-snmp总结(二)-net-snmp配置编译安装

来源:互联网 发布:无忧商务推广软件 编辑:程序博客网 时间:2024/05/15 10:26

一、下载net-snmp源码包

netsnmp的源码包可以到 net-snmp官网上去下载,http://www.net-snmp.org

二、解压net-snmp源码包

  把下载好的压缩包net-snmp-5.7.3.tar.gz拷贝到linux系统中并解压。

  [root@localhost jiangxin]# tar -zxvf net-snmp-5.7.3.tar.gz

三、配置net-snmp

进入解压的 net-snmp-5.7.3文件夹。可以看到configure文件,现在就使用这个文件来自动配置。
当然,自动配置也可以定制一些内容,比如安装路径等。

 ./configure参数                                                          含义

--prefix=/usr/local/net-snmp                                        net snmp的安装路径

--enable-mfd-rewrites                                                 允许新的mfd重写可用的mid模块

--with-default-snmp-version="3"                                   默认的snmp版本

--with-sys-contact="name,E_mail:maileaddress "           该设备的联系人

--with-sys-location="China"                                          该设备的位置

--with-logfile="/var/log/snmpd.log"                               日志文件路径

--with-persistent-directory="/var/net-snmp"                  不变数据存储目录

 

我们这里只配置安装路径,其它的都使用默认设置。

[root@localhostnet-snmp-5.7.3]# ./configure --prefix=/usr/local/net-snmp

注意: 当输入配置之后按回车键之后,当系统提示-Press return tocontinue-时,按回车键继续,然后后续的提示都不输入,直接按回车选择默认。


执行完配置(没有中断,没有要求按某个键)之后会出现如下所示的信息。有可能出现的和下面的不一样,这取决于配置,但只要出现和这个相似的部分,说明配置是成功的。没有必要仔细看这个配置摘要。


四、编译安装

make编译

[root@localhost net-snmp-5.7.3]# make

makeinstall安装

编译成功后就可以安装了,前面设置了安装路径是/usr/local/net-snmp,因为这个路径是的所有者(own)和所在组(group)都是root,所有需要用root权限执行。

[root@localhost net-snmp-5.7.3]# make install

安装完成后进入目录/usr/local/net-snmp/sbin即可看到可执行文件snmpd,执行./snmpd -v输出一下版本信息。因为我们这里还没有把它的路径添加到环境变量,所有还不能在任意位置直接输入snmpd来运行。

[root@localhost sbin]# ./snmpd –v  

NET-SNMP version: 5.7.3

Web:               http://www.net-snmp.org/

Email:             net-snmp-coders@lists.sourceforge.net

五、snmpd.conf配置

snmpd.conf是snmp服务的配置文件。

生成snmpd.conf

先将EXAMPLE.conf文件复制到/usr/local/net-snmp/share/snmp,并重命名snmpd.conf

[root@localhost net-snmp-5.7.3]#cp EXAMPLE.conf/usr/local/net-snmp/share/snmp/snmpd.conf

修改snmpd.conf

使用到的com2sec/group/view/access的说明在EXAMPLE.conf文件的注释中可以看到(大致是65行)。
首先定义一个首共同体名称(community),这里是 public。以及可以访问这个 public 的用户名(sec name),这里是roUser。public 相当于用户roUser 的密码。
在snmpd.conf文件中添加下面的语句。(第一句是注释)

#sec.name source community

com2sec roUser localhost public

 

然后定义一个组名(groupName)这里是 notConfigGroup,以及组的安全级别,并把 notConfigGroup 这个用户加到这个组中。在snmpd.conf文件中添加下面的语句。(第一句是注释)

#groupName securityModel securityName

group roGroup v1 roUser

group roGroup v2c roUser


接着定义一个可操作的视图(view)名, 这里是all,范围是 .1。
在snmpd.conf文件中添加下面的语句。(第一句是注释)

#name     incl/excl     subtree         mask(optional)

  view  all     included        .1 

最后定义notConfigUser 这个组在 all 这个视图范围内可做的操作,这时定义了 notConfigUser组的成员可对 .1 这个视图做只读操作。

#group   context sec.model sec.levelprefix  read   write notif

 access   roGroup  "" any   noauth    exact all   none  none 


最后所有配置都添加完成,在配置文件中如下图所示


启动netsnmp服务

[root@localhost sbin]# ./snmpd -f -Le

Turningon AgentX master support.

NET-SNMPversion 5.7.3

NoShmem line in /proc/meminfo

这里没有加配置文件路径,是因为使用的默认配置文件/usr/local/netsnmp/share/snmp/snmpd.conf

六、snmp功能测试

执行成功后我们可以进入到bin目录,然后执行snmpwalk,snmpget等命令来查看一下。

抓取操作系统信息

[root@localhostbin]# ./snmpwalk 127.0.0.1  -cpublic -v 2c 1.3.6.1.2.1.1.1

SNMPv2-MIB::sysDescr.0= STRING: Linux localhost 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:35:01 EDT 2007i686

抓取系统开机时间

[root@localhostbin]# ./snmpwalk 127.0.0.1  -cpublic -v 2c 1.3.6.1.2.1.1.3

DISMAN-EVENT-MIB::sysUpTimeInstance= Timeticks: (609788) 1:41:37.88

抓取机器名

[root@localhostbin]# ./snmpwalk 127.0.0.1  -cpublic -v 2c 1.3.6.1.2.1.1.5

SNMPv2-MIB::sysName.0= STRING: localhost

原创粉丝点击