■net-snmpのダウンロード
ここでは、ソースからインストールする方法について解説していきます。Red Hat9 に標準で付属しているrpm
パッケージを使っても構いません。RPMからインストールする場合は、下記のパッケージを予め、インストールしておいてください。
#rpm -ivh net-snmp-5.0.6-17.i386.rpm
net-snmp-devel-5.0.6-17.i386.rpm net-snmp-utils-5.0.6-17.i386.rpm |
|
■net-snmp のインストール
$ cd /usr/local/src
$ tar xzvf net-snmp-5.1.tar.bz
$ cd net-snmp-5.1
$ ./configure |
|
configure時にいくつか質問事項があります。ここでは、ここでは、ほぼデフォルトでインストールしました。
System
Location は、SNMPマネージャを使って管理する際に表示されるロケーション情報となるため、わかりやすい名前を付けておくといいと思います。
Default
versionでは、ヴァージョン1、2、3を選択することができますが、ヴァージョン3では、SNMPデータを暗号化することができるので特に理由がない限りはヴァージョン3で問題ないと思います。
************** Configuration
Section **************
You are about to be prompted with a
series of questions. Answer
them carefully, as they determine how
the SNMP agent and related
applications are to function.
After the configure script finishes, you
can browse the newly
created config.h file for further - less
important - parameters to
modify. Be careful if you re-run configure
though, since config.h will
be overwritten.
-Press return to continue-[
ENTER ]
Default version of SNMP to use (3):
setting Default version of SNMP to use
to... 3
System Contact Information (root@):
root@kororo.jp
setting System Contact Information to...
root@kororo.jp
System Location (Unknown): Red
Hat Linux9
setting System Location to... Red Hat
Linux9
Location to write logfile (/var/log/snmpd.log):
setting Location to write logfile to...
/var/log/snmpd.log
Location to write persistent information
(/var/net-snmp):
setting Location to write persistent information
to... /var/net-snmp
|
|
最後にmake して、make install します。
$ make
$ su
# make install |
|
■設定ファイルのコピー
net-snmp 関連のファイルは、/usr/local/share/snmp や /usr/local/sbin、/usr/local/bin
にインストールされています。設定ファイルであるsnmpd.confは、デフォルトではインストールされないので、ソースディレクトリにあるサンプル(EXAMPLE.conf
)をコピーします。コピー後、root 以外が読み書きできないようにパーミッションを設定します。
# cp EXAMPLE.conf
/usr/local/share/snmp/snmpd.conf
# chmod 600 /usr/local/share/snmp/snmpd.conf
|
|
■snmpd.conf の編集
まず、一番最初にコミュニティの設定を行います。コミュニティとは、SNMPで監視を行いたい自ネットワークのことを指しており、各自のLAN環境に合わせて編集します。編集する箇所は、"NETWORK/24"となっている部分です。次に
COMMUNITY となっている箇所を任意の名前に変更します。通常は、ローカルのコミュニティ名を "private
"、公共のコミュニティ名を "public"とすることが多いみたいなので、ここでは、localhost
をprivate、LANをpublic という名前に設定します。けれども、
コミュニティ名はパスワードの役割を持っているので実運用の際は名前を変更してください。
# vi /usr/local/share/snmp/snmpd.conf
# sec.name source community
com2sec local localhost private
com2sec mynetwork 172.16.50.0/27
public
com2sec mynetwork 172.16.51.0/28 public |
|
次に、セキュリティグループの設定です。ここでは、MyRWグループとMyROグループのアクセス権限を設定しています。
group
でアクセスを許可するグループを定義し、すぐ下にある
access でアクセスを許可するかしないかの制限をかけます。デフォルトでは、読み書きができる設定になっていますが、SNMPマネージャを利用しての第三者による不正書き換えを防ぐために、MyRWグループをコメントアウトしておきます。
# sec.model sec.name
#group MyRWGroup v1 local
#group MyRWGroup v2c local
#group MyRWGroup usm local
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
group MyROGroup usm mynetwork
中略
# context sec.model sec.level match read
write notif
access MyROGroup "" any noauth
exact all none none
#access MyRWGroup "" any noauth
exact all all none |
|
view all では、SNMPエージェントが保持する管理情報領域の中のどの部分を公開するかを設定し、デフォルトでは全てを公開するように指定されています。このままで問題ありません。
# incl/excl subtree
mask
view all included .1 80 |
|
syslocation で自分がわかりやすい場所名を記述し、syscontact に、自分の名前とメールアドレスを記述しておきます。
syslocation Red
Hat Linux9
syscontact KORORO <root@kororo.jp> |
|
ここまでの設定を終えたら、snmp を起動します。ついでに、ps コマンドでsnmpd が起動していることも確認しておきます。
# /usr/local/sbin/snmpd
# ps aux | grep snmpd
root 6670 0.1 0.8 6404 2184 ? S 22:55
0:00 /usr/local/sbin/snmpd
root 6680 0.0 0.2 4576 668 pts/2 S 22:56
0:00 grep snmpd |
|
この時点でMRTGを使ったネットワーク監視を行いたい方は、
MRTGによるネットワーク監視を参考にしてください。