net-snmp 를 사용 하여 프로그램이 정상 동작 중 , 갑자기 snmp v3로 등록해두었던 장비들이 수집이 되지 않네요.
tcpdump 를 통해 확인 한 에러 정보는 장비쪽에서 리포트메세지가 날아오며,
UnknownEngineID 라는 메시지입니다.
snmp v3 를 테스트 할때 snmpget / snmpwalk 명령어를 사용할 수 있습니다.
이것을 가지고 샘플을 만들어보면 일반적으로
$ snmpget -v3 -l authPriv -u ososoi -a SHA -A brain33a -x AES -X brain33x 10.0.0.207 .1.3.6.1.2.1.1.3.0
iso.3.6.1.2.1.1.3.0 = Timeticks: (185222) 0:30:52.22
위와 같이 만들 수 있습니다.
여기서 engineid와 engine boots, engine time 을 지정하여 장비쪽으로 전송 할 수 있습니다.
unknown engine id 에러가 뜨는 경우 아래와 같이 한번 해보길 바랍니다.
$ snmpget -v3 -l authPriv -u ososoi -a SHA -A brain33a -x AES -X brain33x -e 80001f88809fad4d458bbc115f -Z 1/15 10.0.0.207 .1.3.6.1.2.1.1.3.0
iso.3.6.1.2.1.1.3.0 = Timeticks: (205022) 0:34:10.22
SNMP Version 3 specific
-a PROTOCOL set authentication protocol (MD5|SHA)
-A PASSPHRASE set authentication protocol pass phrase
-e ENGINE-ID set security engine ID (e.g. 800000020109840301)
-E ENGINE-ID set context engine ID (e.g. 800000020109840301)
-l LEVEL set security level (noAuthNoPriv|authNoPriv|authPriv)
-n CONTEXT set context name (e.g. bridge1)
-u USER-NAME set security name (e.g. bert)
-x PROTOCOL set privacy protocol (DES|AES)
-X PASSPHRASE set privacy protocol pass phrase
-Z BOOTS,TIME set destination engine boots/time
그럼 engineid와 boots / time 을 어떻게 구하는냐 ?
아래의 OID를 통해서 알 수가 있습니다.
1.3.6.1.6.3.10.2.1.1 | snmpEngineID | 1 | 1 | An SNMP engine's administratively-unique identifier. |
1.3.6.1.6.3.10.2.1.2 | snmpEngineBoots | 1 | 1 | The number of times that the SNMP engine has (re-)initialized itself since snmpEngineID was last configured. |
1.3.6.1.6.3.10.2.1.3 | snmpEngineTime | 1 | 1 | The number of seconds since the value of the snmpEngineBoots object last changed. When incrementing this object's value would caus… |
Engine ID 입니다.
$ snmpget -v3 -l authPriv -u ososoi -a SHA -A brain33a -x AES -X brain33x 10.0.0.207 1.3.6.1.6.3.10.2.1.1.0
iso.3.6.1.6.3.10.2.1.1.0 = Hex-STRING: 80 00 1F 88 80 9F AD 4D 45 8B BC 11 5F
Engine Boots 입니다.
$ snmpget -v3 -l authPriv -u ososoi -a SHA -A brain33a -x AES -X brain33x 10.0.0.207 .1.3.6.1.6.3.10.2.1.2.0
iso.3.6.1.6.3.10.2.1.2.0 = INTEGER: 1
Engine Time 입니다.
$ snmpget -v3 -l authPriv -u ososoi -a SHA -A brain33a -x AES -X brain33x 10.0.0.207 .1.3.6.1.6.3.10.2.1.3.0
iso.3.6.1.6.3.10.2.1.3.0 = INTEGER: 2417
'까벨로퍼 > 개발 이야기' 카테고리의 다른 글
[Swift] 버전 빌드 정보 가져오기 (0) | 2020.07.22 |
---|---|
[Django] 가장 심플한 Cache framework 적용하기 (0) | 2020.07.19 |
[Linux/Unix] GLIBC 버전 확인하기 (0) | 2020.07.16 |
CentOS7 Django 외부접속 오류시 (0) | 2020.07.15 |
CentOS8 + Python 3.8 (0) | 2020.07.15 |