Linux下NET-SNMP安装配置记录

时间:2022-09-28 22:23:01

说明编写此文档时由于格式的原因,部分长指令被写在多行(其间以回车换行),安装配置时任何指令都不应该使用回车换行,可以使用反斜杆“/”换行或者让系统自动换行。

 第一章 安装

 1. 系统准备工作
·本系统需要的安装

beecrypt-4.1.2.tar.gz Net-SNMP依赖文件)

net-snmp-5.4.2.1.tar.gz Net-SNMP安装包)

解压各压缩包,使用 tar -vzxf  ”指令解压。

2. 安装beecrypt
·net-snmp安装时需要用到beecrypt,所以需要先安装。进入beecrypt解压目录执行以下指令:
./configure --prefix=/usr
默认是安装在/usr/local我们需要安装在/usr目录下。若使用默认路径snmp可能找不到相关文件,需要另外建立符号链接

·执行makemake install安装:
make
make install

注意:需要使用超级用户权限,否则安装过程会出错

  

3. 安装NET-SNMP
·net-snmp用来获取目标机器的各种数据,可以直接使用,也可以通过MRTG画出图来。本系统直接使用net-snmp获取目标机器数据,不使用MRTG

·假设本系统安装到以下位置/ABC/soft/net-snmp
进入snmp解压目录,执行以下指令:
./configure --prefix=/ABC/soft/net-snmp --enable-mfd-rewrites 
--with-default-snmp-version=”2” --with-sys-location=”China” 
--with-logfile=”/ABC/log/snmpd.log” --with-persistent-directoiry=”/ABC/soft/snmp_persistent” (以上所有代码是一条指令)


·执行make 与 make install安装
make
make install

·安装过程中可能出现错误cannot find –lelf

解决办法#ln -s libelf.so.1 /usr/lib/libelf.so

 

 第二章 配置

 1. 配置snmpd.conf
·将安装包中的EXAMPLE.conf复制到/ABC/soft/net-snmp/share/snmp下,并重命名为snmpd.conf。使用以下指令复制:
cp EXAMPLE.conf /ABC/soft/net-snmp/share/snmp/snmpd.conf

·定义安全体
snmpd.conf中找到如下字段,修改为需要的参数。
#         sec.name   source         community

com2sec  local        localhost       public

com2sec  mynetwork  IP地址   public


·参数简介:
sec.name:安全体名称

source:定义请求的来源,在IP协议中,这个数据是IP地址。在net-snmp中用来对来源IP加以控制,但这个特性不是SNMP规定的,是net-snmp扩展的。
community:共同体名称
至此系统就可以使用了,其它参数使用默认值。更具体的配置请参考用户手册。
·说明:对snmpd.conf的编辑只能用空格,不能用Tab键,否则会出错。
每次改变snmpd.conf都必须重启snmp服务以使更改生效。

2. 启动snmp
·每次改变snmpd.conf都必须重启snmp服务以使更改生效。
·使用snmpd命令启动snmp守护进程,-c指定配置文件路径。
本系统使用net-snmp,不使用系统自带的snmp,使用以下指令启动:
/ABC/soft/net-snmp/sbin/snmpd -c /ABC/soft/net-snmp/share/snmp/snmpd.conf
·若选择使用系统自带的snmp,可以使用以下指令启动:service snmpd start。但是以上的配置对此不起作用,需要另外的配置。

3. 测试snmp
·启动snmp后可以使用以下指令测试snmp是否正常工作:
snmpwalk -v 2c -c public localhost system
这条指令用于查看本机系统信息,若正确返回信息则snmp正常工作。本文只介绍snmp的安装配置,关于指令的详细用法请参考用户手册。

附件

 

配置文件snmpd.conf简介

 

snmpd.conf的配置包括通道控制(Access Control)、系统联系人信息(System Contact Information)、进程检查(Process Check)、可执行脚本(Executables/Scripts)、磁盘检查(Disk Checks)、负载均衡检查(LoaAverage Checks)、可扩展部分(Extensible Sections)、通过控制(Pass Through Control)、其它等部分。一般情况下只需要修改Access Control就可以满足常规需求,其它使用默认配置。

 通道控制配置(Access Control)配置简介

定义安全体名称

sec.name:安全体名称
source:定义请求的来源,在IP协议中,这个数据是IP地址。在net-snmp中用来对来源IP加以控制,但这个特性不是SNMP规定的,是net-snmp扩展的。
community:共同体名称

定义安全组

第一个字段为安全组名称。
sec.model:安全模式,可选值为v1/v2c/usm
sec.name:安全体名称

定义视图

第一个字段为视图名。
incl/excl:对下面的MIB子树是包括还是排除。
subtree:视图中涉及的MIB子树。
mask:掩码

向安全组授权相应的视图

第一个字段为安全组名。
context:上下文,v1v2c中始终为空。

sec.model:安全模式,可选值为v1/v2c/usm

sec.level:安全级别,可选值为auth/noauth/privv1v2c中只能为noauth

match:前缀,指定context如何与PDU中的context匹配,v3使用。

read:授权的读视图。

write:授权的写视图。

notif:授权的trap视图。