| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta content="text/html; charset=ISO-8859-1" |
| http-equiv="content-type"> |
| <title>Configuration Overview</title> |
| </head> |
| <body> |
| <h1>Overview</h1> |
| Start by reading the <span style="font-weight: bold;">snmp_config</span> |
| manual page that describes how the |
| Net-SNMP configuration files operate and |
| how they all work together. Note: When using Windows, all |
| configuration files should be placed in the <span |
| style="font-weight: bold;">(install |
| folder)\etc\snmp</span> folder.<br> |
| <br> |
| <span style="font-weight: bold;">Note: The Net-SNMP configuration |
| files generally contain sensitive |
| information such as passphrases and community strings so permissions |
| should be set to restrict who can read the files.</span><br |
| style="font-weight: bold;"> |
| <br> |
| A Perl script called snmpconf is included which can be used to |
| create configuration files. Full documentation on using snmpconf |
| is available in the 'Applications' section.<br> |
| <br> |
| To run snmpconf, use the following command line:<br> |
| <br> |
| <span style="font-family: monospace; font-weight: bold;">snmpconf -i</span><br> |
| <h2>Environment / registry variables<br> |
| </h2> |
| During compilation of Net-SNMP, the default search path for |
| configuration files is set to a value which under Windows is normally <span |
| style="font-weight: bold;">c:/usr/etc/snmp</span>. Similarly the |
| default share path is set to <span style="font-weight: bold;">c:/usr/share/snmp</span>. |
| The conf path is used to locate configuration files such as <span |
| style="font-weight: bold;">snmp.conf</span>, <span |
| style="font-weight: bold;">snmpd.conf</span> etc, and the share path |
| is used by programs such as <span style="font-weight: bold;">snmpconf </span>and |
| <span style="font-weight: bold;">mib2c</span> to store supporting files.<br> |
| <br> |
| As explained in the <span style="font-weight: bold;">snmp_config</span> |
| manual, the default search path can be changed by modifying the <span |
| style="font-weight: bold;">SNMPCONFPATH </span>environment |
| variable. Similarly, the default share path can be set by |
| modifying the <span style="font-weight: bold;">SNMPSHAREPATH </span>environment |
| variable. <br> |
| <br> |
| There are two ways to set Net-SNMP environment variables under |
| Windows. The first way is to simply set the environment variable |
| using the System Control Panel (<span style="font-weight: bold;">Advanced</span> |
| tab - <span style="font-weight: bold;">Environment variables</span>). |
| The environment variables can be defined as either <span |
| style="font-weight: bold;">System </span>or <span |
| style="font-weight: bold;">User </span>specific. <span |
| style="font-weight: bold;">System </span>is the recommended choice as |
| it allows the variable to be used by all users.<br> |
| <br> |
| The second and preferred way is to add the environment variables as |
| string values (REG_SZ) to the registry under the |
| HKEY_LOCAL_MACHINE\Software\Net-SNMP or the |
| HKEY_CURRENT_USER\Software\Net-SNMP key. Creating a string value |
| with the environment variable name and assigning a string value to it |
| is equivalent to defining the environment variable. This is a |
| feature of Net-SNMP and not a standard Windows feature. Any |
| environment variable used by Net-SNMP can be defined this way; it is |
| not limited to just <span style="font-weight: bold;">SNMPCONFPATH</span> |
| and <span style="font-weight: bold;">SNMPSHAREPATH</span>.<br> |
| <br> |
| For example, if Net-SNMP was compiled to use <span |
| style="font-weight: bold;">c:\usr</span> (such as the Windows binary |
| available from the Net-SNMP site), but it was installed in the folder <span |
| style="font-weight: bold;">c:\Net-SNMP</span>, then the following |
| environment variables or registry keys must be created so that the |
| applications know where to find the configuration and supporting files:<br> |
| <br> |
| Method 1: Environment variables:<br> |
| <ul> |
| <li>SNMPCONFPATH=c:/Net-SNMP/etc/snmp;c:/Net-SNMP/snmp/persist</li> |
| <li>SNMPSHAREPATH=c:/Net-SNMP/share/snmp</li> |
| </ul> |
| Method 2: Registry:<br> |
| <ul> |
| <li>HKEY_LOCAL_MACHINE\Software\Net-SNMP\SNMPCONFPATH=c:/Net-SNMP/etc/snmp;c:/Net-SNMP/snmp/persist</li> |
| <li>HKEY_LOCAL_MACHINE\Software\Net-SNMP\SNMPSHAREPATH=c:/Net-SNMP/share/snmp</li> |
| </ul> |
| During the installation of the Windows binary from the Net-SNMP site, |
| the installer automatcially creates the following registry keys:<br> |
| <ul> |
| <li>HKEY_LOCAL_MACHINE\Software\Net-SNMP\SNMPCONFPATH=(install |
| folder)/etc/snmp;(install folder)/snmp/persist</li> |
| <li>HKEY_LOCAL_MACHINE\Software\Net-SNMP\SNMPSHAREPATH=(install |
| folder)/share/snmp</li> |
| </ul> |
| <div style="margin-left: 40px;"></div> |
| If Net-SNMP is installed in a folder other than the default <span |
| style="font-weight: bold;">c:\usr</span> folder, then the above |
| registry keys or environment variables must match, and the <span |
| style="font-weight: bold;">snmp.conf</span> |
| file must contain a definition for <span style="font-weight: bold;">mibdirs</span>, |
| <span style="font-weight: bold;">persistentDir </span>and <span |
| style="font-weight: bold;">tempFilePattern</span>. For example, |
| if Net-SNMP was installed in <span style="font-weight: bold;">c:\Net-SNMP</span>, |
| the snmp.conf file must contain:<br> |
| <br> |
| <div style="margin-left: 40px; font-family: monospace;">mibdirs |
| c:/net-snmp/share/snmp/mibs<br> |
| persistentDir c:/net-snmp/snmp/persist<br> |
| tempFilePattern c:/net-snmp/temp/snmpdXXXXXX<br> |
| </div> |
| <p>The registry is the recommended method for defining the <span |
| style="font-weight: bold;">SNMPCONFPATH </span>and <span |
| style="font-weight: bold;">SNMPSHAREPATH </span>variables. Due |
| to a |
| limitation in the Windows Service Control Manager (SCM), if any system |
| environment variables are changed, the system will need to be rebooted |
| to allow the services to access the changed environment variables (see |
| Microsoft knowledge base article 821761). Therefore, when running |
| <span style="font-weight: bold;">snmpd </span>or <span |
| style="font-weight: bold;">snmptrapd </span>as a service, if <span |
| style="font-weight: bold;">SNMPCONFPATH</span> or <span |
| style="font-weight: bold;">SNMPSHAREPATH</span> |
| is changed, a reboot will be required after setting the environment |
| variables, otherwise the services may fail to start. Using the |
| registry to store the environment variables eliminates this problem.<br> |
| </p> |
| <p><b>Note1: All paths contained in |
| configuration files must use forward |
| slashes (Unix convention), NOT back |
| slashes.</b></p> |
| <p><b>Note2:</b> HKEY_CURRENT_USER can be used instead of |
| HKEY_LOCAL_MACHINE if desired. All applications will search for |
| SNMPCONFPATH and SNMPSHAREPATH (and any other variable normally defined |
| as an environment variable) in the following order:<br> |
| </p> |
| <ul> |
| <li>Environment space</li> |
| <li>HKEY_CURRENT_USER\Software\Net-SNMP\</li> |
| <li>HKEY_LOCAL_MACHINE\Software\Net-SNMP\</li> |
| </ul> |
| <p></p> |
| <br> |
| </body> |
| </html> |