Provided by: manpages-ja_0.5.0.0.20110915-1_all bug

AGENTX サブエージェント
       snmp   マスターエージェントで   AgentX   サポートを有効にするためには、
       snmpd.conf ファイルに以下のような行を書き込めばよい:

       master agentx
              このサポートはまだ実験的なもので、製品版のシステムでは使用すべき
              ではない。 詳細は README.agentx を参照すること。

SMUX サブエージェント
       gated のような SMUX ベースのサブエージェントを有効にするためには、 以下
       のように smuxpeer 設定エントリを使えばよい:

       smuxpeer OID PASS
              gated   についての実際のエントリは  smuxpeer  .1.3.6.1.4.1.4.1.3
              secret のようになる。

動的読み込み可能モジュール
       エージェントが UCD-DLMOD-MIB のサポートを組み込んでいる場合、  エージェ
       ント MIB モジュールを 起動時に dlmod ディレクティブを使って動的にロード
       したり、 実行中に UCD-DLMOD-MIB  を使って動的にロードすることができる。
       以下のディレクティブは、モジュール名プレフィックスが NAME である 共有オ
       ブジェクトモジュールファイル PATH をロードする。

       dlmod NAME PATH

アクセス制御
       snmpd は RFC 2275  で規定されている  View-Based  Access  Control  Model
       (vacm)    をサポートしている。   このため、snmpd   は設定ファイルにある
       com2sec, group, access, view というキーワードを認識する。  また簡単に使
       用するためのラッパーディレクティブ  rocommunity,  rwcommunity,  rouser,
       rwuser も認識する。

       rocommunity COMMUNITY [SOURCE] [OID]

       rwcommunity COMMUNITY [SOURCE] [OID]
              これらディレクティブは読み込みしかできないコミュニティと  読み書
              きできるコミュニティを作成し、  エージェントにアクセスするために
              使用する。 これらは以下の com2sec, group, access, view  ディレク
              ティブ行を簡単に使うための方法である。      これらは効率的ではな
              く、グループが作成されないために テーブルが幾分大きくなる。 言い
              換えれば、複雑な状態を設定する場合には使用してはならない、  とい
              うことである。

              SOURCE のフォーマットは、以下の com2sec ディレクティブセクション
              で 説明されているトークンと同じである。 OID トークンは、コミュニ
              ティのアクセスを、 指定された OID 以下のものだけに制限する。

       rouser USER [noauth|auth|priv] [OID]

       rwuser USER [noauth|auth|priv] [OID]
              SNMPv3 USM ユーザーを VACM アクセス設定テーブルに作成する。 これ
              もまた、com2sec,  group, access, view ディレクティブを組み合わせ
              て使用した方が効率的 (かつ強力) である。

              ユーザーが使用しなければならない認証とプライバシーの最低レベルを
              最初のトークンで指定する (デフォルトは "auth" である)。 OID パラ
              メータは、そのユーザーのアクセスを、 指定された OID 以下のものだ
              けに制限する。

       com2sec NAME SOURCE COMMUNITY
              このディレクティブはソース  (SOURCE)  とコミュニティ (COMMUNITY)
              のペアから  セキュリティ名   (NAME)   へのマッピングを指定する。
              SOURCE  はホスト名・サブネット・"default"  である。 サブネットは
              IP/MASK または IP/BITS で指定できる。 入ってくるパケットにマッチ
              するソースとコミュニティの組み合わせが選択される。

       group NAME MODEL SECURITY
              このディレクティブはセキュリティモデル (MODEL) と セキュリティ名
              (SECURITY) のペアから グループ名  (NAME)  へのマッピングを定義す
              る。 MODEL は v1, v2c, usm のいずれか 1 つである。

       access NAME CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY
              access ディレクティブはグループセキュリティと モデルセキュリティ
              のレベルを、あるビュー (view) にマップする。 MODEL は  any,  v1,
              v2c,  usm のいずれか 1 つである。 LEVEL は noauth, auth, priv の
              いずれか 1  つである。  PREFX  は入ってくる  pdu  の内容に対する
              CONTEXT  のマッチの方法を指定するもので、 exact または prefix で
              ある。 READ, WRITE, NOTIFY  はビューに対応するアクセス方法を指定
              するのに使われる。   v1   または  v2c  のアクセスでは、LEVEL  は
              noauth、 CONTEXT は空文字列である。

       view NAME TYPE SUBTREE [MASK]
              このディレクティブは指定した名前のビュー   (view)   を定義する。
              TYPE  は included または excluded である。 MASK は 16 進数で表し
              た 8 ビットを '.' または ':'  で区切ってリストにしたものである。
              MASK が指定されていない場合のデフォルトは "ff" である。

              マスクを使用する理由は、比較的簡単に  テーブルの  1 つの行 (row)
              へのアクセスを制御することにある。 例えば、ISP  ではそれぞれの顧
              客に対して  顧客ごとのインタフェースにアクセスさせたいと考えるか
              もしれない:

              view cust1 included interfaces.ifTable.ifEntry.ifIndex.1 ff.a0
              view cust2 included interfaces.ifTable.ifEntry.ifIndex.2 ff.a0

              (interfaces.ifTable.ifEntry.ifIndex.1 == .1.3.6.1.2.1.2.2.1.1.1 で
              ff.a0 == 11111111.10100000 である。
              これは行インデックスをうまい具合いにカバーして含んでいるが、
              行フィールドの変更をユーザーに許可している。)

       VACM の例:
              #       sec.name  source          community
              com2sec local     localhost       private
              com2sec mynet     10.10.10.0/24   public
              com2sec public    default         public

              #             sec.model  sec.name
              group mygroup v1         mynet
              group mygroup v2c        mynet
              group mygroup usm        mynet
              group local   v1         local
              group local   v2c        local
              group local   usm        local
              group public  v1         public
              group public  v2c        public
              group public  usm        public

              #           incl/excl subtree                          mask
              view all    included  .1                               80
              view system included  system                           fe
              view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc

              #              context sec.model sec.level prefix read   write notify
              access mygroup ""      any       noauth    exact  mib2   none  none
              access public  ""      any       noauth    exact  system none  none
              access local   ""      any       noauth    exact  all    all   all

       デフォルトの VACM モデル
              最初の状態でのエージェントのデフォルトの設定は、
              機能的には以下のエントリと等価である:
              com2sec   public    default   public
              group     public    v1   public
              group     public    v2c  public
              group     public    usm  public
              view      all  included  .1
              access    public    ""   any  noauth    exact     all  none none

