SNMPについて
今回はスイッチなどでもよく使われるSNMPの機能や
設定について記載していきたいと思います。
現在SNMPには以下のバージョンがある
・SNMPv1 コミュニティ名による認証。コミュニティ名は平文でネットワークを流れる。SNMPトラップの再送確認はできない(トラップがマネージャに届いたか確認しない)
・SNMPv2 MIBの情報を追加した。あまり使われずに SNMPv2c に移行した。
・SNMPv2c コミュニティ名による認証。コミュニティ名は平文でネットワークを流れる。SNMPトラップの再送確認ができる。
・SNMPv3 認証機能が強化されている。コミュニティを使わずにUSMというユーザ名とパスワードが必要になる。パスワードの情報もハッシュ化されており、パケットの暗号化も可能。VACMというMIBの情報を参照する部分を制限する機能もついている
Linux上で SNMPの機能を使用するには net-snmp というパッケージが必要になる(これが本体)
ちなみに net-snmp は以前は ucd-snmp と呼ばれていたらしい。
net-snmpは SNMPv1, SNMPv2c, SNMPv3 に対応している。(SNMPv2 には対応していない)
SNMPv2 はあまり使われずに SNMPv2c に移行した。
またsnmpgetコマンドや snmpwalkコマンドもこの中に含まれている
(実際は net-snmpというよりも net-snmp-utils に含まれている。net-snmp-utils は SNMPマネージャを担当するコマンドライン群である)
net-snmpパッケージが対応しているMIBの情報は代表的なものは以下の2つである。
・MIB2
・NET-SNMP(以前はパッケージ名と同じく UCD-SNMP と呼ばれていた)
エージェント側の設定
インストール
net-snmpパッケージのインストール
# yum install net-snmp
snmpdの起動
SNMPデーモン(エージェント側。マネージャ側は必要なし)の起動
# /etc/init.d/snmpd start
SNMPトラップデーモン(エージェント側。マネージャ側は必要なし)の起動
# /etc/init.d/snmptrapd start
ちなみに yum でインストールすると snmpd の設定ファイルである /etc/snmp/snmpd.conf の情報は以下のようになっている
/etc/snmp/snmpd.conf
view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 access notConfigGroup "" any noauth exact systemview none none
なので snmpwalkコマンドなどで MIB の値をリモートからとろうと思っても .1.3.6.1.2.1.1 や .1.3.6.1.2.1.25.1.1 の情報しかとることができない。
以下のようにするとすべての値をとることができる(すでに snmpd が起動して場合は変更したらsnmpdの再起動が必要)
/etc/snmp/snmpd.conf
======================================================
view systemview included .1
access notConfigGroup “” any noauth exact systemview none none
======================================================
/etc/snmp/snmpd.confの記述の仕方
———————————-
以下は v1, v2 の場合には必須のもの
com2sec
SNMPv1, SNMPv2c などコミュニティ名を使用して接続する場合は必須。セキュリティ名をつけてそれに対応するコミュニティ名をつける。(コミュニティ名は設定の名前のようなものなので何でもよい)またアクセスできるネットワークの範囲も指定が可能 (ネットワークアドレスを default とするとだれでもアクセスが可能になる)
複数行に分けて記述も可能
書式
com2sec セキュリティ名 ネットワークアドレス コミュニティ名
例
com2sec testsec 192.168.100.0/24 public
com2sec localsec localhost private
group
上記のセキュリティ名とセキュリティモデルをグループ名で対応付ける。
セキュリティモデルには v1, v2c, usm が存在する ( usm は v3 ということ)
どのセキュリティ名のものは、どのバージョンを使用可能にするかという定義になっている
書式
group グループ名 モデル名 セキュリティ名
例
group testgroup v1 testsec
group testgroup v2c localsec