net-snmp 엔진 ID를 변경하는 방법

net-snmp 엔진 ID를 변경하는 방법

NET-SNMP 5.7.3을(를) 사용하고 있습니다 . 명령을 사용하여 변경 Freebsd 12.1하고 싶습니다 .engineIDsnmpset

snmpd 구성 파일

rwcommunity private

다음 명령을 입력합니다.

snmpset -v 2c -c private localhost e x 800000020109840301

오류는 다음과 같습니다

Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: SNMPv2-SMI::enterprises

나는 또한 다음 명령을 사용했습니다.

snmpset -v 2c -c private localhost 1.3.6.1.6.3.10.2.1.1 x 800000020109840301

그러나 여기에는 위와 같은 오류가 있습니다.

이 문제를 어떻게 해결할 수 있나요?

답변1

정답은:

snmpd 구성 파일

engineID a

시험용:

snmpget -v 2c -c public localhost  .1.3.6.1.6.3.10.2.1.1.0   

SNMP-FRAMEWORK-MIB::snmpEngineID.0 = Hex-STRING: 80 00 1F 88 04 61

각 엔진 ID는 080001F. snmpset으로 변경할 수 없습니다. 구성 파일에서 설정해야 합니다.

답변2

net-snmp snmpd.conf매뉴얼 페이지에서:

SNMPv3 프로토콜은 에이전트를 고유하게 식별하는 "engineID"를 정의합니다. 이 문자열은 항상 일관되어야 하며 다른 에이전트의 엔진 ID와 변경되거나 충돌해서는 안 됩니다. 한 번.

내부적으로 Net-SNMP는 기본적으로 현재 시스템 시간과 임의의 숫자를 기반으로 고유한 엔진 ID를 생성합니다. 대부분의 사용자에게는 이것으로 충분합니다. 단, 에이전트를 장치에 내장하지 않는 한 이 숫자는 장치의 초기 부팅 시 상자마다 달라지지 않습니다.

EngineID는 장치에서 정보를 선택하기 위한 "컨텍스트"로 사용되며 USM이 포함된 SNMPv3에서 사용자 테이블에 사용자에 대한 고유 항목을 생성하는 데 사용됩니다.

즉, 엔진 ID를 변경하면 기존의 모든 SNMPv3 사용자 항목 및 정보 요청의 "컨텍스트"가 무효화되므로 이를 변경하는 것은 큰 문제입니다. 엔진 ID를 변경할 때 내 경험상 기존 SNMPv3 사용자를 다시 생성해야 합니다. 그렇지 않으면 해당 SNMPv3 암호가 작동하지 않습니다. (즉, 엔진 ID는 SNMPv3 비밀번호 해싱 알고리즘에서 사용되는 것으로 나타납니다.)

snmpd엔진 ID를 변경할 때 재부팅을 해야 하고 싶어요 .

이 오류 메시지는 Net-SNMP 엔진 ID가 SNMP를 사용하여 변경할 수 없음을 알려줍니다.

그러나 당신은할 수 있는engineID파일의 , engineIDType및/또는 설정을 사용하여 engineIDNic엔진 ID를 변경하십시오 snmpd.conf. 그러나 이를 사용하는 경우 매뉴얼 페이지에는 "현재 수행 중인 작업을 알아야 합니다"라는 경고가 표시됩니다.

관련 정보