この特集のトップページへ
この回のトップページへ

●コミュニティの設定

 まずは,コミュニティを設定する。コミュニティとは,SNMPにおけるネットワーク範囲のことをいう。コミュニティは,com2sec行で設定する。デフォルトの設定(EXAMPLE.confファイルをコピーしたsnmpd.confファイルの状態)は,次のようになっている。

# sec.name source community
com2sec local localhost COMMUNITY
com2sec mynetwork NETWORK/24 COMMUNITY

 このうちの“NETWORK/24”と書かれている部分を,SNMPマネージャを使いたいネットワーク範囲――いい換えれば管理者がSNMPマネージャを使って管理情報を見るホストが存在するネットワーク――に変更する。多くの場合,LANで使われているネットワークを設定する。

 そしてさらに,“COMMUNITY”の部分を,設定したいコミュニティ名に設定する。コミュニティ名とは,SNMPのパスワードにも該当する設定だ。多くの場合,ローカル環境で使うコミュニティ名には“private”,比較的グローバルな環境で使うコミュニティ名には“public”を使うことが多い。そこで本稿ではそれに倣い,localhost(自分自身)から接続できるコミュニティ名には“private”,LANから接続できるコミュニティ名には“public”と名付けることにする。

 たとえば,192.168.0.0/24192.168.0.0/255.255.255.0と同じ)のネットワークからSNMPマネージャを使って,このマシンを管理できるようにするには,設定を次のように変更する。

# sec.name source community
com2sec local localhost private
com2sec mynetwork 192.168.0.0/24 public


ここではコミュニティ名にそれぞれ,privatepublicを指定しているが,先にも説明したように,コミュニティ名はパスワードの役割ももつので,実運用するのであれば,別の名前にしておくことを推奨する。また,snmpd.confファイルには,このようにコミュニティ名が記述されるから,rootユーザー以外は参照できない設定にしておくことが望ましい。つまり,“chmod 600 /usr/local/share/snmp/snmpd.conf”を実行しておいたほうがよい。

 もちろんネットワーク全体ではなく,特定のホストからしかSNMPマネージャを使った管理を行わせたくないこともあるだろう。その場合には,そのホストのアドレスを指定すればよい。たとえば次のようにすると,192.168.0.100というIPアドレスをもつホストもしくはlocalhost(SNMPエージェントが動作しているマシン自身)以外からは,SNMPエージェントに接続できなくなる。

# sec.name source community
com2sec local localhost private
com2sec mynetwork 192.168.0.100 public


com2sec行は,2行分しか書けないわけではなく,必要があれば,何行でもcom2sec行を記述してよい。また,利用許可を与えるホストには,インターネット上にあるホスト名やIPアドレスを指定することもできる。しかしSNMPデータは暗号化されないので(SNMPv3を使えば暗号化できるが本稿では説明しない),インターネット越しにSNMPエージェントとSNMPマネージャが通信することは推奨しない。なぜならば,SNMPデータが途中で盗聴されたり,偽造される可能性があるためだ。

PREV 5/36 NEXT