私は、SNMP エージェントが最大 256 文字のインターフェイスの説明を返す Cisco スイッチを持っています ( ifAlias
)。たとえば、ここでは 100 文字のインターフェイスの説明を受け取ります。
$ snmpget -m ./IF-MIB_tmp -M /usr/share/snmp/mibs/ -M
/usr/local/share/snmp/mibs/ -Ov -v 2c -c public switch
IF-MIB::ifAlias.53
STRING: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$
ただし、MIB ファイルの DisplayString SIZE は 64 文字です。
$ grep -A 5 -i "^ifalias" ./IF-MIB_tmp /usr/share/snmp/mibs/* /usr/local/shar /snmp/mibs/*
./IF-MIB_tmp:ifAlias OBJECT-TYPE
./IF-MIB_tmp- SYNTAX DisplayString (SIZE(0..64))
./IF-MIB_tmp- MAX-ACCESS read-write
./IF-MIB_tmp- STATUS current
./IF-MIB_tmp- DESCRIPTION
./IF-MIB_tmp- "This object is an 'alias' name for the interface as
--
/usr/share/snmp/mibs/mib-rfc2863a.txt:ifAlias OBJECT-TYPE
/usr/share/snmp/mibs/mib-rfc2863a.txt- SYNTAX DisplayString (SIZE(0..64))
/usr/share/snmp/mibs/mib-rfc2863a.txt- MAX-ACCESS read-write
/usr/share/snmp/mibs/mib-rfc2863a.txt- STATUS current
/usr/share/snmp/mibs/mib-rfc2863a.txt- DESCRIPTION
/usr/share/snmp/mibs/mib-rfc2863a.txt- "This object is an 'alias' name for the interface as
$
snmpget
DisplayString SIZE パラメータで定義された文字数 (最初の 64 文字の「x」など) が表示されると予想しました。DisplayString SIZE は の出力に影響しますかsnmpget
? 影響する場合、どのように影響しますか? または、SNMP GetResponse 値の出力を実際に変更するのは DISPLAY-HINT パラメータだけですか?
答え1
クライアント MIB の情報は、サーバー/スイッチから受信する値には影響しませんし、影響があってはなりません。snmpget
スイッチの SNMP エージェントが提供している値を返すだけです。この場合、MIB は主にガイドラインです。Cisco の実装が DisplayString の SMIv2 定義に準拠している限り、Cisco は MIB を自由に実装できます。DisplayString の長さは 0..255 です (参照)。https://www.rfc-editor.org/rfc/rfc2579)。これはRFC 2863の標準でもあります(https://www.rfc-editor.org/rfc/rfc2863)。