Annotation of embedaddon/quagga/doc/snmp.texi, revision 1.1.1.1
1.1 misho 1: @node SNMP Support
2: @chapter SNMP Support
3:
4: @acronym{SNMP,Simple Network Managing Protocol} is a widely implemented
5: feature for collecting network information from router and/or host.
6: Quagga itself does not support SNMP agent (server daemon) functionality
7: but is able to connect to a SNMP agent using the SMUX protocol
8: (@cite{RFC1227}) and make the routing protocol MIBs available through
9: it.
10:
11: @menu
12: * Getting and installing an SNMP agent::
13: * SMUX configuration::
14: * MIB and command reference::
15: * Handling SNMP Traps::
16: @end menu
17:
18: @node Getting and installing an SNMP agent
19: @section Getting and installing an SNMP agent
20:
21: There are several SNMP agent which support SMUX. We recommend to use the latest
22: version of @code{net-snmp} which was formerly known as @code{ucd-snmp}.
23: It is free and open software and available at @uref{http://www.net-snmp.org/}
24: and as binary package for most Linux distributions.
25: @code{net-snmp} has to be compiled with @code{--with-mib-modules=smux} to
26: be able to accept connections from Quagga.
27:
28: @node SMUX configuration
29: @section SMUX configuration
30:
31: To enable SMUX protocol support, Quagga must have been build with the
32: @code{--enable-snmp} option.
33:
34: A separate connection has then to be established between between the
35: SNMP agent (snmpd) and each of the Quagga daemons. This connections
36: each use different OID numbers and passwords. Be aware that this OID
37: number is not the one that is used in queries by clients, it is solely
38: used for the intercommunication of the daemons.
39:
40: In the following example the ospfd daemon will be connected to the
41: snmpd daemon using the password "quagga_ospfd". For testing it is
42: recommending to take exactly the below snmpd.conf as wrong access
43: restrictions can be hard to debug.
44:
45: @example
46: /etc/snmp/snmpd.conf:
47: #
48: # example access restrictions setup
49: #
50: com2sec readonly default public
51: group MyROGroup v1 readonly
52: view all included .1 80
53: access MyROGroup "" any noauth exact all none none
54: #
55: # the following line is relevant for Quagga
56: #
57: smuxpeer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
58:
59: /etc/quagga/ospf:
60: ! ... the rest of ospfd.conf has been omitted for clarity ...
61: !
62: smux peer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
63: !
64: @end example
65:
66: After restarting snmpd and quagga, a successful connection can be verified in
67: the syslog and by querying the SNMP daemon:
68:
69: @example
70: snmpd[12300]: [smux_accept] accepted fd 12 from 127.0.0.1:36255
71: snmpd[12300]: accepted smux peer: \
72: oid GNOME-PRODUCT-ZEBRA-MIB::ospfd, quagga-0.96.5
73:
74: # snmpwalk -c public -v1 localhost .1.3.6.1.2.1.14.1.1
75: OSPF-MIB::ospfRouterId.0 = IpAddress: 192.168.42.109
76: @end example
77:
78: Be warned that the current version (5.1.1) of the Net-SNMP daemon writes a line
79: for every SNMP connect to the syslog which can lead to enormous log file sizes.
80: If that is a problem you should consider to patch snmpd and comment out the
81: troublesome @code{snmp_log()} line in the function
82: @code{netsnmp_agent_check_packet()} in @code{agent/snmp_agent.c}.
83:
84: @node MIB and command reference
85: @section MIB and command reference
86:
87: The following OID numbers are used for the interprocess communication of snmpd and
88: the Quagga daemons. Sadly, SNMP has not been implemented in all daemons yet.
89: @example
90: (OIDs below .iso.org.dod.internet.private.enterprises)
91: zebra .1.3.6.1.4.1.3317.1.2.1 .gnome.gnomeProducts.zebra.zserv
92: bgpd .1.3.6.1.4.1.3317.1.2.2 .gnome.gnomeProducts.zebra.bgpd
93: ripd .1.3.6.1.4.1.3317.1.2.3 .gnome.gnomeProducts.zebra.ripd
94: ospfd .1.3.6.1.4.1.3317.1.2.5 .gnome.gnomeProducts.zebra.ospfd
95: ospf6d .1.3.6.1.4.1.3317.1.2.6 .gnome.gnomeProducts.zebra.ospf6d
96: @end example
97:
98: The following OID numbers are used for querying the SNMP daemon by a client:
99: @example
100: zebra .1.3.6.1.2.1.4.24 .iso.org.dot.internet.mgmt.mib-2.ip.ipForward
101: ospfd .1.3.6.1.2.1.14 .iso.org.dot.internet.mgmt.mib-2.ospf
102: bgpd .1.3.6.1.2.1.15 .iso.org.dot.internet.mgmt.mib-2.bgp
103: ripd .1.3.6.1.2.1.23 .iso.org.dot.internet.mgmt.mib-2.rip2
104: ospf6d .1.3.6.1.3.102 .iso.org.dod.internet.experimental.ospfv3
105: @end example
106:
107: The following syntax is understood by the Quagga daemons for configuring SNMP:
108: @deffn {Command} {smux peer @var{oid}} {}
109: @deffnx {Command} {no smux peer @var{oid}} {}
110: @end deffn
111:
112: @deffn {Command} {smux peer @var{oid} @var{password}} {}
113: @deffnx {Command} {no smux peer @var{oid} @var{password}} {}
114: @end deffn
115:
116: @include snmptrap.texi
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>