Introduzione
In questo documento viene descritto come escludere OID in Nexus 5k, 7k e 9K nella configurazione SNMP v2 e v3.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti prima di implementare le esclusioni OID (Object Identifier):
- Familiarità con il protocollo SNMP (Simple Network Management Protocol)
- Accesso alla modalità di configurazione del dispositivo
- Informazioni sugli OID da escludere
- Informazioni sulla community SNMP e sulle configurazioni degli utenti
Componenti usati
Le informazioni fornite in questo documento si basano sul test Lab con i seguenti modelli Nexus:
- Nexus 5k
- Nexus 7k
- Nexus 9k
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
Nel mondo del protocollo SNMP, spesso si verificano situazioni in cui l'analisi della struttura MIB (Management Information Base) incontra difficoltà, raggiungendo un punto morto in corrispondenza di OID specifici e causando talvolta timeout di finestre o problemi simili. Un'altra sfida comune si presenta quando il polling continuo per un OID problematico attiva avvisi che non sono né necessari né impattanti. Un possibile modo per eliminare questo tipo di scenari consiste nel creare esclusioni, indicando al dispositivo di ignorare l'OID specifico e procedere con il resto della struttura MIB. Indicando al dispositivo di ignorare l'OID problematico e procedere con il resto della struttura MIB, è possibile favorire un flusso uniforme della struttura MIB.
Nota: è importante notare che questa esclusione può influire sulla modalità di lettura dei dati dalla struttura MIB. Prima di procedere con queste esclusioni, prestare attenzione e verificare la necessità dell'OID.
Mentre l'esclusione degli OID in genere ha un processo semplice in dispositivi come Aggregation Services Router (ASR)/ Switch Catalyst (CAT)/Integrated Service Router (ISR), affrontare questa sfida nei dispositivi Nexus si dimostra più complesso a causa dell'assenza di visualizzazioni. In questo articolo viene descritto un approccio innovativo introducendo i ruoli e mappandoli alla community/utente, presentando una soluzione per l'esclusione degli OID nelle configurazioni SNMP v2 e v3 sui dispositivi Nexus 5k, 7k e 9K.
Operazioni di base
Modalità di configurazione accesso:
#conf t
Definire il ruolo dell'esclusione OID:
#role name
#rule 1 permit read feature snmp #rule 2 deny {read/ read-write} oid
Suggerimento: {read/ read-write} consente di scegliere tra le operazioni SNMP "read" e "read-write". Le operazioni 'Read' in genere implicano il recupero di informazioni, mentre le operazioni 'read-write' implicano sia il recupero che la modifica di informazioni. È possibile scegliere le opzioni di lettura/lettura/scrittura in base alle proprie preferenze.
Uscire dalla modalità di configurazione:
#exit
Applicazione della configurazione alla community/utente SNMP.
Per SNMPv2:
#snmp-server community
group
Per SNMPv3:
#snmp-server user
auth {sha/md5}
priv {aes/des}
Configurazione
Nota: l'esempio include l'esclusione di OID 1.3.6.1.2.1.2.2.1.3 (ifType). Assicurarsi di sostituire l'OID ifType con quello che si desidera escludere.
Definizione di un ruolo per escludere OID ifType:
switch#
switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# role name deny_oid
switch(config-role)# rule 1 permit read feature snmp
switch(config-role)# rule 2 deny read oid 1.3.6.1.2.1.2.2.1.3
switch(config-role)# exit
switch(config)# exit
switch# sh role name deny_oid
Role: deny_oid
Description: new role
Vlan policy: permit (default)
Interface policy: permit (default)
Vrf policy: permit (default)
-------------------------------------------------------------------
Rule Perm Type Scope Entity
-------------------------------------------------------------------
2 deny read oid 1.3.6.1.2.1.2.2.1.3
1 permit read feature snmp
switch#
Creazione di una community SNMPv2 condeny_oid
ruolo:
switch(config)# snmp-server community snmpv2user group deny_oid
switch(config)# exit
switch# sh snmp community
Community Group / Access context acl_filter
_________ ______________ _______ __________
snmpv2user deny_oid
switch#
Creazione dell'utente SNMPv3 con ruolo deny_oid:
switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# snmp-server user snmpv3user deny_oid auth sha password!123 priv ?
WORD Privacy password for user (Max Size 134)
switch(config)# snmp-server user snmpv3user deny_oid auth sha password!123 priv password!123
switch(config)# do sh snmp user
______________________________________________________________
SNMP USERS
______________________________________________________________
User Auth Priv(enforce) Groups acl_filter
____ ____ _____________ ______ __________
admin md5 aes-128(no) network-admin
snmpv3user sha aes-128(no) deny_oid
______________________________________________________________
NOTIFICATION TARGET USERS (configured for sending V3 Inform)
______________________________________________________________
User Auth Priv
___ ____ ____
switch(config)#
Verifica
Nota: è stato utilizzato un test 'prova' dell'utente per verificare il polling di ifType OID. Gli altri utenti sono stati mappati con il ruolo deny_oid e non sono stati visualizzati dati per IfType OID come illustrato.
SNMPwalk senza esclusione:
Nota: nell'articolo completo, l'indirizzo IP del dispositivo è sostituito da a.b.c.d.
[root@user ~]# snmpwalk -v2c -c trial a.b.c.d 1.3.6.1.2.1.2.2.1.3
IF-MIB::ifType.83886080 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436207616 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436208128 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436208640 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436209152 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436209664 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436210176 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436210688 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436211200 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436211712 = INTEGER: ethernetCsmacd(6)
^C
SNMPwalk per SNMPv2 con OID escluso:
[root@user ~]# snmpwalk -v2c -c snmpv2user a.b.c.d 1.3.6.1.2.1.2.2.1.3
IF-MIB::ifType = No Such Object available on this agent at this OID
Nota: è stato creato un nuovo utente 'trialv3' per illustrare il polling senza l'esclusione dell'OID.
SNMPwalk senza escludere OID:
[root@user ~]# snmpwalk -v3 -u trialv3 -l authPriv -a sha -A 'password!123' -x aes -X 'password!123' a.b.c.d 1.3.6.1.2.1.2.2.1.3
IF-MIB::ifType.83886080 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436207616 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436208128 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436208640 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436209152 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436209664 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436210176 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436210688 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436211200 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436211712 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.436212224 = INTEGER: ethernetCsmacd(6)
^C
[root@user ~]#
SNMPwalk per utente SNMPv3 con OID escluso:
[root@user ~]# snmpwalk -v3 -u snmpv3user -l authPriv -a sha -A 'password!123' -x aes -X 'password!123' a.b.c.d 1.3.6.1.2.1.2.2.1.3
IF-MIB::ifType = No Such Object available on this agent at this OID
[root@user ~]#