Annotation of embedaddon/quagga/doc/snmp.texi, revision 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>