SNMPv3 設定
       engineID STRING
              snmpd   エージェントが    SNMPv3    メッセージに応答するためには
              engineID    を設定する必要がある。    設定ファイルにこの行があれ
              ば、STRING から engineID  を設定する。  engineID  のデフォルト値
              は、マシンのホスト名に対して見つかる  最初の IP アドレスに設定さ
              れる。

       createUser username (MD5|SHA) authpassphrase [DES] [privpassphrase]
              このディレクティブは、他の場所にある通常の設定ファイルではなく、
              "/var/ucd-snmp"/snmpd.conf  ファイルに書くべきである。  その理由
              は、情報がこのファイルから読み込まれた後、      この行が削除され
              (ユーザーのマスターパスワードの格納場所から消去されて)、  この行
              から得られるキーに置き換えられるためである。  このキーはローカル
              なキーであり、  盗まれたとしても他のエージェントにアクセスするの
              には使えない。  しかしパスワードが盗まれた場合は、他のエージェン
              トにアクセスできる。

              MD5 と SHA は使用される認証タイプであるが、 SHA を使用するために
              はインストールされている openssl を使って パッケージを作成しなけ
              ればならない。  現在のところプライバシープロトコルがサポートされ
              ているのは DES のみである。 プライバシーパスフレーズが指定されて
              いない場合、 認証パスフレーズと同じであると仮定される。 上で説明
              した VACM アクセス制御テーブルに入れなければ、  作成したユーザー
              の使い道がない点に注意すること。

              警告: パスフレーズは少なくとも 8 文字である。

              snmpusm コマンドを用いれば、実行中に SNMPv3 ユーザーを作成するこ
              とができる。

