Show Table of Contents
19.6.3. Net-SNMP の設定
Net-SNMP Agent Daemon の設定を変更するには、
/etc/snmp/snmpd.conf
設定ファイルを編集します。Red Hat Enterprise Linux 6 に備わっているデフォルトの snmpd.conf
ファイルには、多くのコメントが含まれているため、エージェントを設定するのに適切な開始ポイントとなります。
本項では、システム情報及び認証の設定という 2 つの一般的なタスクについて重点的に説明します。利用可能な設定指示文の詳細については、snmpd.conf(5) の man ページを参照して下さい。さらに、net-snmp パッケージには
snmpconf
と呼ばれるユーティリティがあり、有効なエージェント設定をインタラクティブに作成するために使用できます。
本項で説明されている
snmpwalk
ユーティリティを使用するには、net-snmp-utils パッケージがインストールされている必要がある点に注意して下さい。
注記
設定ファイルへの変更を反映させるには、
root
として以下のコマンドを実行することで、snmpd
サービスが設定を再度読み取るように強制します:
service
snmpd
reload
19.6.3.1. システム情報の設定
Net-SNMP は、
system
ツリーにより基本的なシステム情報を提供します。例えば、次の snmpwalk
コマンドはデフォルトのエージェント設定を持つ system
ツリーを示しています:
~]# snmpwalk -v2c -c public localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-122.el6.x86_64 #1 SMP Wed Mar 9 23:54:34 EST 2011 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (99554) 0:16:35.54
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)
デフォルトでは、
sysName
オブジェクトはホスト名に設定されています。sysLocation
及び sysContact
オブジェクトは、syslocation
及び syscontact
指示文の値を変更することで /etc/snmp/snmpd.conf
ファイルで設定可能です。例えば以下のとおりです:
syslocation Datacenter, Row 3, Rack 2 syscontact UNIX Admin <admin@example.com>
設定ファイルに変更を加えた後は、再度
snmpwalk
コマンドを実行することにより設定を再ロードしてテストします:
~]#service snmpd reload
Reloading snmpd: [ OK ] ~]#snmpwalk -v2c -c public localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-122.el6.x86_64 #1 SMP Wed Mar 9 23:54:34 EST 2011 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (158357) 0:26:23.57 SNMPv2-MIB::sysContact.0 = STRING: UNIX Admin <admin@example.com> SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain SNMPv2-MIB::sysLocation.0 = STRING: Datacenter, Row 3, Rack 2
19.6.3.2. 認証の設定
Net-SNMP Agent Daemon は SNMP プロトコルの 3 つの全バージョンに対応します。最初の 2 つのバージョン (1 と 2c) は、コミュニティ文字列 を使用した簡易認証を提供します。この文字列は、エージェントとクライアントユーティリティ間で共有される秘密です。この文字列は、ネットワーク上でクリアテキストで渡されますが、安全性があるとは見なされません。SNMP プロトコルのバージョン 3 は、各種プロトコルを使用したユーザー認証とメッセージの暗号化に対応しています。また Net-SNMP エージェントは、SSH によるトンネリング、X.509 証明書を用いた TLS 認証、Kerberos 認証にも対応しています。
SNMP Version 2c Community の設定
SNMP version 2c community を設定するには、
/etc/snmp/snmpd.conf
設定ファイルにある rocommunity
または rwcommunity
指示文を使用します。指示文の形式は、以下のとおりです:
directive community [source [OID]]
community は使用するコミュニティ文字列、source は IP アドレスまたはサブネット、OID はアクセスを提供する SNMP ツリーです。例えば、次の指示文は、ローカルマシン上でコミュニティ文字列 「redhat」 を使用するクライアントに
system
ツリーへの読み取り専用のアクセスを与えます:
rocommunity redhat 127.0.0.1 .1.3.6.1.2.1.1
設定をテストするには、
-v
と -c
オプションを付けた snmpwalk
コマンドを使用します:
~]# snmpwalk -v2c -c redhat localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-122.el6.x86_64 #1 SMP Wed Mar 9 23:54:34 EST 2011 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (158357) 0:26:23.57
SNMPv2-MIB::sysContact.0 = STRING: UNIX Admin <admin@example.com>
SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain
SNMPv2-MIB::sysLocation.0 = STRING: Datacenter, Row 3, Rack 2
SNMP Version 3 User の設定
SNMP version 3 user を設定するには、
net-snmp-create-v3-user
コマンドを使用します。このコマンドは、/var/lib/net-snmp/snmpd.conf
および /etc/snmp/snmpd.conf
ファイルへエントリを追加し、ユーザーを作成してそのユーザーにアクセスを付与します。net-snmp-create-v3-user
コマンドは、エージェントが実行中でない時にのみ実行可能な点に注意してください。以下の例では 「redhatsnmp」 というパスワードを持つ 「admin」 ユーザーを作成します。
~]#service snmpd stop
Stopping snmpd: [ OK ] ~]#net-snmp-create-v3-user
Enter a SNMPv3 user name to create: admin Enter authentication pass-phrase: redhatsnmp Enter encryption pass-phrase: [press return to reuse the authentication pass-phrase] adding the following line to /var/lib/net-snmp/snmpd.conf: createUser admin MD5 "redhatsnmp" DES adding the following line to /etc/snmp/snmpd.conf: rwuser admin ~]#service snmpd start
Starting snmpd: [ OK ]
net-snmp-create-v3-user
が /etc/snmp/snmpd.conf
に追加する rwuser
指示文 (または -ro
のコマンドラインオプションが提供されている場合は rouser
) の形式は、rwcommunity
及び rocommunity
指示文と似ています。
directive user [noauth
|auth
|priv
] [OID]
user はユーザー名で、OID はアクセスを提供する SNMP ツリーです。デフォルトでは、Net-SNMP Agent Daemon は認証済み要求のみを許可します (
auth
オプション)。noauth
オプションを使うと、認証されていない要求を許可することができ、priv
オプションは暗号化の使用を強制します。authpriv
オプションを使用すると、要求の認証、応答の暗号化が必要であると指定します。
例えば、以下の行では、ユーザー 「admin」 にツリー全体への読み取りと書き込みのアクセスを付与しています:
rwuser admin authpriv .1
設定をテストするには、使用しているユーザーのホームディレクトリ内に
.snmp
ディレクトリを作成して、そのディレクトリに次の行を含む snmp.conf
と呼ばれる設定ファイルを作成します (~/.snmp/snmp.conf
):
defVersion 3 defSecurityLevel authPriv defSecurityName admin defPassphrase redhatsnmp
これで、エージェントをクエリする場合、
snmpwalk
コマンドはこうした認証設定を使用するようになります:
~]$ snmpwalk -v3 localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-122.el6.x86_64 #1 SMP Wed Mar 9 23:54:34 EST 2011 x86_64
[出力は省略されています]