How to Install SNMP on SCO 3.2v4.2 and OSR5. by Jeff Liebermann (jeffl@comix.santa-cruz.ca.us) Latest version at: http://www.cruzio.com/~jeffl/snmp_install.txt 970124 Initial inscription 970125 Fixed trap explanation and various tweaks. 000312 Updated to latest security issues. Changed junk->dfn 1. Run: mkdev snmp 2. Edit: /etc/snmpd.conf This is mine. Do NOT change the descr and objid fields. descr=SCO TCP/IP Runtime Release 2.0.0 objid=SCO.1.2.0.0 contact=Jeff Liebermann location=Comix World Headquarters 3. Edit: /etc/snmpd.comm Comment out or remove any lines with WRITE permission. The default community name is "public". This is mine: # test1 0.0.0.0 READ # test2 127.0.0.1 WRITE public 0.0.0.0 READ Public is a password. If security is an issue, pick a different community name (password) and set the IP address for the local host (127.0.0.1) only as in: secret 127.0.0.1 READ so that only MIB browser running on the local machine can read SNMP parameters. Using the local machine IP address will also work. 4. Edit: /etc/snmpd.peers The SCO supplied configuration hostmib OID is wrong. (Actually, the OID is correct, but the MIB is compiled with the wrong OID. Therefore, the hostmib line must be tweaked to compensate. See the corrected hostmib OID line below. This is mine: # "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" The first 4ea lines don't do anything. Only the last hostmib line is really necessary. Note the change in OID number. The SCO supplied ...32.99.1 is wrong. 5. Edit: /etc/snmpd.trap No traps should be set at this time. 6. Verify that SNMP is working with: getmany localhost public iso which belches everything in the tree. When the hostmib is grafted onto the tree, the list will grow substantially. 7. Run: mkdev hostmib Select install. Verify that the line: /etc/smuxtcl /etc/sysadm.d/hostmib.tcl is in the process table with: ps -ef | grep smux 8. Create a table of object names to mib numbers with: cd /etc/sysadm.d post_mosy -i hostmib.defs -o hostmib.dfn The hostmib.dfn file was missing from the SCO SNMP distributions and is required for the getone and getmany commands to belch descriptive names instead of cryptic numeric only OID's. 8. Shutdown and restart networking with: /etc/rc2.d/S89hostmib stop # stop smux hostmib ps -e | grep snmpd # get PID for snmpd 1176 ? 00:11 snmpd # typical ps -e output line ^^^^---PID kill -1 1176 # tell snmpd to re-read config files. /etc/rc2.d/S89hostmib start # restart smux hostmib 9. Test with: 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 These should all identically return the number of processes currently being run. (Why doesn't smuxtcl program read the text definitions into memory like the RFC1155-SMI stuff?) Sloth is the name of my test machine. SNMP status is displayed with: /usr/bin/snmpstat -s sloth 10. Bugs: The SNMP "getmany" program has a bug in its inability to handle long OID's. My guess is that the super long NT OID's below are overrunning a fixed length buffer of insufficient length. The following was run on 3.2v4.2 with tcp/ip 1.2.1 with net382e. The exact same problem appears with getmany on 3.2v5.0.0, 3.2v5.0.2, and 3.2v5.0.4. The target machine (bloat) is an NT4.0 SP3 server. The equivalent mib walker command under Linux 2.0.30 (snmpwalk) from CMU_SNMP works fine so it's not NT that's causing this problem. According to "The Simple Book" by Marshall Rose, the maximum length for an OID is 128 fields which is far more than "getmany" will apparently tolerate. # getmany nt4server public iso (...trimmed...) Name: enterprises.77.1.2.3.1.1.27.71.97.116.101.119.97.121.32.83.101.114.118.105 .99.101.32.102.111.114.32.78.101.116.87.97.114.101 Value: Gateway Service for NetWare Name: enterprises.77.1.2.3.1.1.30.82.101.109.111.116.101.32.65.99.99.101.115.115 .32.65.117.116.111.100.105.97.108.32.77.97.110.97.103.10 Value: Remote Access Autodial Manager Memory fault(coredump) 11. For displaying SNMP derived values, I recomment MRTG (Mutli Router Traffic Grapher) at: http://www.ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html It compiles and runs nicely under 3.2v4.2 and 3.2v5.0.x. There are numerous examples of the output all over the web.