[질문] net-snmp private mibs 추가 작업중 no such object

puffscorpion의 이미지

안녕하세요.
net-snmp privagte mibs 추가 작업중 임의로 만든 object를 MG-MIB Browser에서 get을 하게되면 no such object가 발생합니다.

1. net-snmp를 설치 후 standard mibs(public mibs) get-getnext 동작시 정상적으로 정보를 수집해오는 것을 확인

2. mib2c를 이용하여 임의의 MIB을 추가 시킨 후 stub code로 code 작성

3. 아래처럼 설정해준 후 ./snmpd -c -L 커맨드로 데몬을 동작 시키고 MG-MIB Browser에서 추가시킨 MIB object를 get을 시키면 no such object가 발생합니다.

4. 아무래도 snmpd.conf 파일중 access control 설정에서 문제를 의심하고 있는 중이긴 한데 방향을 어떻게 잡고 추가 작업을 해야할지 모르겠어서 도움을 요청하게 됐습니다.

- 임의의 MIB

TEST-MIB DEFINITIONS ::= BEGIN
 
IMPORTS
    enterprises
        FROM RFC1155-SMI
    MODULE-IDENTITY, Integer32
        FROM SNMPv2-SMI
    OBJECT-TYPE
        FROM RFC-1212
    DisplayString
        FROM RFC1213-MIB;
 
deonet          OBJECT IDENTIFIER ::= { iso(1) org(3) dod(6)
                                        internet(1) private(4) enterprises(1) 기업OID }
product         OBJECT IDENTIFIER ::= { 기업OID 2 } 
 
systemGroup     OBJECT IDENTIFIER ::= { product 1 } 
 
-- the System Group(1)
    sysInteger      OBJECT-TYPE
        SYNTAX      Integer32
        ACCESS      read-only
        STATUS      current
        DESCRIPTION
            "system Integer"
        ::= { systemGroup 1 } 
 
END

- 임의의 MIB 추가 후 발생된 stub code에서 Integer 값 불러오기 위한 code 작성

/*
 * Note: this file originally auto-generated by mib2c using
 *        : mib2c.scalar.conf 17798 2009-10-27 06:44:54Z magfr $
 */
 
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h>
#include "test_mib.h"
 
struct variable3 test_variables[] = { 
    {SYSINTEGER, ASN_INTEGER, NETSNMP_OLDAPI_RONLY,
     var_test, 1, {1}}
};
 
oid     test_variables_oid[] = { 1, 3, 6, 1, 4, 1, 기업OID, 2, 1 };
 
void
init_test(void)
{
    REGISTER_MIB("sysInteger", test_variables, variable3,
                 test_variables_oid);
}
 
u_char *
var_test(struct variable *vp,
           oid *name,
           size_t *length,
           int exact, size_t *var_len, WriteMethod **write_method)
{
    int num = 1111;
 
    if (header_generic(vp, name, length, exact, var_len, write_method) ==
        MATCH_FAILED)
        return NULL;
 
    switch (vp->magic) {
        case SYSINTEGER:
            return(u_char *) &num;
 
        default:
            DEBUGMSGTL(("snmpd", "unknown sub-id %d in var_interface\n",
                        vp->magic));
    }   
    return NULL;
}

- snmpd.conf

agentAddress  udp:161
view   all       included   .1                                                  ff
rocommunity public                               #  standard mibs read
rwcommunity private
#com2sec    sec.name    source              community
com2sec     local       localhost           private
com2sec     mynetwork   [network]/24      public
com2sec     public      default             public
 
#group      name        model               security
group       MyRWGroup   v1                  local
group       MyRWGroup   v2c                 local
group       MyRWGroup   usm                 local
group       public      v1                  public
group       public      v2c                 public
group       public      usm                 public
group       MyRWGroup   v1                  mynetwork
group       MyRWGroup   v2c                 mynetwork
group       MyRWGroup   usm                 mynetwork
 
#                       context   sec.model   sec.level     match        read        write       notif
access      MyRWGroup     ""        any         noauth      exact       all          all         none
access      public        ""        any         noauth      exact       all          none        none
access      MyRWGroup     ""        any         noauth      exact       all          all         none
 
master          agentx

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.