システム情報の設定
       syslocation STRING

       syscontact STRING

       sysname STRING
              エージェントが置かれているシステムの場所   (location)・   連絡先
              (contact)・名前  (name)  を設定する。  この情報は mibII ツリーの
              'system'    グループに設定される。    通常、これらのオブジェクト
              (sysLocation.0,  sysContact.0 and sysName.0) は 読み書き可能であ
              る。  ただし、これらのオブジェクトの値に適切なトークンを付加して
              指定すれば、 そのオブジェクトを読み込みのみにすることができ、 オ
              ブジェクトの値を設定しようとしたときに notWritable  エラーレスポ
              ンスを返すようにできる。

       sysservices NUMBER
              system.sysServices.0  オブジェクトの値を設定する。  ホストの場合
              は、72 がよい。

       agentaddress [(udp|tcp):]port[@address][,...]
              デフォルトの 161  番ポートではなく、  指定したソケットのリストで
              エージェントのリストを作成する。  複数のポートをコンマで区切って
              指定できる。 トランスポート名 ("udp" または "tcp")・コロン・ポー
              ト名のようにして、  トランスポート名を指定できる。  特定のインタ
              フェースにバインドするために、  アドレスを指定することができる。
              例えば  agentaddress 161,tcp:161,9161@localhost のように指定すれ
              ば、エージェントに対して、 全てのアドレスの udp ポート 161・全て
              のアドレスの tcp ポート 161・ localhost のアドレスに関連づけられ
              た インタフェースの udp ポート 9161 を監視 (listen) させることが
              できる。  -T フラグを用いれば、 使用するデフォルトのトランスポー
              トマッピングを変更することができる (上記の例では、デフォルトのト
              ランスポートマッピングは udp である)。

       agentgroup groupid
              ポートをオープンした後で、グループ  ID  を指定した値に変更する。
              groupid はグループ名またはグループ番号である。  グループ番号の場
              合は  '#' で始める。 例えば agentgroup snmp の場合は、エージェン
              トを snmp グループで動作させる。 agentgroup  #10  の場合は、エー
              ジェントをグループ ID 10 番で動作させる。

       agentuser uid
              ポートをオープンした後で、ユーザー  ID  を指定した値に変更する。
              userid はユーザー名またはユーザー番号である。 ユーザー番号の場合
              は '#' で始める。 例えば agentuser snmp の場合は、エージェントを
              ユーザー snmp で動作させる。 agentuser #10  の場合は、エージェン
              トをユーザー ID 10 番で動作させる。

       interface NAME TYPE SPEED
              エージェントがタイプやスピードの推測に失敗したインタフェースに対
              して、    このディレクティブで追加の情報を提供することができる。
              TYPE は IANAifType-MIB で指定されるタイプである。

       ignoredisk STRING
              使用可能なディスクデバイスをスキャンする場合、  エージェントは使
              用可能なディスクデバイスをオープンするときに  ブロックを行うこと
              がある。  これによってデバイスツリーを辿っているときにタイムアウ
              トが起るかもしれない。  次に辿ったときにタイムアウトになるかもし
              れないし、 毎回タイムアウトになるかもしれない。

              このような現象が起った場合は、このディレクティブを追加し、
              チェックしない (つまりオープンしない) 全てのデバイスを指定する。
              設定ファイルにこのディレクティブを 1 つ以上の指定して、 オープン
              しない全てのデバイスを書き込む。 bourne シェルの文法の似たワイル
              ドカードを使って、  デバイスを指定することもできる (下記の例を参
              照すること)。

              注意: 全てのシステムでスキャンされるデバイスのリストは、  ソース
              (host/hr_disk.c)        を見て、       OS       タイプに対応した
              Add_HR_Disk_entry() コールをチェックすること。

              例:

              ignoredisk /dev/rdsk/c0t2d0

              このディレクティブは、 デバイス /dev/rdsk/c0t2d0  をスキャンさせ
              ないようにする。

              ignoredisk /dev/rdsk/c0t[!6]d0

              このディレクティブは /dev/rdsk/c0t6d0 を除く /dev/rdsk/c0tXd0 の
              全てのデバイスをスキャンさせないようにする。  多くのシステムで同
              様なディレクティブとしては以下のものがある:

              ignoredisk /dev/rdsk/c0t[0-57-9a-f]d0

              ignoredisk /dev/rdsk/c1*

              このディレクティブは、/dev/rdsk/c1 で始まる名前のデバイスを 全て
              スキャンさせないようにする。

              ignoredisk /dev/rdsk/c?t0d0

              このディレクティブは、デバイス /dev/rdsk/cXt0d0 ('X'  は任意の文
              字) を 全てスキャンさせないようにする。

              どのディレクティブにおいても、  このようなワイルドカード表現を 2
              つ以上使うことできる。

       authtrapenable NUMBER
              authtrapenable を  1  に設定すると、  認証の失敗が起った場合にト
              ラップを生成する。  デフォルトの値は disabled(2) である。 通常こ
              れに対応するオブジェクト (snmpEnableAuthenTraps.0)  は読み書き可
              能であるが、  このトークンを使って値を設定すると読み込みだけにな
              り、 オブジェクトの値を設定しようとした場合には  notWritable  エ
              ラーレスポンスを返す。

       trapcommunity STRING
              このコマンドはトラップを送るときに使う  デフォルトのコミュニティ
              文字列を定義する。  このコマンドはコミュニティ文字列を使う以下の
              3 つのコマンドより 前に使用しなければならない点に注意すること。

       trapsink HOST [COMMUNITY [PORT]]

       trap2sink HOST [COMMUNITY [PORT]]

       informsink HOST [COMMUNITY [PORT]]
              これらのコマンドはトラップを受信する (通知を送る先の) ホストを定
              義する。 このデーモンは起動時に Cold Start トラップを送る。 有効
              になっている場合は、認証が失敗したときにもトラップを送る。
              trapsink, trap2sink, informsink 行を複数指定すれば、  複数の送信
              先を指定することができる。  trap2sink は SNMPv2 トラップを送るの
              に使う。 informsink は通知を発行するのに使う。 COMMUNITY  が指定
              されていない場合、 以前に trapcommunity ディレクティブで指定した
              文字列が使われる。 PORT が指定されていない場合、  良く知られてい
              る SNMP トラップポート (162) が使われる。

       trapsess [SNMPCMD_ARGS] HOST [COMMUNITY]
              これはより基本的なトラップ設定トークンで、  任意のトラップ送信先
              タイプと任意の SNMP バージョンを指定できる。 SNMPCMD ARGS として
              渡される引き数のより詳しい情報は、  snmpcmd(1) の man ページを参
              照すること。 ここで挙げた引き数に加えて、特別な引き数  -Ci  があ
              り、  unacknowledged  トラップではなく通知を使用することを指定す
              る。 (この引き数を指定するには、 バージョン番号 v2c または v3 を
              指定する必要がある)。

