DESCRIPTION
The Net-SNMP package uses various configuration files to configure its applications. This reference page merely describes the overall nature of them, so that the other reference pages don't have to.
DIRECTORIES SEARCHED
Configuration files can be found and read from numerous locations. By default, the applications look for configuration files in the following 4 directories, in order: ROOTDIR/etc/snmp, ROOTDIR/usr/share/snmp,ROOTDIR/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. The path for the persistent data should be included when running applications that use persistent storage, such as snmpd.
Applications will read persistent configuration files in the following order of preference:
file in SNMP_PERSISTENT_FILE environment variable directories in SNMPCONFPATH environment variable directory defined by persistentDir snmp.conf variable directory in SNMP_PERSISTENT_DIR environment variable default ROOTDIR/usr/snmp/persist directory
Finally, applications will write persistent configuration files in the following order of preference:
file in SNMP_PERSISTENT_FILE environment variable directory defined by persistentDir snmp.conf variable directory in SNMP_PERSISTENT_DIR environment variable default ROOTDIR/usr/SNMP/PERSIST directory
Note: When using SNMP_PERSISTENT_FILE, the filename should match the application name. For example, ROOTDIR/var/net-snmp/snmpd.conf.
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 reference page with each configuration file type.
Also, most of the applications support a
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 (that is, snmpget, snmpwalk, ...). Normally to enable packet dumping in the configuration file you'd need to put a line like:
dumpPacket true
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: [snmp] dumpPacket true logTimestamp true # return to our original snmpd.conf tokens: [snmpd] rocommunity mypublic
The same approach can be used to set configuration directives for a particular client application (or group of applications). For example, any program that uses the 'snmp_parse_args()' call to handle command-line arguments (including the standard command-line tools shipped as part of the Net-SNMP distributions) will automatically read the config file 'snmpapp.conf'. To set library-level settings for these applications (but not other more-specific tools), use configuration such as the following:
[snmp] defCommunity myCommunity
for a single directive, or
# make this file handle snmp.conf tokens: [snmp] defCommunity myCommunity defCommunity myCommunity defVersion 2c # return to our original snmpapp.conf tokens: [snmpapp]
for multiple settings. Similarly for any other application token (as
passed to
COMMENTS
Any lines beginning with the character # in the configuration files are treated as a comment and are not parsed.
INCLUDING OTHER CONFIGURATION FILES
It is possible to include other configuration files for processing during normal configuration file processing.:
# include site specific config include site.conf
This will search every directory in the configuration path for files named site.conf, and will process those files before returning to the processing of the original file. Note that if .conf is omitted, it will be appended. That is, all configuration files must end in .conf.
PORTABILITY
All UNIX systems. Windows 10. Windows Server 2016. Windows Server 2019. Windows 11. Windows Server 2022. Windows Server 2025.
AVAILABILITY
PTC MKS Toolkit for System Administrators
PTC MKS Toolkit for Developers
PTC MKS Toolkit for Interoperability
PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition
PTC MKS Toolkit 10.5 Documentation Build 40.