Linux: Squeeze での snmpd.conf

Debian GNU/Linux 6.0 squeeze で、snmpd.conf が今までと大幅に変更されていた。

どうやら、SNMP v3 に関する設定項目が増えていたようだ。MRTG を設定するのが目的だったので、結局、調べたことの大部分は無意味だったのだけど、メモとして残しておこう。

SNMP v2c に関する /etc/snmp/snmpd.conf での設定

rocommunity public localhost

これだけ。これで、ローカルの MRTG から値を読むことが出来る。(当然コミュニティ名 “public” が分かれば、ローカルユーザは誰でも値を読み取ることが出来てしまう。)

SNMP v3 に関する /etc/snmp/snmpd.conf での設定

rouser [SNMPv3 ユーザ名] priv
※ noauth (ユーザ名合致のみ) 、auth (要認証) 、priv (要認証・要暗号化)

createUser [SNMPv3 ユーザ名] SHA [パスワード] AES [暗号化パスフレーズ]
※ SHA の部分は MD5 も指定可能。
※ AES の部分は DES も指定可能。
※暗号化パスフレーズを省略すると、パスワードと同じになる。

例えば、読み出し専用ユーザ mrtg を、パスワード “examplepassword” 、要認証・要暗号化で作成する場合は以下のように指定する。
rouser mrtg priv
createUser mrtg SHA “examplepassword” AES

上記の指定を行い、snmpd を再起動。

以下のコマンドを叩いて、値が取得できるかチェック。

snmpwalk -v 3 SHA -x AES -l authPriv -u mrtg -A examplepassword -X examplepassword 127.0.0.1

※ snmpwalk -v 3 -a SHA -x AES -l authPriv -u [SNMPv3 のユーザ名] -A [SNMPv3 のユーザ名に対するパスワード] -X [SNMPv3 の暗号化パスフレーズ] 127.0.0.1
※ SNMP v3 では、コミュニティ名ではなく、ユーザ名で認証するらしい。

・・・

あと、気になる点としては、「”Unknown payload OID: fileName”」がログに出るのだが、これはバグっぽい?