SNMPD(8) — NEWS-OS Programmer’s Manual
名称
snmpd - SNMP エージェント
形式
snmpd [-d debuglevel logfile]
解説
snmpd は、SNMP を処理するサーバープロセス (エージェント) です。 snmpd は、デーモンプロセスとして起動され、UDP ポート 161 からの SNMP パケットを 監視します。 このため、/etc/services には、 SNMP のためのエントリが必要です。 snmpd が、ネットワーク管理マシンからの SNMP パケットを受信すると snmpd は、RFC-1157 に規定してあるようにパケットを処理してそのリスポンスを返します。 snmpd は、そのほとんどの情報をカーネルメモリー (/dev/kmem) から得ます。 また、それ以外のいくつかの情報を他の UNIX デーモン (gated) から得ます。 その他の静的情報は、コンフィグレーションファイル (/etc/snmpd.conf) から得ます。 コンフィグレーションファイルは、 /etc/snmpd.conf に置かれます。 snmpd は、RFC-1157 (Simple Network Management Protocol) に従い、MIB 変数は RFC-1158 (Management Information Base [MIB-II]) に準拠しています。
コマンドラインオプション
snmpd は、通常エラーメッセージ等を syslog 経由でログとして保存しますが、 デバックおよびトレース情報を出力するように、起動時の debug level と共に 指定することが出来ます。 その際には、-d フラグと次に <デバックレベル> <ログファイル名> として指定することが出来ます。最大デバックレベルは、9 です。 その際すべての出力情報は、<ログファイル>に書かれます。 現在のバージョンで有効なデバックレベルは以下のとおりです。
1snmpd のバージョン番号の出力と、起動時間、終了時間。および、 SNMP パケットを受信した際の、送信者のアドレスおよびパケットサイズを 書きだします。
2コンフィグレーションファイルから読み込んだ情報を出力します。
3受信した SNMP パケットをダンプ表示し、処理した結果を出力します。 その際に、サーチしたルーティングおよびインターフェース情報を 出力します。 また、送り返した SNMP パケットについてもダンプします。
4snmpd 内の MIB 変数ツリーをダンプします。その際に、起動時の静的な変数の 情報も表示します。
デバックレベルがセットされると、それ以下のデバックレベルの情報も合わせて 出力されます。 またデバックレベルがセットされていないと、 snmpd は、コントロールターミナルから切り離し、バックグラウンドプロセスとして動きます。
コンフィグレーションファイルパラメータ
1sysdescr <ID string> これが指定されると、_mgmt_mib_system_sysDescr 変数値として <ID string> が登録されます。 これが指定されないと、デフォルトの値が使用されます。 これはそれぞれのサイトで変更すべき値です。
2syscontact <ID string> これが指定されると、_mgmt_mib_system_sysContact 変数値として <ID string> が登録されます。 これが指定されないと、何も返されません。 これはそれぞれのサイトで変更すべき値です。
3syslocation <ID string> これが指定されると、_mgmt_mib_system_sysLocation 変数値として <ID string> が登録されます。 これが指定されないと、何も返されません。 これはそれぞれのサイトで変更すべき値です。
4sysservices <bit> これが指定されると、_mgmt_mib_system_sysServices 変数値として <bit> が登録されます。 これが指定されないと、何も返されません。 これは変更しないでください。
5interface speed <name> <speed> これは、_mgmt_mib_interfaces_ifTable_ifEntry_ifSpeed の値として 使われます。 <name> は、カーネル内にあるネットワークインターフェース名 "en0" や "sl0" などと同じものでなければなりません。 <speed> は、そのインターフェースのスピードを数字で指定します。 単位は、bit per second (bps) です。 このエントリーがないと、 snmpd は、この変数値を返せません。 標準の値に加えることは可能です。
6interface type <name> <type> これは、_mgmt_mib_interfaces_ifTable_ifEntry_ifType の値として使われます。 <name> は、カーネル内にあるネットワークインターフェース名 "en0" や "sl0" などと同じものでなければなりません。 <type> は、インターフェースのタイプを数字で指定します。 数値とタイプの対応は、RFC-1156 ページ 13 に指定してあります。 このエントリーがないと、 snmpd は、この変数値を返せません。 標準の値に加えることは可能です。
7tcprtoalgorithm <algorithm type> これは、_mgmt_mib_tcp_tcpRtoAlgorithm の値として使われます。 この値は、TCP で Retransmission Time-Out Algorithm にどのタイプのものが 使われているかを数値で示します。その対応は、RFC にあります。 このエントリーがないと、 snmpd は、この変数値を返せません。 これは変更しないでください。
8community <name> <address> {read-only | read-write | traps} これは、SNMP で使うコミュニテイ名を指定しかつアクセス権を設定します。 <name> は、実際使われるコミュニティ名を指定します。 <address> は、IP アドレスで必ずホスト名でなくドット記法で書く必要があります。 この場合 snmpd は、<address> から来たパケットだけ受信します。 0.0.0.0 というアドレスが指定された場合は、いかなるアドレスも受信します。 最後のパラメータで、コミュニティのタイプを指定します。 現在 3 つのコミュニティタイプが使用可能です。 "read-only" のコミュニティでは、変数のモニターだけが可能です。 "read-write" のコミュニティでは、変数のモニターとセットが可能です。 "trap" のコミュニティでは、trap メッセージが生成されたときに そのコミュニティ名で指定されたアドレスに対して、trap メッセージが 送られます。 コミュニティ名が指定されないときには、 snmpd は、一切リスポンスを返しません。 もし、不正なコミュニティ名が使用されたときには、syslog でログが残ります。 ある限られたグループのマシンにあるコミュニティ名の使用を 制限するためには、それぞれのマシンのアドレスなどを一つ一つ書かねば なりません。
例を挙げます。 community bignoc192.33.4.44read-only
community bignoc192.33.4.10read-only
community public0.0.0.0read-only
community mytest128.84.253.200read-only
community trap1192.33.4.44traps
community trap1192.33.4.10traps
community trap210.4.0.15traps
上の例では、コミュニティ "bignoc" を使用できるマシンは、 IP アドレス 192.33.4.44 か 192.33.4.10 のマシンに限られます。 (その他のマシンからの要求は無視されます。) また、コミュニティ "public" は、誰でも使用できます。 コミュニティ "mytest" は、128.84.253.200 のマシンからのみ使用できます。 ただし、これらのいずれも変数をセットするだけです。(read-only が指定されている) trap メッセージが生成されるときには、そのメッセージは、コミュニティ名 "trap1" と共に 192.33.4.44 と 192.33.4.10 に送られます。 また同様に、コミュニティ名 "trap2" で 10.4.0.15 にも送られます。 詳しくは、snmptrapd (1) を参照してください。
SNMP TRAP メッセージサポート
SNMP の traps メッセージは snmpd によって生成されます。 現在 2 種類の trap メッセージがサポートされています。 まず "Cold Start" トラップは、 snmpd が、スタートしたときに生成されます。 もう一つ "Authentication Failure" トラップは、不正なコミュニティ名が、 使用されたときに生成されます。 これらの trap メッセージは、コンフィグレーションファイル内で "trap" コミュニティとしてされたすべてのマシンに送られます。 no_authen_traps コンフィグレーションファイルの中でこれが指定されると、上で述べた "Authentication Failure" は生成されません。 デフォルトでは、 snmpd は、Authentication Failure を生成します。
SNMP セット
変数に値をセットする機構が RFC-1157 で加えられました。 snmpd が、set-request パケットを受信したときには、read-write 変数に対して のリクエストであるか値は妥当かなどのチェックをします。 このチェックの際に snmpd は、set-request のリンクリストを作成します。 そして、チェックが終わると、実際の set オペレーションが行われます。 もし、そのオペレーションが失敗するとすべての変数は元の古い値に もどされます。 より詳しくは、 RFC-1157 をご覧下さい。 現在の snmpd でサポートされている set 可能な変数は以下のとおりです。
1sysContact
2sysName
3ifAdminStatus
4snmpEnableAuthTraps
SNMP サポート変数
現在 snmpd でサポートされている変数は、RFC-1158 に準拠しています。 また、ソニー拡張として変数を加えています。 現在の UNIX カーネルでは、これらすべての変数をサポートで来ません。 いくつかの MIB 変数は、カーネルからではなくシステムレベルのプログラム から得ています。 例えば、UNIX のルーティングデーモンなどです。 Snmpd が現在サポートしているデーモンは、 gated だけです。 Snmpd は、EGP group の変数と ipRoutingTable に関する変数 の値は、 gated から直接得ています。
バグ
すべての MIB-II 変数をサポートしていません。 これは、UNIX カーネルの仕様のためです。 セット可能な変数も限られています。 より多くの変数が、セット可能であるべきです。また、よりスマートな セットオペレーションが必要です。
関連ファイル
/etc/snmpd.confコンフィグレーションファイル
/etc/snmpd.pidsnmpd のプロセス ID
/etc/snmp.variablesMIB データベース
/usr/sony/doc/SNMPSNMP 関連ドキュメントのあるディレクトリ
参照
J.D. Case, J.R. Davin, M.S. Fedor, M.L. Schoffstall, Simple Network Management Protocol, Request for Comments 1157, Network Information Center, SRI International, Menlo Park, California, May, 1990. M.T. Rose, K. McCloghrie, Structure of Management Information, Request for Comments 1155, Network Information Center, SRI International, Menlo Park, California, May, 1990. K. McCloghrie, M.T. Rose, Management Information Base, Request for Comments 1156, Network Information Center, SRI International, Menlo Park, California, May, 1990. M.T. Rose, Editor Management Information Base: MIB-II, Request for Comments 1158, Network Information Center, SRI International, Menlo Park, California, May, 1990.
NEWS-OSRelease 4.2.1R