mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-04 14:54:24 +00:00
agentx: add appropriate documentation
This commit is contained in:
parent
b7c0d0651c
commit
0ff4b9c967
@ -7,7 +7,7 @@ provides TCP/IP based routing services with routing protocols support such
|
||||
as RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4, and BGP-4+ (@pxref{Supported
|
||||
RFCs}). Quagga also supports special BGP Route Reflector and Route Server
|
||||
behavior. In addition to traditional IPv4 routing protocols, Quagga also
|
||||
supports IPv6 routing protocols. With SNMP daemon which supports SMUX
|
||||
supports IPv6 routing protocols. With SNMP daemon which supports SMUX and AgentX
|
||||
protocol, Quagga provides routing protocol MIBs (@pxref{SNMP Support}).
|
||||
|
||||
Quagga uses an advanced software architecture to provide you with a high
|
||||
@ -238,6 +238,9 @@ J. Chu, Editor. July 1994.}
|
||||
@cite{OSPF Version 2 Management Information Base. F. Baker, R. Coltun.
|
||||
November 1995.}
|
||||
|
||||
@item @asis{RFC2741}
|
||||
@cite{Agent Extensibility (AgentX) Protocol. M. Daniele, B. Wijnen. January 2000.}
|
||||
|
||||
@end table
|
||||
|
||||
@node How to get Quagga
|
||||
|
@ -5,11 +5,12 @@
|
||||
feature for collecting network information from router and/or host.
|
||||
Quagga itself does not support SNMP agent (server daemon) functionality
|
||||
but is able to connect to a SNMP agent using the SMUX protocol
|
||||
(@cite{RFC1227}) and make the routing protocol MIBs available through
|
||||
it.
|
||||
(@cite{RFC1227}) or the AgentX protocol (@cite{RFC2741}) and make the
|
||||
routing protocol MIBs available through it.
|
||||
|
||||
@menu
|
||||
* Getting and installing an SNMP agent::
|
||||
* AgentX configuration::
|
||||
* SMUX configuration::
|
||||
* MIB and command reference::
|
||||
* Handling SNMP Traps::
|
||||
@ -18,20 +19,82 @@ it.
|
||||
@node Getting and installing an SNMP agent
|
||||
@section Getting and installing an SNMP agent
|
||||
|
||||
There are several SNMP agent which support SMUX. We recommend to use the latest
|
||||
There are several SNMP agent which support SMUX or AgentX. We recommend to use the latest
|
||||
version of @code{net-snmp} which was formerly known as @code{ucd-snmp}.
|
||||
It is free and open software and available at @uref{http://www.net-snmp.org/}
|
||||
and as binary package for most Linux distributions.
|
||||
@code{net-snmp} has to be compiled with @code{--with-mib-modules=smux} to
|
||||
be able to accept connections from Quagga.
|
||||
@code{net-snmp} has to be compiled with @code{--with-mib-modules=agentx} to
|
||||
be able to accept connections from Quagga using AgentX protocol or with
|
||||
@code{--with-mib-modules=smux} to use SMUX protocol.
|
||||
|
||||
Nowadays, SMUX is a legacy protocol. The AgentX protocol should be
|
||||
preferred for any new deployment. Both protocols have the same coverage.
|
||||
|
||||
@node AgentX configuration
|
||||
@section AgentX configuration
|
||||
|
||||
To enable AgentX protocol support, Quagga must have been build with the
|
||||
@code{--enable-snmp} or @code{--enable-snmp=agentx} option. Both the
|
||||
master SNMP agent (snmpd) and each of the Quagga daemons must be
|
||||
configured. In @code{/etc/snmp/snmpd.conf}, @code{master agentx}
|
||||
directive should be added. In each of the Quagga daemons, @code{agentx}
|
||||
command will enable AgentX support.
|
||||
|
||||
@example
|
||||
/etc/snmp/snmpd.conf:
|
||||
#
|
||||
# example access restrictions setup
|
||||
#
|
||||
com2sec readonly default public
|
||||
group MyROGroup v1 readonly
|
||||
view all included .1 80
|
||||
access MyROGroup "" any noauth exact all none none
|
||||
#
|
||||
# enable master agent for AgentX subagents
|
||||
#
|
||||
master agentx
|
||||
|
||||
/etc/quagga/ospfd.conf:
|
||||
! ... the rest of ospfd.conf has been omitted for clarity ...
|
||||
!
|
||||
agentx
|
||||
!
|
||||
@end example
|
||||
|
||||
Upon successful connection, you should get something like this in the
|
||||
log of each Quagga daemons:
|
||||
|
||||
@example
|
||||
2012/05/25 11:39:08 ZEBRA: snmp[info]: NET-SNMP version 5.4.3 AgentX subagent connected
|
||||
@end example
|
||||
|
||||
Then, you can use the following command to check everything works as expected:
|
||||
|
||||
@example
|
||||
# snmpwalk -c public -v1 localhost .1.3.6.1.2.1.14.1.1
|
||||
OSPF-MIB::ospfRouterId.0 = IpAddress: 192.168.42.109
|
||||
[...]
|
||||
@end example
|
||||
|
||||
The AgentX protocol can be transported over a Unix socket or using TCP
|
||||
or UDP. It usually defaults to a Unix socket and depends on how NetSNMP
|
||||
was built. If need to configure Quagga to use another transport, you can
|
||||
configure it through @code{/etc/snmp/quagga.conf}:
|
||||
|
||||
@example
|
||||
/etc/snmp/quagga.conf:
|
||||
[snmpd]
|
||||
# Use a remote master agent
|
||||
agentXSocket tcp:192.168.15.12:705
|
||||
@end example
|
||||
|
||||
@node SMUX configuration
|
||||
@section SMUX configuration
|
||||
|
||||
To enable SMUX protocol support, Quagga must have been build with the
|
||||
@code{--enable-snmp} option.
|
||||
@code{--enable-snmp=smux} option.
|
||||
|
||||
A separate connection has then to be established between between the
|
||||
A separate connection has then to be established between the
|
||||
SNMP agent (snmpd) and each of the Quagga daemons. This connections
|
||||
each use different OID numbers and passwords. Be aware that this OID
|
||||
number is not the one that is used in queries by clients, it is solely
|
||||
@ -85,7 +148,7 @@ troublesome @code{snmp_log()} line in the function
|
||||
@section MIB and command reference
|
||||
|
||||
The following OID numbers are used for the interprocess communication of snmpd and
|
||||
the Quagga daemons. Sadly, SNMP has not been implemented in all daemons yet.
|
||||
the Quagga daemons with SMUX only.
|
||||
@example
|
||||
(OIDs below .iso.org.dod.internet.private.enterprises)
|
||||
zebra .1.3.6.1.4.1.3317.1.2.1 .gnome.gnomeProducts.zebra.zserv
|
||||
@ -95,7 +158,8 @@ ospfd .1.3.6.1.4.1.3317.1.2.5 .gnome.gnomeProducts.zebra.ospfd
|
||||
ospf6d .1.3.6.1.4.1.3317.1.2.6 .gnome.gnomeProducts.zebra.ospf6d
|
||||
@end example
|
||||
|
||||
The following OID numbers are used for querying the SNMP daemon by a client:
|
||||
Sadly, SNMP has not been implemented in all daemons yet. The following
|
||||
OID numbers are used for querying the SNMP daemon by a client:
|
||||
@example
|
||||
zebra .1.3.6.1.2.1.4.24 .iso.org.dot.internet.mgmt.mib-2.ip.ipForward
|
||||
ospfd .1.3.6.1.2.1.14 .iso.org.dot.internet.mgmt.mib-2.ospf
|
||||
@ -104,7 +168,7 @@ ripd .1.3.6.1.2.1.23 .iso.org.dot.internet.mgmt.mib-2.rip2
|
||||
ospf6d .1.3.6.1.3.102 .iso.org.dod.internet.experimental.ospfv3
|
||||
@end example
|
||||
|
||||
The following syntax is understood by the Quagga daemons for configuring SNMP:
|
||||
The following syntax is understood by the Quagga daemons for configuring SNMP using SMUX:
|
||||
@deffn {Command} {smux peer @var{oid}} {}
|
||||
@deffnx {Command} {no smux peer @var{oid}} {}
|
||||
@end deffn
|
||||
@ -113,4 +177,9 @@ The following syntax is understood by the Quagga daemons for configuring SNMP:
|
||||
@deffnx {Command} {no smux peer @var{oid} @var{password}} {}
|
||||
@end deffn
|
||||
|
||||
Here is the syntax for using AgentX:
|
||||
@deffn {Command} {agentx} {}
|
||||
@deffnx {Command} {no agentx} {}
|
||||
@end deffn
|
||||
|
||||
@include snmptrap.texi
|
||||
|
Loading…
Reference in New Issue
Block a user