⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snmp.tex

📁 xorp源码hg
💻 TEX
字号:
%% $XORP: xorp/docs/user_manual/snmp.tex,v 1.8 2007/03/14 01:07:01 pavlin Exp $%\chapter{SNMP}\label{snmp}\section{Terminology and Concepts}SNMP (Simple Network Management Protocol) is a mechanism for managingnetwork and computer devices.SNMP uses a manager/agent model for managing the devices. The agentresides in the device, and provides the interface to the physical device beingmanaged. The manager resides on the management system and provides theinterface between the user and the SNMP agent.The interface between the SNMP manager and the SNMP agent uses a ManagementInformation Base (MIB) and a small set of commands to exchange information.The MIB contains the set of variables/objects that are managed (\eg MTU on anetwork interface). Those objects are organized in a tree structure whereeach object is a leaf node. Each object has its unique Object IDentifier(OID). There are two types of objects: {\tt scalar} and {\tt tabular}.A scalar object defines a single object instance. A tabular object definesmultiple related object instances that are grouped in MIB tables.For example, the uptime on a device is a scalar object, but the routing tablein a router is a tabular object.The set of commands used in SNMP are: GET, GET-NEXT, GET-RESPONSE, SET, andTRAP. GET and GET-NEXT are used by the manager to request information aboutan  object. SET is used by the manager to change the value of a specificobject. GET-RESPONSE is used by the SNMP agent to return the requestedinformation by GET or GET-NEXT, or the the status of the SET operation.The TRAP command is used by the agent to inform asynchronously the managerabout the occurrence of some events that are important to the manager.Currently there are three versions of SNMP:\begin{itemize}  \item {\tt SNMPv1:} This is the first version of the protocol. It is  described in RFC 1157.  \item {\tt SNMPv2:} This is an evolution of the first version, and it adds a  number of improvements to SNMPv1.  \item {\tt SNMPv3:} This version improves the security model in SNMPv2, and  adds support for proxies.\end{itemize}\newpage\section{Configuring SNMP}Before configuring SNMP on XORP, you must make sure that SNMP support iscompiled. For example, when running {\stt ./configure} in the top-level XORPdirectory, you have to supply the {\stt --with-snmp} flag:{\tt ./configure --with-snmp}\subsection{Configuring Net-SNMP}\label{snmp:configuring_netsnmp}XORP itself does not implement the SNMP protocol and requires an externalSNMP implementation for that. Currently, XORP supports only Net-SNMP (see{\stt http://www.net-snmp.org}) as such implementation.Before configuring SNMP in XORP, you must take the following steps toconfigure your Net-SNMP agent to run with XORP:\begin{itemize}  \item You need Net-SNMP version 5.0.6 or greater.  \item You must make {\stt libnetsnmpxorp.so} accessible to your runtime  loader. Depending on your system, that requires one of the following:  \begin{itemize}    \item Copy {\stt libnetsnmpxorp.so} to your library directory (typically    {\stt /usr/local/lib}).    \item Set a linker environment variable (typically    {\stt LD\_LIBRARY\_PATH}) to point to the directory where the library is.  \end{itemize}  \item To avoid opening security holes, we recommend allowing only SNMPv3  authenticated requests.  If you want to create a secure user, execute the  command {\stt net-snmp-config --create-snmpv3-user}.  These are the settings  that  match the provided {\stt snmp.conf} file inside the  {\stt \$\{XORP\}/mibs/snmpdscripts/} directory:\begin{table*}[h]\begin{center}\begin{tabular}{|l|l|l|} \hlineUser & Pass phrase & Security level \\\hline\hlineprivuser &  I am priv user & authPriv \\ \hline\end{tabular}\end{center}\end{table*}  You must create at least one user if you want to be able to access the SNMP   agent.  \item {\stt snmpd} can only respond to XRLs after  {\stt xorp\_if\_mib\_module} has been loaded.  Adding the following line to the file {\stt snmpd.conf} (by default located  in {\stt /usr/local/share/snmp}) will preload this module when {\stt snmpd}  is started:  {\tt dlmod xorp\_if\_mib\_module <absolute path full filename>}  For example:  {\tt dlmod xorp\_if\_mib\_module /usr/local/xorp/mibs/xorp\_if\_mib\_module.so}\end{itemize}\subsection{Configuration Syntax}\vspace{0.1in}\noindent\framebox[\textwidth][l]{\scriptsize\begin{minipage}{6in}\begin{alltt}\begin{tabbing}xx\=xx\=xx\=xx\=xx\=\killprotocols \{\\\>snmp \{\\\>\>targetname: {\it text}\\\>\>mib-module {\it text} \{\\\>\>\>abs-path: {\it text}\\\>\>\>mib-index: {\it uint}\\\>\>\}\\\>\}\\\}\\\end{tabbing}\end{alltt}\end{minipage}}\vspace{0.1in}\begin{description}  \item {\tt protocols}: this delimits the configuration for all routing   protocols in the XORP router configuration.  It is mandatory that   SNMP configuration is under the {\stt protocols} node in the   configuration.  \item {\tt snmp}: this delimits the SNMP configuration part of the XORP   router configuration.  \item {\tt targetname}: this is the name for this instance of SNMP.   It defaults to ``{\stt xorp\_if\_mib}'', and it is not recommended   that this default is overridden under normal usage scenarios.  \item {\tt mib-module}: this specifies the MIB module to configure. It  should be set to the MIB module file name (without the file name extension).  For each MIB, the following parameters can be configured:  \begin{description}    \item {\tt abs-path}: this is the absolute path to the module file with    the MIB to load.    \item {\tt mib-index}: this is the MIB index. It is set internally by    XORP when a MIB module is loaded, and should not be set in the XORP    configuration.  \end{description}\end{description}Below is a sample SNMP configuration that configures a BGP MIB:\vspace{0.1in}\noindent\framebox[\textwidth][l]{\scriptsize\begin{minipage}{6in}\begin{alltt}\begin{tabbing}xx\=xx\=xx\=xx\=xx\=\killprotocols \{\\\>snmp \{\\\>\>mib-module bgp4\_mib\_1657 \{\\\>\>\>abs-path: "/usr/local/xorp/mibs/bgp4\_mib\_1657.so"\\\>\>\}\\\>\}\\\}\\\end{tabbing}\end{alltt}\end{minipage}}\vspace{0.1in}\section{Using SNMP to Monitor a Router}Currently (March 2007) XORP does not provide SNMP-related operationalcommands.However, there are few client-side scripts that can be used to experimentwith the SNMP agent:\begin{itemize}  \item The scripts are in the  {\stt \$\{XORP\}/mibs/snmpdscripts/} directory, and they use the client-side  Net-SNMP tools to communicate with the agent.  They rely on file  {\stt snmp.conf} in the same directory to provide valid default values for  the SNMP version to use, the user, community and security level. If your  agent was configured with the default security user suggested in  Section~\ref{snmp:configuring_netsnmp}, you should copy the  {\stt \$\{XORP\}/mibs/snmpdscripts/snmp.conf} file to  {\stt \$\{HOME\}/.snmp/snmp.conf}. Otherwise, you'll have to create your  own {\stt snmp.conf} so it matches your settings.  \item You must make XORP textual MIB files  ({\stt \$\{XORP\}/mibs/textual/*.txt}) accessible to the Net-SNMP command  line tools.  Either set the {\stt MIBDIRS} environment variable  ({\stt man snmpcmd(1)}) to point to that directory or copy those files to  your MIBS directory (default is {\stt /usr/local/share/snmp/mibs}).  For  instance (if {\stt sh} is the login shell):  {\tt export MIBDIRS=+/usr/local/xorp/mibs/textual}  \item You must tell Net-SNMP about specific MIB modules that you will  be using.  The {\stt MIBS} environment variable can be used for that  purpose. For BGP4-MIB you would do (if {\stt sh} is the login shell):  {\tt export MIBS=+BGP4-MIB}\end{itemize}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -