2011-12-18 13 views
5

que han estado tratando de entender cómo crear una MIB: aquí lo que he hecho hasta ahora:snmpset Objeto no modificable. ¿Por qué?

creé una MIB, y trató de asignar valores a las nuevas OID => fallan

Aquí es el MIB:

TEST-MIB DEFINITIONS ::= BEGIN 

IMPORTS 
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF 
OBJECT-TYPE, Integer32,MODULE-IDENTITY FROM SNMPv2-SMI; 




test MODULE-IDENTITY 
    LAST-UPDATED "201112190200Z" 
    ORGANIZATION "blah" 
    CONTACT-INFO 
     "please"   
    DESCRIPTION 
     "I am stuck" 
    REVISION "201112190200Z" 
    DESCRIPTION 
     "initial Draft" 
    ::= { iso org(3) dod(6) internet(1) private(4) enterprises(1) 39106 } 

testResearch    OBJECT IDENTIFIER ::= { test 2 } 

testVar OBJECT-TYPE 
    SYNTAX Integer32 
    MAX-ACCESS read-write 
    STATUS current 
    DESCRIPTION 
     "just for testing" 
    ::= { testResearch 1} 

-- conformance information 

testMIBConformance OBJECT IDENTIFIER ::= { test 999 } 
testMIBCompliances OBJECT IDENTIFIER ::= { testMIBConformance 1 } 
testMIBGroups  OBJECT IDENTIFIER ::= { testMIBConformance 2 } 

-- compliance statements 

testMIBCompliance MODULE-COMPLIANCE 
    STATUS current 
    DESCRIPTION 
     "blah." 
    MODULE -- this module 
    MANDATORY-GROUPS { testGroup } 
    ::= { testMIBCompliances 1 } 

-- units of conformance 

testGroup OBJECT-GROUP 
    OBJECTS { testVar } 
    STATUS current 
    DESCRIPTION 
     "The draft" 
    ::= { testMIBGroups 1 } 

END 

entonces

  • validado este MIB contra smilint,
  • puso en ~/.snmp/MIB/
  • tienen la cadena rwcommunity para todos anfitrión, sin restricción de OID
  • reinicia el demonio snmpd (en Debian)

Hasta ahora, todo bien.

Luego probé para ver si el demonio sabe acerca de esta nueva empresa, y lo hice:

snmpwalk -v2c -m +ALL localhost .1.3.6.1.4.1.39106 

que da salida: TEST-MIB :: = prueba no existe el objeto disponible en este agente en este OID

Así que supongo que snmpd me está diciendo que no puede encontrar nada debajo de este árbol, porque nada se ha establecido todavía.

así que trato de establecer esta variable de prueba con snmpset sobre una concha:

snmpset -v2c -m +ALL localhost .1.3.6.1.4.1.39106.2.1 i 111 

salidas:

Error in packet. 
Reason: notWritable (That object does not support modification) 
Failed object: TEST-MIB::testVar 

me trataron tan bien con: snmpset -v2c -m + ALL localhost. 1.3.6.1.4.1.39106.2.1.0 i 111

y como root, pero sin éxito

Pero cuando hago una snmptranslate, puedo ver que el MIB se analiza correctamente:

snmptranslate -Td 1.3.6.1.4.1.39106.2.1 
    TEST-MIB::testVar 
    testVar OBJECT-TYPE 
     -- FROM TEST-MIB 
     SYNTAX Integer32 
     MAX-ACCESS read-write 
     STATUS current 
     DESCRIPTION "just for testing" 
    ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) test(39106) testResearch(2) 1 } 

es un error? ¿Un problema conocido?

+1

Después de haber pasado una hora de leer el post todo lo relacionado en desbordamiento de pila (13 páginas, yehaoo), me di cuenta que puede tener que utilizar mib2c para transformar mi mib en código c, y luego, volver a compilar netsmtpd con estas bibliotecas. ¿Necesito escribir cualquier código C para hacer eso? No soy C-noob, soy totalmente ignorante sobre todo lo relacionado con C .... :( – Ant

Respuesta

3

Parece que está intentando crear su propio agente SNMP.

Por lo que parece, ha creado correctamente su propio MIB OID pero nada responde al nuevo OID cuando consulta el host SNMP.

tener una lectura de esta: http://docs.oracle.com/cd/E13192_01/manager/mgr20/pguide/buildag.htm y ver si aborda el problema q :)

+0

Si lo entiendo bien, NET-SNMP no permite actualizar el árbol MIB sobre la marcha. Tengo que escribir algunos C para poder escribir en un nuevo OID. – Ant

+1

Creo que hay un montón de módulos de Perl en CPAN que pueden ayudar si tiene problemas para escribir el código en C! Pruebe http://search.cpan.org/~aelse/SNMP-Agent-0.05/lib/SNMP/Agent.pm – Encoder

+0

Voy con Perl entonces :) – Ant

Cuestiones relacionadas