## incl/excl subtree mask view all included .1 80
まずは 'man snmpd.conf'。mask の指定は16進数ということは分かったけれど、まだハッキリしない。
view VNAME TYPE OID [MASK] ... MASK is a list of hex octets (optionally separated by '.' or ':') with the set bits indicating which subidentifiers in the view OID to match against.
ここのメーリングリストの説明を見て、やっと分かった!
つまり、ビットが立っている部分は固定(指定したOIDそのまま)で、立っていない部分はワイルドカードの扱いになると。実際に確認してみよう。
たとえば、このようなインターフェース構成のサーバで、"全て公開"の設定にしていると、全てのインターフェースの情報が見える(当然ですね!)
# snmpwalk -v 2c -c private localhost .1.3.6.1.2.1.2.2.1.2 IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: eth0 IF-MIB::ifDescr.3 = STRING: eth1 IF-MIB::ifDescr.4 = STRING: eth2 (「受信した総バイト数」を表示) # snmpwalk -v 2c -c private localhost .1.3.6.1.2.1.2.2.1.10 IF-MIB::ifInOctets.1 = Counter32: 1270274 IF-MIB::ifInOctets.2 = Counter32: 165686032 IF-MIB::ifInOctets.3 = Counter32: 9656051 IF-MIB::ifInOctets.4 = Counter32: 635738 (「送信した総バイト数」を表示) # snmpwalk -v 2c -c private localhost .1.3.6.1.2.1.2.2.1.16 IF-MIB::ifOutOctets.1 = Counter32: 1270274 IF-MIB::ifOutOctets.2 = Counter32: 19914854 IF-MIB::ifOutOctets.3 = Counter32: 805032 IF-MIB::ifOutOctets.4 = Counter32: 8933886
ここで、このように設定を変更すると、
view ifRow4 included .1.3.6.1.2.1.2.2.1.0.4 0xff:a04番目のインターフェース(eth2)の情報しか見えなくなる。
# snmpwalk -v 2c -c private localhost .1.3.6.1.2.1.2.2.1.10 IF-MIB::ifInOctets.4 = Counter32: 635738 # snmpwalk -v 2c -c private localhost .1.3.6.1.2.1.2.2.1.16 IF-MIB::ifOutOctets.4 = Counter32: 8933886公開する情報を、特定のインターフェースに制限しつつ、様々な IfEntry を取得したい時などに便利そうですね。
まとめると、下記の設定はMIBのオブジェクトツリーのトップ('iso(1)')にのみビットが立っているので、配下のオブジェクトは任意 = 全て公開 ということになるんですね。
.1 1 0 0 0 0 0 0 0 = 0x80
0 件のコメント:
コメントを投稿