Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ snmpd(8) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

SNMPD(8)  —  NEWS-OS Programmer’s Manual

NAME

snmpd - SNMP server (agent) for UNIX gateways and hosts

SYNOPSIS

snmpd [-d debuglevel logfile]

DESCRIPTION

snmpd is a server which performs SNMP operations on a UNIX gateway or host.  snmpd sits in the background and listens on SNMP port 161.  An entry in the service file "/etc/services" must be made for snmpd to start up properly.  When an SNMP packet is received by snmpd from a Network Operations Center (NOC), snmpd performs SNMP operations on the packet as specified in RFC 1157 and returns a valid response to the NOC.  snmpd extracts much of its information from kernel memory.  Certain variables can also be retrieved via various UNIX daemons.  Static variables whose values are not available in the kernel take values from a configuration file.  The configuration file is usually /etc/snmpd.conf, but can be changed at compile time.  snmpd conforms to RFC 1157 (Simple Network Management Protocol) and provides management variables specified in RFC 1158 (Management Information Base [MIB-II]). 

COMMAND LINE ARGUMENTS

snmpd logs all of its error messages via syslog, but certain debugging and trace information can be obtained by setting the appropriate debug level on the command line during start up.  You can do this by specifying the -d flag followed by a <debuglevel> and a <logfile>.  The maximum debug level is 9.  The debug output will be written to <logfile>.  The current debug levels are:

1Print version number, start time, and exit time of snmpd.  Also print out when an SNMP packet is received, the address of the sender, and the size of the packet in bytes. 

2Print out what has been read from the configuration file. 

3Dump the SNMP packet that we have just received and are about to process.  Also print out the route or interface address we are currently trying to look up.  This level also dumps the SNMP packet that the server is sending back in response to a received SNMP message. 

4Dump the snmpd variable tree.  Also, print out the static bootstrap array of tree information. 

When a debug level is set, the debug output includes the information which can be gathered from all of the debug levels below the debug level you specify.  If no debug levels are turned on, snmpd will detach itself from the controlling terminal and go into the background.  A log file must be specified when debugging is used. 

CONFIGURATION FILE PARAMETERS

1sysdescr <ID string> When specified, the <ID string> is given as the value of the _mgmt_mib_system_sysDescr variable.  If this is not specified in the configuration file, the default value is used. This value should be set as your site. 

2syscontact <ID string> When specified, the <ID string> is given as the value of the _mgmt_mib_system_sysContact variable.  If this is not specified in the configuration file, no value is returned. This value should be set as your site. 

3syslocation <ID string> When specified, the <ID string> is given as the value of the _mgmt_mib_system_sysLocation variable.  If this is not specified in the configuration file, no value is returned. This value should be set as your site. 

4sysservices <bit> When specified, the <ID string> is given as the value of the _mgmt_mib_system_sysService variable.  If this is not specified in the configuration file, no value is returned. This value should NOT be changed. 

5interface speed <name> <speed> Describes a value for the MIB variable defined as _mgmt_mib_interfaces_ifTable_ifEntry_ifSpeed.  <name> must be a UNIX interface name like "ie0" or "de1".  <speed> is a decimal number describing the speed of the link in bits per second.  If this is not specified, snmpd will not return this variable and will mark it as not available. 

6interface type <name> <type> Describes a value for the MIB variable in the interface table defined as _mgmt_mib_interfaces_ifTable_ifEntry_ifType.  <name> must be a UNIX interface name like "ie0" or "de1".  <type> is a decimal number which describes the type of the interface.  The appropriate type number for the interface can be found in the MIB RFC 1156, page 13.  If this is not specified, snmpd will not return this variable and will mark it as not available. 

7tcprtoalgorithm <algorithm type> Describes a value for the MIB variable in the TCP group defined as _mgmt_mib_tcp_tcpRtoAlgorithm.  This variable defines the Retransmission Time-Out Algorithm your machine is using.  <algorithm type> is a numeric code which represents the type of RTO algorithm you are using.  The code numbers can be found in RFC 1156, on page 52.  If this is not specified, snmpd will not return this variable and will mark it as not available. 

