如何在SCO3.2V4.2和OSR5下安装配置SNMP
1、登录root帐户# mkdev snmp
2、编辑/etc/snmpd.conf
注意snmpd.conf中的descr和objid的内容都是固定的,不要修改
descr=SCO TCP/IP Runtime Release 2.0.0
objid=SCO.1.2.0.0
contact=Jeff Liebermann(改成你的名字)
location=Comix World Headquarters(改成你的位置)
3、编辑/etc/snmpd.comm
注释或删除所有带WRITE权限的行,缺省的community名字是"public".
例如:
# test1 0.0.0.0 READ
# test2 127.0.0.1 WRITE
public 0.0.0.0 READ
public是个口令(passwd). 如果考虑安全因素,应选择一个不同的community名字(password)
并将ip设置为本机127.0.0.1
例如:
secret 127.0.0.1 READ
这样只有在本机运行MIB browser能够读到SNMP的参数.用本机ip地址也能工作
4、编辑/etc/snmpd.peers
其中SCO提供的hostmib OID那行配置是错误的,应该修改,如下所示:
(OID正确, 但MIB用的是错误的OID, 所以原来hostmib的配置必须被换掉)
# "unixd" 1.3.6.1.4.1.4.3.1.2 "aintNoThing"
# "triald" 1.3.6.1.4.1.4.3.23.1 "aintNoThing"
# "gated" 1.3.6.1.4.1.4.3.23.2 "aintNoThing"
# "foosmuxd" 1.3.6.1.4.1.4.3.23.3 "mypasswd"
"scoDoctorMIB" 1.3.6.1.4.1.32.100.1.1 "mypasswd"
####"hostmib" 1.3.6.1.4.1.32.99.1 "aintNoThing"
"hostmib" 1.3.6.1.2.1.25 "aintNoThing"
前4行没有用,只需要最后一行hostmib. SCO配置的OID号码"...32.99.1"是错误的
5、编辑/etc/snmpd.trap
这时候应当没有任何traps.
6、确认snmp是否工作
执行命令# getmany localhost public iso
将看到有很多行信息,如果配置了hostmib,那么会列出来更多.
7、执行 # mkdev hostmib
选择install.
# ps -ef | grep smux
确认能看到有"/etc/smuxtcl /etc/sysadm.d/hostmib.tcl"
8、创建一个mib编号目标名称表:
# cd /etc/sysadm.d
# post_mosy -i hostmib.defs -o hostmib.dfn
SCO的SNMP包中缺少hostmib.dfn文件,但getone和getmany命令都需要利用这个文件来
输出OID编号对应的描述名称.
9、重起网络
执行 # /etc/rc2.d/S89hostmib stop 停止smux hostmib
# ps -e | grep snmpd 记下snmpd的pid
比如结果是 1176 ? 00:11 snmpd
那么snmpd的pid就是1176,
然后执行# kill -1 1176 让snmpd守护进程重新读入修改后的新配置
再执行 # /etc/rc2.d/S89hostmib start 重启动smux hostmib
10、测试
下面的测试命令例子中sloth是需要测试的机器名字,你需要修改为自己的机器名字。
getone -f /etc/sysadm.d/hostmib.dfn sloth public mib-2.25.1.6.0
getone -f /etc/sysadm.d/hostmib.dfn sloth public 1.3.6.1.2.1.25.1.6.0
getmany -f /etc/sysadm.d/hostmib.dfn sloth public hrSystemProcesses
getone -f /etc/sysadm.d/hostmib.dfn sloth public hrSystemProcesses.0
上述命令都应当返回当前正在运行的进程个数
检查SNMP状态的命令:/usr/bin/snmpstat -s sloth
11、Bugs
SNMP的"getmany"程序有1处bug,它不能处理long OID.
SCO 3.2v4.2、OSR5的5.0.0/5.0.2/5.0.4都有此问题.