3 # Example configuration file for bsnmpd(1).
7 # Set some common variables
10 contact := "sysmeister@example.com"
16 # Set the SNMP engine ID.
18 # The snmpEngineID object required from the SNMPv3 Framework. If not explicitly set via
19 # this configuration file, an ID is assigned based on the value of the
20 # kern.hostid variable
21 # engine := 0x80:0x10:0x08:0x10:0x80:0x25
22 # snmpEngineID = $(engine)
26 # Uncomment begemotSnmpdCommunityString.0.2 below that sets the community
27 # string to enable write access.
32 # Declarations for SNMP-USER-BASED-SM-MIB authentication and privacy options
35 NoAuthProtocol := 1.3.6.1.6.3.10.1.1.1
36 HMACMD5AuthProtocol := 1.3.6.1.6.3.10.1.1.2
37 HMACSHAAuthProtocol := 1.3.6.1.6.3.10.1.1.3
38 NoPrivProtocol := 1.3.6.1.6.3.10.1.2.1
39 DESPrivProtocol := 1.3.6.1.6.3.10.1.2.2
40 AesCfb128Protocol := 1.3.6.1.6.3.10.1.2.4
43 # Enumerations from SNMP-FRAMEWORK-MIB
48 securityModelSNMPv1 := 1
49 securityModelSNMPv2c := 2
52 # Message Processing models
63 # SNMPv3 USM User definition
65 # The localized hex password for a user may be obtained by setting SNMPUSER, SNMPPASSWD,
66 # SNMPAUTH and SNMPPRIV environment variables to the desired parameters and invoking
67 # 'bsnmpget -v 3 -D -K -o verbose' against the running bsnmpd(1). For other
68 # usages refer to the bsnmpget(1) manual page. The following lines define a user "bsnmp"
69 # with a private password "bsnmptest", localized for the above engine ID.
72 #user1passwd := 0x22:0x98:0x1a:0x6e:0x39:0x93:0x16:0x5e:0x6a:0x21:0x1b:0xd8:0xa9:0x81:0x31:0x05:0x16:0x33:0x38:0x60
78 begemotSnmpdDebugDumpPdus = 2
79 begemotSnmpdDebugSyslogPri = 7
82 # Set the read and write communities.
84 # The default value of the community strings is NULL (note, that this is
85 # different from the empty string). This disables both read and write access.
86 # To enable read access only the read community string must be set. Setting
87 # the write community string enables both read and write access with that
90 # Be sure to understand the security implications of SNMPv2 - the community
91 # strings are readable on the wire!
93 begemotSnmpdCommunityString.0.1 = $(read)
94 # begemotSnmpdCommunityString.0.2 = $(write)
95 begemotSnmpdCommunityDisable = 1
97 # open standard SNMP ports
98 begemotSnmpdPortStatus.0.0.0.0.161 = 1
100 # open a unix domain socket
101 begemotSnmpdLocalPortStatus."/var/run/snmpd.sock" = 1
102 begemotSnmpdLocalPortType."/var/run/snmpd.sock" = 4
104 # send traps to the traphost
105 begemotTrapSinkStatus.[$(traphost)].$(trapport) = 4
106 begemotTrapSinkVersion.[$(traphost)].$(trapport) = 2
107 begemotTrapSinkComm.[$(traphost)].$(trapport) = $(trap)
109 sysContact = $(contact)
110 sysLocation = $(location)
111 sysObjectId = 1.3.6.1.4.1.12325.1.1.2.1.$(system)
113 snmpEnableAuthenTraps = 2
115 # Uncomment `begemotSnmpdModulePath.".." = ".."' entries below to enable
119 # Control configuration for the modules in the module specific sections, e.g.
120 # the "usm" module (begemotSnmpdModulePath."usm") can be controlled in the
121 # %usm specific section. You must uncomment the section specific header in
122 # order to use the enclosed variables, e.g. `usmUserStatus.$(engine).$(user1)`
123 # can only be used if %usm is uncommented.
125 # Modules are loaded in the order listed, so they must be before any
126 # dependent modules, e.g. "mibII" vs "bridge".
132 begemotSnmpdModulePath."mibII" = "/usr/lib/snmp_mibII.so"
136 # This requires the mibII module.
138 #begemotSnmpdModulePath."bridge" = "/usr/lib/snmp_bridge.so"
141 # Host resources module
142 # This requires the mibII module.
144 #begemotSnmpdModulePath."hostres" = "/usr/lib/snmp_hostres.so"
149 #begemotSnmpdModulePath."lm75" = "/usr/lib/snmp_lm75.so"
154 #begemotSnmpdModulePath."netgraph" = "/usr/lib/snmp_netgraph.so"
159 #begemotSnmpdModulePath."pf" = "/usr/lib/snmp_pf.so"
162 # SNMPv3 Notification Targets
164 # begemotSnmpdModulePath."target" = "/usr/lib/snmp_target.so"
167 # SNMPv3 User-based security module - must be loaded for SNMPv3 USM
169 #begemotSnmpdModulePath."usm" = "/usr/lib/snmp_usm.so"
172 # SNMPv3 View-based Access Control module
174 #begemotSnmpdModulePath."vacm" = "/usr/lib/snmp_vacm.so"
178 # This requires the mibII module.
180 #begemotSnmpdModulePath."wlan" = "/usr/lib/snmp_wlan.so"
183 # SNMPv3 USM User definition.
189 # The following block creates a user with name "bsnmp" and sets privacy
190 # and encryption options to SHA256 message digests and AES encryption
193 # usmUserStatus.$(engine).$(user1) = 5
194 # usmUserAuthProtocol.$(engine).$(user1) = $(HMACSHAAuthProtocol)
195 # usmUserAuthKeyChange.$(engine).$(user1) = $(user1passwd)
196 # usmUserPrivProtocol.$(engine).$(user1) = $(AesCfb128Protocol)
197 # usmUserPrivKeyChange.$(engine).$(user1) = $(user1passwd)
198 # usmUserStatus.$(engine).$(user1) = 1
202 # The following block creates a user with name "public" with no authentication
203 # or encryption options.
205 # usmUserStatus.$(engine).$(read) = 5
206 # usmUserAuthProtocol.$(engine).$(read) = $(NoAuthProtocol)
207 # usmUserPrivProtocol.$(engine).$(read) = $(NoPrivProtocol)
208 # usmUserStatus.$(engine).$(read) = 1
212 # Definition of view-based access control entries.
216 # Definition of a SNMPv1 group
217 # vacmSecurityToGroupStatus.$(securityModelSNMPv1).$(read) = 4
218 # vacmGroupName.$(securityModelSNMPv1).$(read) = $(read)
220 # Definition of SNMPv2 group
221 # vacmSecurityToGroupStatus.$(securityModelSNMPv2c).$(write) = 4
222 # vacmGroupName.$(securityModelSNMPv2c).$(write) = $(write)
224 # Definition of SNMPv3 group with users "bsnmp" and "public"
225 # vacmSecurityToGroupStatus.$(securityModelUSM).$(user1) = 4
226 # vacmGroupName.$(securityModelUSM).$(user1) = $(write)
227 # vacmSecurityToGroupStatus.$(securityModelUSM).$(read) = 4
228 # vacmGroupName.$(securityModelUSM).$(read) = $(write)
231 # The OID of the .iso.org.dod.internet subtree
233 # internetoid := 1.3.6.1
234 # internetoidlen := 4
237 # Definitions of two views
239 # vacmViewTreeFamilyStatus."internet".$(internetoidlen).$(internetoid) = 4
240 # vacmViewTreeFamilyStatus."restricted".$(internetoidlen).$(internetoid) = 4
247 # Read-only access for SNMPv1 users
249 # vacmAccessStatus.$(read)."".$(securityModelSNMPv1).$(noAuthNoPriv) = 4
250 # vacmAccessReadViewName.$(read)."".$(securityModelSNMPv1).$(noAuthNoPriv) = "internet"
253 # Read-write access for SNMPv2 users
255 # vacmAccessStatus.$(write)."".$(securityModelSNMPv2c).$(noAuthNoPriv) = 4
256 # vacmAccessReadViewName.$(write)."".$(securityModelSNMPv2c).$(noAuthNoPriv) = "internet"
257 # vacmAccessWriteViewName.$(write)."".$(securityModelSNMPv2c).$(noAuthNoPriv) = "internet"
260 # Read-write-notify access for SNMPv3 USM users with noAuthNoPriv
262 # vacmAccessStatus.$(write)."".3.$(noAuthNoPriv) = 4
263 # vacmAccessReadViewName.$(write)."".$(securityModelUSM).$(noAuthNoPriv) = "internet"
264 # vacmAccessWriteViewName.$(write)."".$(securityModelUSM).$(noAuthNoPriv) = "internet"
265 # vacmAccessNotifyViewName.$(write)."".$(securityModelUSM).$(noAuthNoPriv) = "internet"
268 #Read-write-notify access to restricted for SNMPv3 USM users with authPriv
270 # vacmAccessStatus.$(write)."".$(securityModelUSM).$(authPriv) = 4
271 # vacmAccessReadViewName.$(write)."".$(securityModelUSM).$(authPriv) = "restricted"
272 # vacmAccessWriteViewName.$(write)."".$(securityModelUSM).$(authPriv) = "restricted"
273 # vacmAccessNotifyViewName.$(write)."".$(securityModelUSM).$(authPriv) = "restricted"
276 # Send notifications to target tag "test"
278 # snmpNotifyRowStatus.$(tag) = 4
279 # snmpNotifyTag.$(tag) = $(tag)
281 # tagremote := "testremote"
282 # snmpNotifyRowStatus.$(tagremote) = 4
283 # snmpNotifyTag.$(tagremote) = $(tagremote)
286 # Specify the target parameters for the notifications - send with the credentials
289 # snmpTargetParamsRowStatus.$(tag) = 5
290 # snmpTargetParamsMPModel.$(tag) = $(MPmodelSNMPv3)
291 # snmpTargetParamsSecurityModel.$(tag) = $(securityModelUSM)
292 # snmpTargetParamsSecurityName.$(tag) = $(user1)
293 # snmpTargetParamsSecurityLevel.$(tag) = $(authPriv)
294 # snmpTargetParamsRowStatus.$(tag) = 1
297 # Define the notifications' target address - port 162 on localhost
299 # snmpTargetAddrRowStatus.$(tag) = 5
300 # snmpTargetAddrTAddress.$(tag) = 0x7f:0x0:0x0:0x1:0x0:0xa2
301 # snmpTargetAddrTagList.$(tag) = "test notification"
302 # snmpTargetAddrParams.$(tag) = $(tag)
303 # snmpTargetAddrRowStatus.$(tag) = 1
306 # Define the notifications' target address - port 162 on 10.0.0.1
308 # snmpTargetAddrRowStatus.$(tagremote) = 5
309 # snmpTargetAddrTAddress.$(tagremote) = 0x0a:0x00:0x00:0x1:0x0:0xa2
310 # snmpTargetAddrTagList.$(tagremote) = $(tagremote)
311 # snmpTargetAddrParams.$(tagremote) = $(tag)
312 # snmpTargetAddrRowStatus.$(tagremote) = 1
314 # Force a polling rate for the 64-bit interface counters in case
315 # the automatic computation is wrong (which may be the case if an interface
316 # announces the wrong bit rate via its MIB).
318 #begemotIfForcePoll = 2000
321 #begemotNgControlNodeName = "snmpd"