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。ただし、これを使用している場合は、マニュアルページに「現在実行されている作業を知っておく必要があります」という警告が表示されます。

関連情報