8community <name> <address> {read-only | read-write | This describes a SNMP community for the server.  <name> is a string describing the name of the community.  <address> is an internet address in dot notation.  Only SNMP packets coming from <address> will be accepted.  If 0.0.0.0 is specified in the <address> field, any address can use the community.  The last parameter on the line indicates flags describing the community type.  Three types of communities are supported.  "read-only" means that this community will only permit the monitoring of variables.  "read-write" means that this community will permit monitoring and setting of variables.  "traps" means that this community will generate traps when it is appropriate and send them to the specified address with the specified community name.  If no SNMP communities are specified, then snmpd will not respond to any SNMP packets.  Illegal uses of communities are logged via syslog.  To limit the use of a community to a finite group of machines, but still more than one machine, you may specify another community clause with the same community <name> and different address. 

Examples of describing communities: community bignoc192.33.4.44read-only
community bignoc192.33.4.10read-only
community public0.0.0.0read-only
community mytest128.84.253.200read-only
community trap1192.33.4.44traps
community trap1192.33.4.10traps
community trap210.4.0.15traps

In the examples above, community "bignoc" can be used by either 192.33.4.44 or 192.33.4.10.  Session "public" can be used by anyone, and community "mytest" can only be used by 128.84.253.200.  All of the communities above do not permit the setting of variables as the read-only flag is set.  When a trap is generated, it is sent to 192.33.4.44 and 192.33.4.10 with community name "trap1".  A trap is also sent to 10.4.0.15 with community name "trap2".  It is assumed that these destination addresses have a trap catcher to handle the traps.  See snmptrapd(1). 

SNMP TRAP SUPPORT

SNMP traps are supported by snmpd.  Two trap types are currently supported.  The "Cold Start" trap type is generated by snmpd when snmpd is restarted.  The "Authentication Failure" trap type is generated when an attempt at using a community fails.  This happens when an unauthorized client tries to use snmpd or the community is used in a way that the community type does not allow.  Traps are sent to all communities specified in the configuration file with a community type of "traps".  no_authen_traps When this clause is specified in the configuration file, traps of type "Authentication Failure" will not be generated.  The default is for snmpd to generate Authentication Failure traps. 

SNMP SETS

The mechanism for the setting of management variables as specified in RFC 1157 has been added to snmpd.  When snmpd receives a set-request packet, it processes the variables in the packet and verifies that they are valid read-write variables.  While performing this verification, snmpd constructs a linked list of the set requests.  When the verification is done, the actual set operations are performed on the variables "as if they were performed simultaneously".  If any actual set operation should fail, all previously set variables from the set-request packet are restored to their old values.  Details of the set-request processing can be found in RFC 1157.  Currntly settable variables are :

1sysContact

2sysName

3ifAdminStatus

4snmpEnableAuthTraps

SNMP VARIABLES SUPPORTED

snmpd supports the variables in the MIB RFC 1158.  UNIX kernel mods will be needed to bring this percentage up to 100%.  The kernel mods needed have not been made and are not available at this time.  Certain variables in the MIB are not kept in the UNIX kernel, but stored in application level system programs.  An example of this is the routing daemon on a UNIX gateway.  Snmpd has been modified to extract information from UNIX daemons.  Currently, only support for this data retrieval has been added to the gated routing daemon.  Because of this, snmpd can now retrieve information about the EGP group and ipRoutingTable variables of the MIB.  Modifications to the gated distribution are included in the SNMP distribution server directory. 

BUGS

Not all of the MIB variables are supported because the UNIX kernel does not provide them.  Look for a refinement of the set processing and support for more settable variables in future releases. 

FILES

/etc/snmpd.confThe configuration file
/etc/snmpd.pidThe process id of snmpd

SEE ALSO

J.D. Case, J.R. Davin, M.S. Fedor, M.L. Schoffstall, Simple Network Management Protocol, Request for Comments 1157, Network Information Center, SRI International, Menlo Park, California, May, 1990.  M.T. Rose, K. McCloghrie, Structure of Management Information, Request for Comments 1155, Network Information Center, SRI International, Menlo Park, California, May, 1990.  K. McCloghrie, M.T. Rose, Management Information Base, Request for Comments 1156, Network Information Center, SRI International, Menlo Park, California, May, 1990.  M.T. Rose, Editor Management Information Base: MIB-II, Request for Comments 1158, Network Information Center, SRI International, Menlo Park, California, May, 1990. 

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026