net-snmp set 명령에 관한 질문입니다.
글쓴이: bakdorazi / 작성시간: 화, 2010/02/02 - 2:29오후
net-snmp 5.3.3을 사용하고 있습니다.
제가 간단한 MIB을 하나 정의 했는데요..
examNEXTable OBJECT-TYPE SYNTAX SEQUENCE OF examNEXEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "example table" ::={exam 3} examNEXEntry OBJECT-TYPE SYNTAX examNEXEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "example entry" INDEX { name } ::={examNEXTable 1} examNEXEntry ::= SEQUENCE { name OCTET STRING, num1 INTEGER, num2 INTEGER } name OBJECT-TYPE SYNTAX OCTET STRING(SIZE(1..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "example tabel name" ::={ examNEXEntry 1} num1 OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "example table integer" ::={examNEXEntry 2} num2 OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "example table integer2" ::={examNEXEntry 3}
위의 내용을 요약하자면 테이블 examNEXTable이 String name, long num1, long num2, 의 3가지 인수를 가지는 것인데요.
보시다시피 examNEXTable에서 INDEX는 name 입니다.
테이블을 만들때 그 테이블을 검색하는 인텍스가 name이 되고 num1, num2는 column이 된다고 생각하시면 되겠습니다.
예를 들어 보통 snmpwalk를 실행하면
snmpwalk -v 1 -c public localhost exam NEX-EXAM-MIB::num1."kim"=INTEGET:0 NEX-EXAM-MIB::num2."kim"=INTEGET:0 NEX-EXAM-MIB::num1."lee"=INTEGET:0 NEX-EXAM-MIB::num2."lee"=INTEGET:0
이런식으로 결과가 나옵니다.
즉 인덱스가 되는 이름 기준으로 칼럼 num1, num2 값이 나오는 것입니다.
num1."kang" 의 값은 0, 혹은 num2."kang"의 값은 0 이런 식으로
근데 저는 num1."kang"의 값을 셋팅해주지 못해서 값이 0 이 나오는데요..저는 이 값을 3 으로 바꾸고 싶어서 아래와 같이 명령을 내렸습니다.
[root@localhost Test]# snmpset -v 1 -c public localhost NEX-EXAM-MIB::num1.0 i 3 NEX-EXAM-MIB::num1.""=INTEGER:3
그러면 위와 같은 결과가 나오는데요.. 이것은 num1.kang의 값을 바꾼 것이 아닙니다.
저의 질문은 인덱스가 되는 name의 num1, num2를 바꾸는 snmpset 명령은 어떤 것인가 하는 것입니다.
즉 num1."kang"=INTEGER:0 인데 이 값을 num1."kang"=INTEGER:3의 결과가 나오는 것으로 바꾸고 싶다는 것입니다
아시는 분 좀 도와주세요.
Forums:
댓글 달기