SUN Solaris10 安装配置NET-SNMP——方式2(pkg软件包)

1.操作环境

平台:X86
OS :SUN solaris10
snmp:5.6.1.1 ,solaris pkg安装包
snmp client:solaris10; IP:192.168.56.105
snmp server:linux; IP:192.168.56.99

1.1 安装配置方式

1)solaris系统自带snmp;
2)net-snmp pkg软件包;
3)net-snmp 编译包;

本文仅适用于方式2的安装配置;

2.准备工作

2.1 记录下系统现有的snmp和snmpd.conf文件

这一步的目的是为了防止和新装的snmp产生混淆。

#find / -name snmpd
/usr/sfw/sbin/amd64/snmpd
/usr/sfw/sbin/i86/snmpd
/usr/sfw/sbin/snmpd

#find / -name snmpd.conf
/var/sadm/pkg/SUNWsmmgr/save/pspool/SUNWsmmgr/reloc/etc/sma/snmp/snmpd.conf
/var/sadm/pkg/SUNWsacom/save/pspool/SUNWsacom/reloc/etc/snmp/conf/snmpd.conf
/var/sma_snmp/snmpd.conf
/usr/sfw/lib/sma_snmp/snmpd.conf
/etc/snmp/conf/snmpd.conf
/etc/sma/snmp/snmpd.conf

2.2 停止系统默认snmpd服务

Solaris10 新装系统后,默认自带snmp服务,并且snmp服务会随开机自动启动。

a)确认系统snmp服务是否运行:

# ps -ef | grep snmp
    root  /usr/sfw/sbin/snmpd
    root  /usr/lib/snmp/snmpdx -y -c /etc/snmp/conf
    root  grep snmp

b)如果能看到snmp运行中,执行下列命令,停止服务:

# svcadm disable sma
# svcadm disable seaport
# svcadm disable snmpdx
# ps -ef | grep snmp

2.3 下载net-snmp的pkg软件包

solaris10  x86 : 
http://mirror.opencsw.org/opencsw/stable/i386/5.10/

solaris10 sparc:
http://mirror.opencsw.org/opencsw/stable/sparc/5.10/

根据系统平台,下载pkg.gz包:
或者使用我传到云盘的tar包,下载地址如下:

solaris10_sparc_snmp_pkg.tar
链接:https://pan.baidu.com/s/1yLVh7iY9D1569TpcLcQcZw 
提取码:s18s
solaris10_x86_snmp_pkg.tar
链接:https://pan.baidu.com/s/15iKLmohAQxn98ymBywF9Zg 
提取码:kui3 
libgcc_s1-4.9.0,REV=2014.04.27-SunOS5.10-i386-CSW.pkg.gz
libnetsnmp25-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
libnetsnmpagent25-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
libnetsnmphelpers25-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
libnetsnmpmibs25-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
libnetsnmptrapd25-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
libssl1_0_0-1.0.1i,REV=2014.08.08-SunOS5.10-i386-CSW.pkg.gz
libssl_dev-1.0.1i,REV=2014.08.08-SunOS5.10-i386-CSW.pkg.gz
netsnmp-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
netsnmp_dev-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
netsnmp_py_stub-5.6.1.1,REV=2013.07.18-SunOS5.10-all-CSW.pkg.gz

3.解压安装

# gunzip -d $(ls)  #解压全部gz文件
# ls -l

# 一定按照如下顺序安装软件 安装完成后,一定看一眼,输出“安装<XXXX>成功”,才表示安装成功。
# 如果显示“安装<XXXXX>部分成功”或安装失败,那么在安装完其他软件后,再次安装一遍。

# pkgadd -d libgcc_s1-4.9.0,REV=2014.04.27-SunOS5.10-sparc-CSW.pkg

# pkgadd -d libssl1_0_0-1.0.1i,REV=2014.08.08-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libssl_dev-1.0.1i,REV=2014.08.08-SunOS5.10-sparc-CSW.pkg

# pkgadd -d libnetsnmptrapd25-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libnetsnmpmibs25-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libnetsnmphelpers25-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libnetsnmpagent25-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libnetsnmp25-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg

# pkgadd -d netsnmp_py_stub-5.6.1.1,REV=2013.07.18-SunOS5.10-all-CSW.pkg
# pkgadd -d netsnmp_dev-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d netsnmp-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg


至此,net-snmp 5.6.1.1已经安装成功了,系统多了如下两个文件:

/opt/csw/sbin/snmpd
/etc/opt/csw/snmp/snmpd.conf

4.修改配置文件

# vi /etc/opt/csw/snmp/snmpd.conf
将此处:
agentAddress  udp:127.0.0.1:161
改为:
agentAddress 192.168.56.105:161		#192.168.56.105为本机IP
#将此处
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1

#修改为:
view   systemonly  included   .1
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1
--------------------------------------------------------------------
#将此处:
rocommunity public  default    -V systemonly
#修改为:
rocommunity cmsnmp  default    -V systemonly		#cmsnmp为自己定义的共同体名称

5.启动SNMP

# /opt/csw/sbin/snmpd

