Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

net-snmpについて(環境構築)

net-snmpによる環境構築、snmpd.confについて

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/08/19 14:00

snmpは広く知られた監視用のプロトコルです。しかし実際は”シンプル”ではなく、複雑な仕様、深いMIB-Tree、異なるバージョン等、理解が困難と思われます。本レポートでは、net-snmpを使って実際に環境を構築してみます。

目次

はじめに

 この連載では監視用プロトコルとして広く知られているSNMPについて設定方法などを交えて説明していきます。今回はnet-snmpの構築について言及していきます。

 構築環境はFedora7(2.6.23.17-88.fc7)、32bit、glibc-2.6-4、gcc-4.1.2を使用しています。

これまでの記事

3. snmp環境の構築

3.1 エージェントの構築(net-snmpの使用法)

 net-snmpは、現在SourceForgeで管理されてるオープンソースのSNMP開発キットです。Linuxの場合、net-snmpでSNMPプロトコルを実装するのが一般的です。2008/7/18現在、最新版は5.4.1.2です。

 今回はせっかくなので最新版である 5.4.1.2 を使います。しかし最新版にはrpmファイル(パッケージ)が存在していないので、ソースファイルをmakeしてインストールします。

注意
 パッケージからインストールすると、「snmpd.conf」が「/etc/snmp/snmpd.conf」に置かれる等、パスが異なります。
 
注意2
 もし既に古いパッケージがインストール済みの場合、環境が混在してしまうので、一度snmpdをアンインストールした方が無難です。
rpm -qa | grep snmp コマンドで確認してください。
 

 以降はインストールおよびデフォルトの動作確認を行います。環境は次のとおり。

  • エージェント
    Fedora7(2.6.23.17-88.fc7)32bit、IP address 192.198.1.12
  • マネージャ
    WindowsXP、IP address 192.198.1.4
    Fedora7(2.6.23.17-88.fc7)32bit、IP address 192.198.1.12

 上記のエージェント環境へ 3.1.1 ~ 3.1.5 を実行します。実行の際はすべて管理者権限(root)で実施します。

3.1.1 パッケージの入手

 SourceForgeからnet-snmpパッケージをダウンロードします。[5.4.1.2]を開き、「net-snmp-5.4.1.2.tar.gz」を落とします。

3.1.2 解凍/コンパイル/インストール

 ダウンロードした net-snmp パッケージを解凍します。

% mkdir .snmp
% cd .snmp
% mv <ダウンロード先ディレクトリ>/net-snmp-5.4.1.2.tar.gz .
% tar -zxf net-snmp-5.4.1.2.tar.gz

 解凍した後、環境設定を行うためにconfigureコマンドを実行します。2~3分で終わります。

% cd net-snmp-5.4.1.2
% ./configure --prefix=/usr

 下記について聞かれます、(enter)とあるのは、何も記述せずにEnterだけ押してください。

 -Press return to continue- (enter)
 Default version of SNMP to use (3): (enter)
 System Contact Information (root@): root@localhost.localdomain
                                     (↑ 上記を記述後、enter)
 System Location (Unknown): (enter)
 Location to write logfile (/var/log/snmpd.log): (enter)
 Location to write persistent information (/var/net-snmp): (enter)

 configureが終わったらmakeです。

% make                        <- make処理、10分くらい
% make test                   <- makeの確認、3分くらい
  Summary: 59 / 59 succeeded.
                       ↑ 数字は置いといて、succeeded が出ればOKです。
% umask 022           <- 新規作成ファイルの初期パーミッションを設定
% make install        <- インストール、1分くらい

 正常終了したら、下記ファイルが存在することを確認します。

% ls -l /usr/sbin/snmpd
-rwxr-xr-x 1 root root 50027  6月 27 01:16 /usr/sbin/snmpd
% ls -l /usr/sbin/snmptrapd
-rwxr-xr-x 1 root root 59526  6月 27 01:16 /usr/sbin/snmptrapd

3.1.3 設定ファイル作成

 下記ファイルを作り、「/usr/share/snmp/snmpd.conf」とします(詳細は別章にて説明します)。ファイルアクセス権は644にしておきます(新規作成したら644になってるはずです)。

リスト1 /usr/share/snmp/snmpd.conf
# com2sec notConfigUser  default          public
com2sec local_config     localhost        localcom
com2sec secure_config    192.168.1.0/24   securecom

# group  notConfigGroup  v1   notConfigUser
group    local_group     v1   local_config
group    local_group     v2c  local_config
group    local_group     usm  local_config
group    secure_group    v1   secure_config
group    secure_group    v2c  secure_config
group    secure_group    usm  secure_config

#view  systemview     included  .1.3.6.1.2.1.1
view   view_local     included  .1.3.6.1
view   view_public    included  .1.3.6.1

access  local_group   ""  any  noauth  exact  view_local   none        all
access  secure_group  ""  any  noauth  exact  view_public  view_public all

3.1.4 動作確認

 snmpdを起動します。下記コマンドを実行、メッセージは特に出力されません。

% /usr/sbin/snmpd

 インストールした環境で下記コマンドを実行。ガッサリ流れたらOK。

% snmpwalk -v 2c -c localcom  localhost    .1.3.6.1.4.1.2021
% snmpwalk -v 2c -c securecom 192.168.1.5  .1.3.6.1.4.1.2021

 snmpwalkは、net-snmpに付属しているコマンドベースのsnmp簡易マネージャです。引数等は別章で説明します。

 出力されたのを確認したら、snmpdを落とします。

% kill `ps -ef | grep snmpd | grep -v grep | awk '{print $2}'`

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 赤松 エイト(エイト)

    (株)DTSに勤てます。 WebアプリやJavaやLL等の上位アプリ環境を密かに憧れつつも、ず~っとLinuxとかHP-UXばかり、ここ数年はカーネル以上アプリ未満のあたりを行ったり来たりしています。 mixiもやってまして、こちらは子育てとか日々の日記メインです。

バックナンバー

連載:net-snmpについて
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5