xref: /freebsd/usr.sbin/bsnmpd/bsnmpd/snmpd.config (revision 2f513db7)
1# $FreeBSD$
2#
3# Example configuration file for bsnmpd(1).
4#
5
6#
7# Set some common variables
8#
9location := "Room 200"
10contact := "sysmeister@example.com"
11system := 1	# FreeBSD
12traphost := localhost
13trapport := 162
14
15#
16# Set the SNMP engine ID.
17#
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)
23
24# Change this!
25read := "public"
26# Uncomment begemotSnmpdCommunityString.0.2 below that sets the community
27# string to enable write access.
28write := "geheim"
29trap := "mytrap"
30
31#
32# Declarations for SNMP-USER-BASED-SM-MIB authentication and privacy options
33#
34
35NoAuthProtocol		:= 1.3.6.1.6.3.10.1.1.1
36HMACMD5AuthProtocol	:= 1.3.6.1.6.3.10.1.1.2
37HMACSHAAuthProtocol	:= 1.3.6.1.6.3.10.1.1.3
38NoPrivProtocol		:= 1.3.6.1.6.3.10.1.2.1
39DESPrivProtocol		:= 1.3.6.1.6.3.10.1.2.2
40AesCfb128Protocol	:= 1.3.6.1.6.3.10.1.2.4
41
42#
43# Enumerations from SNMP-FRAMEWORK-MIB
44#
45
46# Security models
47securityModelAny	:= 0
48securityModelSNMPv1	:= 1
49securityModelSNMPv2c	:= 2
50securityModelUSM	:= 3
51
52# Message Processing models
53MPmodelSNMPv1		:= 0
54MPmodelSNMPv2c		:= 1
55MPmodelSNMPv3		:= 3
56
57# Security levels
58noAuthNoPriv := 1
59authNoPriv := 2
60authPriv := 3
61
62
63# SNMPv3 USM User definition
64#
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.
70#
71#user1 := "bsnmp"
72#user1passwd := 0x22:0x98:0x1a:0x6e:0x39:0x93:0x16:0x5e:0x6a:0x21:0x1b:0xd8:0xa9:0x81:0x31:0x05:0x16:0x33:0x38:0x60
73
74#
75# Configuration
76#
77%snmpd
78begemotSnmpdDebugDumpPdus	= 2
79begemotSnmpdDebugSyslogPri	= 7
80
81#
82# Set the read and write communities.
83#
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
88# string.
89#
90# Be sure to understand the security implications of SNMPv2 - the community
91# strings are readable on the wire!
92#
93begemotSnmpdCommunityString.0.1	= $(read)
94# begemotSnmpdCommunityString.0.2	= $(write)
95# begemotSnmpdCommunityString.0.3	= "otherPublic"
96begemotSnmpdCommunityDisable	= 1
97
98# open standard SNMP ports
99begemotSnmpdTransInetStatus.1.4.0.0.0.0.161.1 = 4
100begemotSnmpdTransInetStatus.2.16.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.161.1 = 4
101
102# UDP over IPv4: 127.0.0.1:161
103# begemotSnmpdTransInetStatus.1.4.127.0.0.1.161.1 = 4
104
105# UDP over IPv6: ::1:161
106# begemotSnmpdTransInetStatus.2.16.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.161.1 = 4
107
108# Use domain name and IPv6 link-local address with scope zone id as address
109# begemotSnmpdTransInetStatus.16."localhost".161.1 = 4
110# begemotSnmpdTransInetStatus.16."fe80::1%em0".161.1 = 4
111
112# open a unix domain socket
113begemotSnmpdLocalPortStatus."/var/run/snmpd.sock" = 1
114begemotSnmpdLocalPortType."/var/run/snmpd.sock" = 4
115
116# send traps to the traphost
117begemotTrapSinkStatus.[$(traphost)].$(trapport) = 4
118begemotTrapSinkVersion.[$(traphost)].$(trapport) = 2
119begemotTrapSinkComm.[$(traphost)].$(trapport) = $(trap)
120
121sysContact	= $(contact)
122sysLocation	= $(location)
123sysObjectId 	= 1.3.6.1.4.1.12325.1.1.2.1.$(system)
124
125snmpEnableAuthenTraps = 2
126
127# Uncomment `begemotSnmpdModulePath.".." = ".."' entries below to enable
128# modules
129
130#
131# Control configuration for the modules in the module specific sections, e.g.
132# the "usm" module (begemotSnmpdModulePath."usm") can be controlled in the
133# %usm specific section. You must uncomment the section specific header in
134# order to use the enclosed variables, e.g. `usmUserStatus.$(engine).$(user1)`
135# can only be used if %usm is uncommented.
136#
137# Modules are loaded in the order listed, so they must be before any
138# dependent modules, e.g. "mibII" vs "bridge".
139#
140
141#
142# MIB-2 module
143#
144begemotSnmpdModulePath."mibII"	= "/usr/lib/snmp_mibII.so"
145
146#
147# Bridge module
148#  This requires the mibII module.
149#
150#begemotSnmpdModulePath."bridge" = "/usr/lib/snmp_bridge.so"
151
152#
153# Host resources module
154#  This requires the mibII module.
155#
156#begemotSnmpdModulePath."hostres" = "/usr/lib/snmp_hostres.so"
157
158#
159# LM75 Sensor module
160#
161#begemotSnmpdModulePath."lm75" = "/usr/lib/snmp_lm75.so"
162
163#
164# Netgraph module
165#
166#begemotSnmpdModulePath."netgraph" = "/usr/lib/snmp_netgraph.so"
167
168#
169# pf(4) module
170#
171#begemotSnmpdModulePath."pf"	= "/usr/lib/snmp_pf.so"
172
173#
174# SNMPv3 Notification Targets
175#
176# begemotSnmpdModulePath."target"	= "/usr/lib/snmp_target.so"
177
178#
179# SNMPv3 User-based security module - must be loaded for SNMPv3 USM
180#
181#begemotSnmpdModulePath."usm"	= "/usr/lib/snmp_usm.so"
182
183#
184# SNMPv3 View-based Access Control module
185#
186#begemotSnmpdModulePath."vacm"	= "/usr/lib/snmp_vacm.so"
187
188#
189# Wireless module
190#  This requires the mibII module.
191#
192#begemotSnmpdModulePath."wlan" = "/usr/lib/snmp_wlan.so"
193
194#
195# SNMPv3 USM User definition.
196#
197
198#%usm
199
200#
201# The following block creates a user with name "bsnmp" and sets privacy
202# and encryption options to SHA256 message digests and AES encryption
203# for this user.
204#
205# usmUserStatus.$(engine).$(user1) = 5
206# usmUserAuthProtocol.$(engine).$(user1) = $(HMACSHAAuthProtocol)
207# usmUserAuthKeyChange.$(engine).$(user1) = $(user1passwd)
208# usmUserPrivProtocol.$(engine).$(user1) = $(AesCfb128Protocol)
209# usmUserPrivKeyChange.$(engine).$(user1) = $(user1passwd)
210# usmUserStatus.$(engine).$(user1) = 1
211#
212
213#
214# The following block creates a user with name "public" with no authentication
215# or encryption options.
216#
217# usmUserStatus.$(engine).$(read) = 5
218# usmUserAuthProtocol.$(engine).$(read) = $(NoAuthProtocol)
219# usmUserPrivProtocol.$(engine).$(read) = $(NoPrivProtocol)
220# usmUserStatus.$(engine).$(read) = 1
221#
222
223#
224# Definition of view-based access control entries.
225#
226#%vacm
227
228# Definition of a SNMPv1 group
229# vacmSecurityToGroupStatus.$(securityModelSNMPv1).$(read) = 4
230# vacmGroupName.$(securityModelSNMPv1).$(read) = $(read)
231
232# Definition of SNMPv2 group
233# vacmSecurityToGroupStatus.$(securityModelSNMPv2c).$(write) = 4
234# vacmGroupName.$(securityModelSNMPv2c).$(write) = $(write)
235
236# Definition of SNMPv3 group with users "bsnmp" and "public"
237# vacmSecurityToGroupStatus.$(securityModelUSM).$(user1) = 4
238# vacmGroupName.$(securityModelUSM).$(user1) = $(write)
239# vacmSecurityToGroupStatus.$(securityModelUSM).$(read) = 4
240# vacmGroupName.$(securityModelUSM).$(read) = $(write)
241
242#
243# The OID of the .iso.org.dod.internet subtree
244#
245# internetoid := 1.3.6.1
246# internetoidlen := 4
247
248#
249# Definitions of two views
250#
251# vacmViewTreeFamilyStatus."internet".$(internetoidlen).$(internetoid) = 4
252# vacmViewTreeFamilyStatus."restricted".$(internetoidlen).$(internetoid) = 4
253
254#
255# Access control
256#
257
258#
259# Read-only access for SNMPv1 users
260#
261# vacmAccessStatus.$(read)."".$(securityModelSNMPv1).$(noAuthNoPriv) = 4
262# vacmAccessReadViewName.$(read)."".$(securityModelSNMPv1).$(noAuthNoPriv) = "internet"
263
264#
265# Read-write access for SNMPv2 users
266#
267# vacmAccessStatus.$(write)."".$(securityModelSNMPv2c).$(noAuthNoPriv) = 4
268# vacmAccessReadViewName.$(write)."".$(securityModelSNMPv2c).$(noAuthNoPriv) = "internet"
269# vacmAccessWriteViewName.$(write)."".$(securityModelSNMPv2c).$(noAuthNoPriv) = "internet"
270
271#
272# Read-write-notify access for SNMPv3 USM users with noAuthNoPriv
273#
274# vacmAccessStatus.$(write)."".3.$(noAuthNoPriv) = 4
275# vacmAccessReadViewName.$(write)."".$(securityModelUSM).$(noAuthNoPriv) = "internet"
276# vacmAccessWriteViewName.$(write)."".$(securityModelUSM).$(noAuthNoPriv) = "internet"
277# vacmAccessNotifyViewName.$(write)."".$(securityModelUSM).$(noAuthNoPriv) = "internet"
278
279#
280#Read-write-notify access to restricted for SNMPv3 USM users with authPriv
281#
282# vacmAccessStatus.$(write)."".$(securityModelUSM).$(authPriv) = 4
283# vacmAccessReadViewName.$(write)."".$(securityModelUSM).$(authPriv) = "restricted"
284# vacmAccessWriteViewName.$(write)."".$(securityModelUSM).$(authPriv) = "restricted"
285# vacmAccessNotifyViewName.$(write)."".$(securityModelUSM).$(authPriv) = "restricted"
286
287#%target
288# Send notifications to target tag "test"
289# tag		:= "test"
290# snmpNotifyRowStatus.$(tag) = 4
291# snmpNotifyTag.$(tag) = $(tag)
292
293# tagremote		:= "testremote"
294# snmpNotifyRowStatus.$(tagremote) = 4
295# snmpNotifyTag.$(tagremote) = $(tagremote)
296
297#
298# Specify the target parameters for the notifications - send with the credentials
299# of user "bsnmp"
300#
301# snmpTargetParamsRowStatus.$(tag) = 5
302# snmpTargetParamsMPModel.$(tag) = $(MPmodelSNMPv3)
303# snmpTargetParamsSecurityModel.$(tag) = $(securityModelUSM)
304# snmpTargetParamsSecurityName.$(tag) = $(user1)
305# snmpTargetParamsSecurityLevel.$(tag) = $(authPriv)
306# snmpTargetParamsRowStatus.$(tag) = 1
307
308#
309# Define the notifications' target address - port 162 on localhost
310#
311# snmpTargetAddrRowStatus.$(tag) = 5
312# snmpTargetAddrTAddress.$(tag) = 0x7f:0x0:0x0:0x1:0x0:0xa2
313# snmpTargetAddrTagList.$(tag) = "test notification"
314# snmpTargetAddrParams.$(tag) = $(tag)
315# snmpTargetAddrRowStatus.$(tag) = 1
316
317#
318# Define the notifications' target address - port 162 on 10.0.0.1
319#
320# snmpTargetAddrRowStatus.$(tagremote) = 5
321# snmpTargetAddrTAddress.$(tagremote) = 0x0a:0x00:0x00:0x1:0x0:0xa2
322# snmpTargetAddrTagList.$(tagremote) = $(tagremote)
323# snmpTargetAddrParams.$(tagremote) = $(tag)
324# snmpTargetAddrRowStatus.$(tagremote) = 1
325
326# Force a polling rate for the 64-bit interface counters in case
327# the automatic computation is wrong (which may be the case if an interface
328# announces the wrong bit rate via its MIB).
329#%mibII
330#begemotIfForcePoll = 2000
331
332#%netgraph
333#begemotNgControlNodeName = "snmpd"
334
335