# ps -ef | grep snmp
    root  1515     1   0 20:20:48 ?           1:22 /opt/csw/sbin/snmpd
    root  1965  1305   0 06:00:49 pts/4       0:00 grep snmp

6.测试SNMP

6.1 本地测试

# snmpget -v 1 -c cmsnmp localhost sysUpTime.0			  #当前配置文件下,使用localhost应该无数据输出。
# snmpwalk -v 1 -c cmsnmp -m ALL localhost .1.3 | more	
# snmpwalk -v 1 -c cmsnmp -m ALL localhost .1.3 | wc -l	  #如果输出统计数量只有几十,请检查snmpd.conf文件

# 将localhost换成本地IP地址后再执行一遍,看看是否有输出信息
# snmpget -v 1 -c cmsnmp 192.168.56.105 sysUpTime.0
# snmpwalk -v 1 -c cmsnmp -m ALL 192.168.56.105 .1.3 | more
# snmpwalk -v 1 -c cmsnmp -m ALL 192.168.56.105 .1.3 | wc -l

6.2 server端测试

# cmsnmp为共同体名称
# 10.168.1.129为client端IP地址
snmpwalk -v 1 -c cmsnmp 192.168.56.105 .1.3.6.1.2.1.25.2.2  			#取得系统总内存
snmpwalk -v 1 -c cmsnmp 192.168.56.105 hrSystemNumUsers  				#取得系统用户数
snmpwalk -v 1 -c cmsnmp 192.168.56.105 .1.3.6.1.2.1.4.20    			#取得IP信息
snmpwalk -v 1 -c cmsnmp 192.168.56.105 system   						#查看系统信息
snmpwalk -v 1 -c cmsnmp 192.168.56.105 ifDescr 							#获取网卡信息

7.安装中遇到的报错

7.1 致命的: libcrypto.so.1.0.0: 打开失败

执行snmpd命令,会有如下报错信息:

#/opt/csw/sbin/snmpd -v
ld.so.1: snmpd: 致命的: libcrypto.so.1.0.0: 打开失败: 无此文件或目录

NET-SNMP version:  5.6.1.1
Web:               http://www.net-snmp.org/
Email:             [email protected]

这是因为缺少openssl的lib库文件,执行如下操作:

# pkgadd -d libssl_dev-1.0.1i,REV=2014.08.08-SunOS5.10-i386-CSW.pkg
# pkgadd -d libssl1_0_0-1.0.1i,REV=2014.08.08-SunOS5.10-i386-CSW.pkg

7.2 snmpwalk获取数据失败

故障现象:
在本地执行如下命令,有对应输出信息:

# snmpget -v 1 -c cmsnmp localhost sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3589394) 9:58:13.94
# snmpwalk -v 1 -c cmsnmp -m ALL localhost .1.3 | more
SNMPv2-MIB::sysDescr.0 = STRING: SunOS solaris2 5.10 Generic_147148-26 i86pc
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-TC::solaris
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3595007) 9:59:10.07
SNMPv2-MIB::sysContact.0 = STRING: Me <[email protected]>
SNMPv2-MIB::sysName.0 = STRING: solaris2
SNMPv2-MIB::sysLocation.0 = STRING: Sitting on the Dock of the Bay
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
...
...

在本地执行如下命令,没有输出信息(同样的命令,只是licalhost换成了本地IP地址)

# snmpget -v 1 -c cmsnmp 192.168.56.105 sysUpTime.0
Timeout: No Response from 192.168.56.105
# snmpwalk -v 1 -c cmsnmp -m ALL 192.168.56.105 .1.3 | more
Timeout: No Response from 192.168.56.105

在server端执行如下命令,同样没有输出信息:

# snmpget -v 1 -c cmsnmp 192.168.56.105 sysUpTime.0
Timeout: No Response from 192.168.56.105
# snmpwalk -v 1 -c cmsnmp -m ALL 192.168.56.105 .1.3 | more
Timeout: No Response from 192.168.56.105

一开始以为是防火墙设置导致,后来查看,solaris系统默认防火墙是关闭状态。
后来找到一个方法,需要在snmpd.conf配置文件,最后增加两行内容:

# vi /etc/opt/csw/snmp/snmpd.conf

#文件最后增加:
interface e1000g0					#e1000g0 为网口名称,根据实际配置情况修改
agentaddress 192.168.56.105:161		#192.168.56.105为本机IP

配置其他平台系统redhat,aix时,不曾遇到这个问题。而且solaris系统默认snmp或者编译方式安装的net-snmp也没遇到这个问题。目前只有在solaris下用pkg包安装遇到了这个问题,供工大家参考。

7.3 snmpget: command not found

故障现象

# snmpget -v 1 -c cmsnmp 192.168.56.105 sysUpTime.0
-bash: snmpget: command not found

解决:

# find / -name snmpget
/opt/csw/bin/snmpget
/usr/sfw/bin/snmpget

# vi ~/.profile				#修改环境变量
在PATH路径中,添加:
/opt/csw/bin:

保存退出后,登出系统重新登录后生效。

猜你喜欢

转载自blog.csdn.net/m0_37862262/article/details/107387477