プロキシのサポート
       proxy [SNMPCMD ARGS] HOST OID [REMOTEOID]
              警告: この機能はサポートはβ版である。

              このトークンは受信した  OID 以下の任意のリクエストを HOST に中継
              して渡す。 通常はローカルの OID ツリーを新しい  REMOTEOID という
              場所に変更する。  HOST で認証されるためには、適切な SNMPCMD ARGS
              のセットを使わなければならない。 詳細は snmpcmd の man  ページを
              参照すること。

              例:

              proxy -v 1 -c public remotehost .1.3.6.1.4.1.2021

              proxy  -v  3  -l  noAuthNoPriv  -u user remotehost .1.3.6.1.3.10
              .1.3.6.1.2.1.1

パススルー制御
       pass MIBOID EXEC
              MIBOID の全制御を EXEC プログラムに渡す。 EXEC  プログラムは以下
              の 3 つのうちの 1 つの方法で呼び出す:

              EXEC -g MIBOID

              EXEC -n MIBOID

                     これらの呼び出しは SNMP get と getnext リクエストにマッチ
                     する。 EXEC プログラムは渡された引き数を受け取り、 レスポ
                     ンスを標準出力に返すと仮定されている。

                     標準出力の 1 行目は返り値の mib OID である。 2 行目は返さ
                     れる値の  TYPE  である。  TYPE  はテキスト文字列  string,
                     integer,   unsigned,   objectid,   timeticks,  ipaddress,
                     counter, gauge のうちの 1 つである。 標準出力の 3  行目は
                     返された TYPE に対応する VALUE である。

                     例えば .1.3.6.1.4.100 へリクエストが送られたときに スクリ
                     プトが整数値 "42" を返す場合、 スクリプトは以下の 3  行を
                     返さなければならない:
                       .1.3.6.1.4.100
                       integer
                       42

                     end-of-mib  条件や不正なリクエスが原因で、 スクリプトが応
                     答できないことを表すには、 単純に exit して標準出力に何も
                     返さなければよい。 SNMP NO-SUCH-NAME レスポンスに対応する
                     snmp エラーが生成される。

              EXEC -s MIBOID TYPE VALUE

                     SNMP set リクエストを送るには、上の方法を用いる。 EXEC プ
                     ログラムに渡される   TYPE   は、テキスト文字列   integer,
                     counter, gauge, timeticks, ipaddress, objid, string  のう
                     ちの 1 つである。 これらは次の引き数で渡される VALUE のタ
                     イプを表す。

                     標準出力に何も返さなかった場合は、set  が成功したものと仮
                     定する。  それ以外の場合としては、エラーを示すために not-
                     writable または wrong-type のいずれかの文字列を返すことが
                     あり、 適当なエラーレスポンスが生成される。

                     注意:  デフォルトでは、ユーザーのスクリプトで write (つま
                            り snmpset) が許可されるコミュニティは、 "private"
                            コミュニティと 上で説明した "community" トークンで
                            別に定義した コミュニティ #2  のみである。  どのコ
                            ミュニティに書き込みアクセスを許可するかは、  ソー
                            スファイル snmplib/snmp_impl.h の RWRITE  定義で制
                            御できる。

              (snmpd.conf における) 例:

              pass .1.3.6.1.4.1.2021.255 /path/to/local/passtest

       pass_persist MIBOID EXEC
              MIBOID  の全ての制御を  EXEC  プログラムに渡す。 pass と似ている
              が、EXEC  プログラムは  最初のリクエストに返答した後も稼働し続け
              る。

              初期化の際には、EXEC  に対して標準入力から文字列 "PING\n" が渡さ
              れ、 標準出力に "PONG\n" を表示して返答する。

              get または getnext リクエストを送るには、 EXEC  プログラムにコマ
              ンド (get または getnext) と mib OID という 2 行を渡す。 EXEC プ
              ログラムは、mib OID・返される VALUE の TYPE・ 返された TYPE に対
              応する VALUE という 3 行を返す。

              例えば、.1.3.6.1.4.100 の値をリクエストする場合は、 標準入力に以
              下の 2 行を渡す。
                get
                .1.3.6.1.4.100

              値、つまり 42 を返すために、スクリプトは以下のような書き出しを行
              う:
                .1.3.6.1.4.100
                integer
                42

              end-of-mib 条件または不正なリクエストが原因で、 スクリプトがリク
              エストに応答できないことを表すには、 標準出力に "NONE\n"  を書き
              出す。

              (snmpd.conf における) 例:

              pass_persist                               .1.3.6.1.4.1.2021.255
              /path/to/local/pass_persisttest

例
       上記の情報が実際の例でどのように使われているかについては、 ソースのトッ
       プディレクトリにある EXAMPLE.CONF ファイルを参照すること。

snmpd.confsnmpd.local.conf の再読み込み
       ucd-snmp エージェントは設定ファイルを再読み込みさせることが可能である。
       以下の 2 つのうちの 1 つを実行すればよい:

       1.     snmpset          で          UCD-SNMP-MIB::versionUpdateConfig.0
              (.1.3.6.1.4.1.2021.100.11.0) を整数 (1) に設定する。

       2.     snmpd エージェントプロセスに "kill -HUP" シグナルを送る。

ファイル
       /usr/share/snmp/snmpd.conf

関連項目
       snmpconf(1),   snmp.conf(5),  snmp_config(5),  snmpd(1),  EXAMPLE.conf,
       read_config(3).