Net-snmp配置编译安装

一、下载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 

 


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

 

启动net-snmp服务

进入到sbin目录,然后启动net-snmp

[root@localhost ~]# cd /usr/local/net-snmp/sbin/
[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功能测试
执行成功后我们可以进入到/usr/local/net-snmp/bin目录(上面snmpd终端保留,再另开一个终端),然后执行snmpwalk,snmpget等命令来查看一下。

抓取操作系统信息

[root@zkj bin]# ./snmpwalk 127.0.0.1 -cpublic -v 2c 1.3.6.1.2.1.1.1
SNMPv2-MIB::sysDescr.0 = STRING: Linux zkj.com 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64

抓取系统开机时间

[root@zkj bin]# ./snmpwalk 127.0.0.1 -cpublic -v 2c 1.3.6.1.2.1.1.3
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9099) 0:01:30.99

抓取机器名

[root@zkj bin]# ./snmpwalk 127.0.0.1 -cpublic -v 2c 1.3.6.1.2.1.1.5
SNMPv2-MIB::sysName.0 = STRING: zkj.com


原文链接:https://blog.csdn.net/jiangxin04211/java/article/details/78444821

posted @ 2020-06-30 09:32  泡泡茶壶i  阅读(1041)  评论(0编辑  收藏  举报