Provided by: libsnmp-base_220.127.116.11-4ubuntu2_all
snmp_config - handling of Net-SNMP configuration files
The Net-SNMP package uses various configuration files to configure its
applications. This manual page merely describes the overall nature of
them, so that the other manual pages don’t have to.
First off, there are numerous places that configuration files can be
found and read from. By default, the applications look for
configuration files in the following 4 directories, in order:
/etc/snmp, /etc/snmp, /usr/lib/snmp, and $HOME/.snmp. In each of these
directories, it looks for files with the extension of both conf and
local.conf (reading the second ones last). In this manner, there are 8
default places a configuration file can exist for any given
configuration file type.
Additionally, the above default search path can be overridden by
setting the environment variable SNMPCONFPATH to a colon-separated list
of directories to search for.
Finally, applications that store persistent data will also look in the
/var/lib/snmp directory for configuration files there.
CONFIGURATION FILE TYPES
Each application may use multiple configuration files, which will
configure various different aspects of the application. For instance,
the SNMP agent (snmpd) knows how to understand configuration directives
in both the snmpd.conf and the snmp.conf files. In fact, most
applications understand how to read the contents of the snmp.conf
files. Note, however, that configuration directives understood in one
file may not be understood in another file. For further information,
read the associated manual page with each configuration file type.
Also, most of the applications support a -H switch on the command line
that will list the configuration files it will look for and the
directives in each one that it understands.
The snmp.conf configuration file is intended to be a application suite
wide configuration file that supports directives that are useful for
controlling the fundamental nature of all of the SNMP applications,
such as how they all manipulate and parse the textual SNMP MIB files.
SWITCHING CONFIGURATION TYPES IN MID-FILE
It’s possible to switch in mid-file the configuration type that the
parser is supposed to be reading. Since that sentence doesn’t make
much sense, lets give you an example: say that you wanted to turn on
packet dumping output for the agent by default, but you didn’t want to
do that for the rest of the applications (ie, snmpget, snmpwalk, ...).
Normally to enable packet dumping in the configuration file you’d need
to put a line like:
into the snmp.conf file. But, this would turn it on for all of the
applications. So, instead, you can put the same line in the snmpd.conf
file so that it only applies to the snmpd daemon. However, you need to
tell the parser to expect this line. You do this by putting a special
type specification token inside a  set. In other words, inside your
snmpd.conf file you could put the above snmp.conf directive by adding a
line like so:
[snmp] dumpPacket true
This tells the parser to parse the above line as if it were inside a
snmp.conf file instead of an snmpd.conf file. If you want to parse a
bunch of lines rather than just one then you can make the context
switch apply to the remainder of the file or until the next context
switch directive by putting the special token on a line by itself:
# make this file handle snmp.conf tokens:
# return to our original snmpd.conf tokens:
Any lines beginning with the character ’#’ in the configuration files
are treated as a comment and are not parsed.
Information about writing C code that makes use of this system in
either the agent’s MIB modules or in applications can be found in the
read_config(3) manual page.