- About Cisco IOS Documentation
- Chapter 1, Overview
- Chapter 2, CTC Operations
- Chapter 3, Initial Configuration
- Chapter 4, Configuring Interfaces
- Chapter 5, Configuring POS
- Chapter 6, Configuring Bridges
- Chapter 7, Configuring STP and RSTP
- Chapter 8, Configuring VLANs
- Chapter 9, Configuring IEEE 802.1Q and Layer 2 Protocol Tunneling
- Chapter 10, Configuring Link Aggregation
- Chapter 11, Configuring Networking Protocols
- Chapter 12, Configuring IRB
- Chapter 13, Configuring VRF Lite
- Chapter 14, Configuring Quality of Service
- Chapter 15, Configuring the Switching Database Manager
- Chapter 16, Configuring Access Control Lists
- Chapter 17, Configuring Resilient Packet Ring
- Chapter 18, Configuring Ethernet over MLPS
- Chapter 19, POS on ONS Ethernet Cards
- Chapter 20, E-Series and G-Series Ethernet Operation
- Chapter 21, CE-100T-8 Ethernet Operation
- Chapter 22, Configuring RMON
- Chapter 23, Configuring SNMP
- Appendix A, Command Reference
- Appendix B, Unsupported CLI Commands
- Appendix C, Using Technical Support
Configuring SNMP
This chapter describes how to configure the ML-Series card for operating with Simple Network Management Protocol (SNMP).
Note For complete syntax and usage information for the commands used in this chapter, see the Cisco IOS Configuration Fundamentals Command Reference, Release 12.2.
This chapter consists of these sections:
Understanding SNMP
SNMP is an application-layer protocol that provides a message format for communication between managers and agents. The SNMP system consists of an SNMP manager, an SNMP agent, and a MIB. The SNMP manager can be part of a network management system (NMS) such as CiscoWorks. To configure SNMP, you define the relationship between the manager and the agent.
The SNMP agent contains MIB variables whose values the SNMP manager can request or change. A manager can get a value from an agent or store a value in an agent. The agent gathers data from the MIB, the repository for information about device parameters and network data. The agent can also respond to a manager's requests to get or set data.
An agent can send unsolicited traps to the manager. Traps are messages that alert the SNMP manager to a condition on the network. Traps can mean improper user authentication, restarts, link status (up or down), MAC address tracking, closing of a Transmission Control Protocol (TCP) connection, loss of connection to a neighbor, or other significant events.
This section includes information about these topics:
•Using SNMP to Access MIB Variables
SNMP on the ML-Series Card
SNMP operates in two different ways on the ONS 15454 SONET/SDH ML-Series card. One way is to communicate directly. This is also how SNMP operates on a small Catalyst switch, using direct communication, Cisco IOS, and the data plane. An SNMP agent interacting with an ML-Series card can also communicate through the ONS 15454 SONET/SDH and the SONET network. Both ways are shown in Figure 23-1.
Figure 23-1 SNMP on the ML-Series Card Example
When the ONS 15454 SONET/SDH node relays the ML-Series card SNMP communication, the node uses a proxy agent to accept, validate, and forward get, getNext, and set requests to the ML-Series card. These ML-Series card requests contain the slot identification of the ML-Series card cards to distinguish the request from a general SNMP request for the ONS 15454 SONET/SDH node. The responses from the ML-Series card are then relayed by the ONS 15454 SONET/SDH node to the requesting SNMP agents.
SNMP access is useful for collecting Cisco IOS data plane events, alarms, and statistics for the ML-Series card. All SNMP events and traps defined on the ML-Series card are reported to the TCC2/TCC2P card SNMP agent by default. If the TCC2/TCC2P card SNMP agent is active, these events are sent to the defined SNMP server.
SNMP Versions
Both the ML-Series card and the ONS 15454 SONET/SDH nodes support SNMP Version 1 (SNMPv1) and SNMP Version 2c (SNMPv2c), defined as:
•SNMPv1—The Simple Network Management Protocol, a full Internet standard, defined in RFC 1157.
•SNMPv2c replaces the party-based administrative and security framework of SNMPv2 classic with the community-string-based administrative framework of SNMPv2c while retaining the bulk retrieval and imroved error handling of SNMPv2classic. The bulk retrieval mechanism retrieves tables and large quantities of information, minimizing the number of round-trips required. The SNMPv2c improved error-handling includes expanded error codes that distinguish different kinds of error conditions; these conditions are reported through a single error code in SNMPv1. Error return codes in SNMPv2c report the error type.
SNMPv1 and SNMpv2c have the same security models and levels:
•Level—noAuthNoPriv
•Authentication—community string
•Encryption—none
•Result—Uses a community string match for authentication.
You must configure the SNMP agent to use the SNMP version supported by the management station. Because an agent can communicate with multiple managers, you can configure the software to support communications using SNMPv1, and SNMPv2c protocols.
SNMP Manager Functions
The SNMP manager uses information in the MIB to perform the operations described in Table 23-1.
|
|
---|---|
get-request |
Retrieves a value from a specific variable. |
get-next-request |
Retrieves a value from a variable within a table.1 |
get-bulk-request2 |
Retrieves large blocks of data, such as multiple rows in a table, that would otherwise require the transmission of many small blocks of data. |
get-response |
Replies to a get-request, get-next-request, or set-request sent by an NMS. |
set-request |
Stores a value in a specific variable. |
trap |
An unsolicited message sent by an SNMP agent to an SNMP manager when some event has occurred. |
1 With this operation, an SNMP manager does not need to know the exact variable name. A sequential search is performed to find the needed variable from within a table. 2 The get-bulk-request command only works with SNMPv2 or later. |
SNMP Agent Functions
The SNMP agent responds to SNMP manager requests as follows:
•Get a MIB variable—The SNMP agent begins this function in response to a request from the NMS. The agent retrieves the value of the requested MIB variable and responds to the NMS with that value.
•Set a MIB variable—The SNMP agent begins this function in response to a message from the NMS. The SNMP agent changes the value of the MIB variable to the value requested by the NMS.
The SNMP agent also sends unsolicited trap messages to notify an NMS that a significant event has occurred on the agent. Examples of trap conditions include, but are not limited to, when a port or module goes up or down, when spanning-tree topology changes occur, and when authentication failures occur.
SNMP Community Strings
SNMP community strings authenticate access to MIB objects and function as embedded passwords. In order for the NMS to access the ML-Series card, the community string definitions on the NMS must match at least one of the three community string definitions on the ML-Series card.
A community string can have one of these attributes:
•Read-only (RO)—Gives read access to authorized management stations to all objects in the MIB except the community strings, but does not allow write access
•Read-write (RW)—Gives read and write access to authorized management stations to all objects in the MIB, but does not allow access to the community strings
•Read-write-all—Gives read and write access to authorized management stations to all objects in the MIB, including the community strings
Using SNMP to Access MIB Variables
An example of an NMS is the CiscoWorks network management software. CiscoWorks software uses the ML-Series card MIB variables to set device variables and to poll devices on the network for specific information. The results of a poll can be displayed as a graph and analyzed to troubleshoot problems, increase network performance, verify the configuration of devices, monitor traffic loads, and more.
As shown in Figure 23-2, the SNMP agent gathers data from the MIB. The agent can send traps, or notification of certain events, to the SNMP manager, which receives and processes the traps. Traps alert the SNMP manager to a condition on the network such as improper user authentication, restarts, link status (up or down), MAC address tracking, and so forth. The SNMP agent also responds to MIB-related queries sent by the SNMP manager in get-request, get-next-request, and set-request format.
Figure 23-2 SNMP Network
Supported MIBs
The complete list of supported MIBs for the ML-Series card is found in the MIBsREADME.txt file on the ONS Software CD for your release. This software CD also includes the needed MIB modules and information on loading MIBs.
Some of the important MIBs supported include:
•Spanning Tree Protocol (STP) traps from Bridge-MIB (RFC 1493)
•Authentication traps from RFC 1157
•Link-up and link-down traps for Ethernet ports from IF-MIB (RFC 1573)
•Export of quality of service (QoS) statistics through the CISCO-PORT-QOS-MIB extension
Note The ML-Series card CISCO-PORT-QOS-MIB extension includes support for QoS indexing based on cost of service (CoS). It does not support configuration objects.
SNMP Notifications
SNMP allows the ML-Series card to send notifications to SNMP managers when particular events occur. SNMP notifications can be sent as traps or as inform requests. In command syntax, unless there is an option in the command to select either traps or inform requests, the keyword traps refers to either traps or inform requests, or both. Use the snmp-server host command to specify whether to send SNMP notifications as traps or inform requests.
Note SNMPv1 does not support inform requests.
Traps are unreliable because the receiver does not send an acknowledgment when it receives a trap, so the sender cannot determine if the trap was received. When an SNMP manager receives an inform request, it acknowledges the message with an SNMP response protocol data unit (PDU). If the sender does not receive a response, the inform request can be sent again. Because they can be re-sent, inform requests are more likely than traps to reach their intended destination.
The characteristics that make informs more reliable than traps also consume more resources in the ML-Series card and in the network. Unlike a trap, which is discarded as soon as it is sent, an inform request is held in memory until a response is received or the request times out. Traps are sent only once, but an inform might be re-sent or retried several times. The retries increase traffic and contribute to a higher overhead on the network. Therefore, traps and informs require a trade-off between reliability and resources. If it is important that the SNMP manager receive every notification, use inform requests. If traffic on the network or memory in the ML-Series card is a concern and notification is not required, use traps.
Configuring SNMP
This section describes how to configure SNMP on your ML-Series card. It contains this configuration information:
•SNMP Configuration Guidelines
•Configuring Community Strings
•Configuring SNMP Groups and Users
•Configuring SNMP Notifications
•Setting the Agent Contact and Location Information
•Limiting TFTP Servers Used Through SNMP
Default SNMP Configuration
Table 23-2 shows the default SNMP configuration.
SNMP Configuration Guidelines
When configuring SNMP, follow these guidelines:
•When configuring an SNMP group, do not specify a notify view. The snmp-server host global configuration command autogenerates a notify view for the user and then adds it to the group associated with that user. Modifying the group's notify view affects all users associated with that group. For information about when you should configure notify views, see the Cisco IOS Configuration Fundamentals Command Reference, Release 12.2.
•An SNMP group is a table that maps SNMP users to SNMP views.
•An SNMP user is a member of an SNMP group.
•An SNMP host is the recipient of an SNMP trap operation.
•An SNMP engine ID is a name for the local or remote SNMP engine.
Disabling the SNMP Agent
Beginning in privileged EXEC mode, follow these steps to disable the SNMP agent:
The no snmp-server global configuration command disables all running versions on the device. No specific Cisco IOS command exists to enable SNMP. The first snmp-server global configuration command that you enter enables all versions of SNMP.
Configuring Community Strings
You use the SNMP community string to define the relationship between the SNMP manager and the agent. The community string acts like a password to permit access to the agent on the ML-Series card card. Optionally, you can specify one or more of these characteristics associated with the string:
•An access list of IP addresses of the SNMP managers that are permitted to use the community string to gain access to the agent
•A MIB view, which defines the subset of all MIB objects accessible to the given community
•Read and write or read-only permission for the MIB objects accessible to the community
Beginning in privileged EXEC mode, follow these steps to configure a community string on the ML-Series card:
Note To disable access for an SNMP community, set the community string for that community to the null string (do not enter a value for the community string).
To remove a specific community string, use the no snmp-server community string global configuration command.
This example shows how to assign the string comaccess to SNMP, to allow read-only access, and to specify that IP access list 4 can use the community string to gain access to the ML-Series card SNMP agent:
ML_Series(config)# snmp-server community comaccess ro 4
Configuring SNMP Groups and Users
You can specify an identification name (engine ID) for the local or remote SNMP server engine on the ML-Series card. You can configure an SNMP server group that maps SNMP users to SNMP views, and you can add new users to the SNMP group.
Beginning in privileged EXEC mode, follow these steps to configure SNMP on the ML-Series card:
Configuring SNMP Notifications
A trap manager is a management station that receives and processes notification types (traps). Traps are system alerts that the ML-Series card generates when certain events occur. By default, no trap manager is defined, and no traps are sent. To enable all traps, configure the snmp-server enable traps command with no notification type keywords specified.
Table 23-3 describes some of the more commonly used traps supported by the ML-Series card. You can enable any or all of these traps and configure a trap manager to receive them.
You can send the snmp-server host global configuration command to a specific host to receive the notification types listed in Table 23-3.
Beginning in privileged EXEC mode, follow these steps to configure the ML-Series card to send traps or inform requests to a host:
|
|
|
---|---|---|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
snmp-server engineID remote ip-address engineid-string |
Specify the IP address and engine ID for the remote host. |
Step 3 |
snmp-server user username groupname remote host [udp-port port] {v1 | v2c}[access access-list] |
Configure an SNMP user to be associated with the remote host created in Step 2. •The username is the name of the user on the host that connects to the agent. •The groupname is the name of the group with which the user is associated. •(Optional) Enter remote to specify a remote SNMP entity to which the user belongs and the hostname or IP address of that entity along with the optional UDP port number. The default UDP port number is 162. •Enter the SNMP version number (v1 or v2c). •(Optional) Enter access access-list with a string (not to exceed 64 characters) that is the name of the access list. Note You cannot configure a remote user for an address without first configuring the engine ID for the remote host. If you try to configure the user before configuring the remote engine ID, you receive an error message, and the command is not executed. |
Step 4 |
snmp-server host host-addr |
Specify the recipient of an SNMP trap operation. •For host-addr, specify the name or Internet address of the host (the targeted recipient). •(Optional) Enter traps (the default) to send SNMP traps to the host. •(Optional) Enter informs to send SNMP inform requests to the host. •(Optional) Specify the SNMP version (1 or 2c). SNMPv1 does not support inform requests. •For community-string, enter the password-like community string sent with the notification operation. •(Optional) For udp-port port, enter the remote device UDP port. •(Optional) For notification-type, use the keywords listed in Table 23-3. If no type is specified, all notifications are sent. |
Step 5 |
snmp-server enable traps notification-types |
Enable the ML-Series card to send traps or inform requests and specify the type of notifications to be sent. For a list of notification types, enter: snmp-server enable traps ? To enable multiple types of traps, you must enter a separate snmp-server enable traps command for each trap type. |
Step 6 |
snmp-server trap-source interface-id |
(Optional) Specify the source interface, which provides the IP address for the trap message. This command also sets the source IP address for inform requests. |
Step 7 |
snmp-server queue-length length |
(Optional) Establish how many trap messages each trap host can hold (message queue length.) The range is 1 to 1000; the default is 10. |
Step 8 |
snmp-server trap-timeout seconds |
(Optional) Define how often to resend trap messages. The range is 1 to 1000; the default is 30 seconds. |
Step 9 |
end |
Return to privileged EXEC mode. |
Step 10 |
show running-config |
Verify your entries. |
Step 11 |
copy running-config startup-config |
(Optional) Save your entries in the configuration file. |
The snmp-server host command specifies which hosts receive the notifications. The snmp-server enable trap command globally enables the mechanism for the specified notification (for traps and inform requests). To enable a host to receive an inform request, you must configure an snmp-server host informs command for the host and globally enable inform requests by using the snmp-server enable traps command.
To remove the specified host from receiving traps, use the no snmp-server host host global configuration command. The no snmp-server host command with no keywords disables traps, but not inform requests, to the host. To disable inform requests, use the no snmp-server host informs global configuration command. To disable a specific trap type, use the no snmp-server enable traps notification-types global configuration command.
Setting the Agent Contact and Location Information
Beginning in privileged EXEC mode, follow these steps to set the system contact and location of the SNMP agent so that these descriptions can be accessed through the configuration file:
Limiting TFTP Servers Used Through SNMP
Beginning in privileged EXEC mode, follow these steps to limit the TFTP servers used for saving and loading configuration files through SNMP to the servers specified in an access list:
SNMP Examples
This example shows how to enable all versions of SNMP. The configuration permits any SNMP manager to access all objects with read-only permissions using the community string "public." This configuration does not cause the ML-Series card to send any traps.
ML_Series(config)# snmp-server community public
This example shows how to permit any SNMP manager to access all objects with read-only permission using the community string "public." The ML-Series card also sends VTP traps to the hosts 192.180.1.111 and 192.180.1.33 using SNMPv1 and to the host 192.180.1.27 using SNMPv2c. The community string "public" is sent with the traps.
ML_Series(config)# snmp-server community public
ML_Series(config)# snmp-server host 192.180.1.27 version 2c public
ML_Series(config)# snmp-server host 192.180.1.111 version 1 public
ML_Series(config)# snmp-server host 192.180.1.33 public
This example shows how to allow read-only access for all objects to members of access list 4 that use the comaccess community string. No other SNMP managers have access to any objects. SNMP authentication failure traps are sent by SNMPv2c to the host cisco.com using the community string "public."
ML_Series(config)# snmp-server community comaccess ro 4
ML_Series(config)# snmp-server enable traps snmp authentication
ML_Series(config)# snmp-server host cisco.com version 2c public
This example shows how to send Entity MIB traps to the host cisco.com. The community string is restricted. The second line specifies the destination of these traps and overwrites any previous snmp-server host commands for the host cisco.com.
ML_Series(config)# snmp-server enable traps
ML_Series(config)# snmp-server host cisco.com restricted
This example shows how to enable the ML-Series card to send all traps to the host myhost.cisco.com using the community string "public."
ML_Series(config)# snmp-server enable traps
ML_Series(config)# snmp-server host myhost.cisco.com public
Displaying SNMP Status
To display SNMP input and output statistics, including the number of illegal community string entries, errors, and requested variables, use the show snmp privileged EXEC command.You can also use the other privileged EXEC commands in Table 23-4 to display SNMP information. For information about the fields in the output displays, see the Cisco IOS Configuration Fundamentals Command Reference, Release 12.2.