SNMP
提供: Wikinote
RHEL の net-snmp パッケージについて。
設定
snmpd サービスの設定 (/etc/snmp/snmpd.conf) について。
アクセス制御の基本設定
# com2sec # ソース (SOURCE) とコミュニティ (COMMUNITY) のペアから # セキュリティ名 (SECURITY) へのマッピングを指定する。 # SECURITY SOURCE COMMUNITY com2sec publicUser default public com2sec privateUser 192.168.1.10/32 private com2sec localUser localhost private # group # セキュリティモデル (MODEL) とセキュリティ名 (SECURITY) のペアから # グループ名 (GROUP) へのマッピングを指定する。 # GROUP MODEL SECURITY group publicGroup v1 publicUser group privateGroup v1 privateUser group privateGroup v2c privateUser group privateGroup v1 localUser group privateGroup v2c localUser # view # ビューの定義 # VIEW TYPE SUBTREE [MASK] view systemView included .1.3.6.1.2.1.1 view systemView included .1.3.6.1.2.1.25.1.1 view allView included .1 # access # グループセキュリティとモデルセキュリティをビュー (VIEW) にマップする。 # GROUP CONTEXT SEC.MODEL SEC.LEVEL PREFIX READ WRITE NOTIF access publicGroup "" any noauth exact systemView none none access privateGroup "" any noauth exact allView none none
実行例
snmpwalk コマンドを使用する。-On オプションは、MIB を数字 (OID) で出力する (SUBTREE チェックのため)。
public でのアクセス例
$ snmpwalk -On -v 1 -c public localhost .1.3.6.1.2.1.1.1.0 = STRING: Linux lab.hagio.org 2.6.18-194.el5PAE #1 SMP Tue Mar 16 22:00:21 EDT 2010 i686 .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10 .1.3.6.1.2.1.1.3.0 = Timeticks: (39553) 0:06:35.53 .1.3.6.1.2.1.1.4.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) .1.3.6.1.2.1.1.5.0 = STRING: lab.hagio.org .1.3.6.1.2.1.1.6.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) .1.3.6.1.2.1.1.8.0 = Timeticks: (1) 0:00:00.01 .1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.1 .1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.2.1.49 .1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.2.1.4 .1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.2.1.50 .1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.6.3.16.2.2.1 .1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.6.3.10.3.1.1 .1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.6.3.11.3.1.1 .1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.15.2.1.1 .1.3.6.1.2.1.1.9.1.3.1 = STRING: The MIB module for SNMPv2 entities .1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB module for managing TCP implementations .1.3.6.1.2.1.1.9.1.3.3 = STRING: The MIB module for managing IP and ICMP implementations .1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for managing UDP implementations .1.3.6.1.2.1.1.9.1.3.5 = STRING: View-based Access Control Model for SNMP. .1.3.6.1.2.1.1.9.1.3.6 = STRING: The SNMP Management Architecture MIB. .1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB for Message Processing and Dispatching. .1.3.6.1.2.1.1.9.1.3.8 = STRING: The management information definitions for the SNMP User-based Security Model. .1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (0) 0:00:00.00 .1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (0) 0:00:00.00 .1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (0) 0:00:00.00 .1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (0) 0:00:00.00 .1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (0) 0:00:00.00 .1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (1) 0:00:00.01 .1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (1) 0:00:00.01 .1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (1) 0:00:00.01 .1.3.6.1.2.1.25.1.1.0 = Timeticks: (294883722) 34 days, 3:07:17.22 End of MIB
private でのアクセス例 (ローカルか 192.168.1.10 からのみ)
$ snmpwalk -On -v 1 -c private localhost .1.3.6.1.2.1.1.1.0 = STRING: Linux lab.hagio.org 2.6.18-194.el5PAE #1 SMP Tue Mar 16 22:00:21 EDT 2010 i686 .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10 .1.3.6.1.2.1.1.3.0 = Timeticks: (7061) 0:01:10.61 .1.3.6.1.2.1.1.4.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) .1.3.6.1.2.1.1.5.0 = STRING: lab.hagio.org .1.3.6.1.2.1.1.6.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) .1.3.6.1.2.1.1.8.0 = Timeticks: (0) 0:00:00.00 .1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.1 .1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.2.1.49 .1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.2.1.4 .1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.2.1.50 ... .1.3.6.1.2.1.88.1.4.3.1.3.6.95.115.110.109.112.100.95.108.105.110.107.68.111.119.110 = STRING: _linkUpDown .1.3.6.1.2.1.88.1.4.3.1.3.6.95.115.110.109.112.100.95.108.105.110.107.85.112 = STRING: _linkUpDown .1.3.6.1.2.1.88.1.4.3.1.3.6.95.115.110.109.112.100.95.109.116.101.84.114.105.103.103.101.114.70.97.105.108.117.114.101 = STRING: _triggerFail .1.3.6.1.2.1.88.1.4.3.1.3.6.95.115.110.109.112.100.95.109.116.101.84.114.105.103.103.101.114.70.97.108.108.105.110.103 = STRING: _triggerFire .1.3.6.1.2.1.88.1.4.3.1.3.6.95.115.110.109.112.100.95.109.116.101.84.114.105.103.103.101.114.70.105.114.101.100 = STRING: _triggerFire .1.3.6.1.2.1.88.1.4.3.1.3.6.95.115.110.109.112.100.95.109.116.101.84.114.105.103.103.101.114.82.105.115.105.110.103 = STRING: _triggerFire .1.3.6.1.2.1.92.1.1.1.0 = Gauge32: 1000 .1.3.6.1.2.1.92.1.1.2.0 = Gauge32: 1440 minutes .1.3.6.1.2.1.92.1.2.1.0 = Counter32: 0 notifications .1.3.6.1.2.1.92.1.2.2.0 = Counter32: 0 notifications
その他
MIB と OID の変換
snmptranslate コマンドを使用して MIB と OID の相互変換を行うことができる。
まず、OID を渡すと省略形の MIB 名が得られる。 -Of オプションを使用すると、完全な MIB 名となる。
$ snmptranslate .1.3.6.1.2.1.1 SNMPv2-MIB::system $ snmptranslate -Of .1.3.6.1.2.1.1 .iso.org.dod.internet.mgmt.mib-2.system
例えば、ipForwarding という MIB 情報の OID が知りたい場合、 単に ipForwarding だけを指定しても、辿り方がわからないのでエラーとなる。
$ snmptranslate ipForwarding No log handling enabled - turning on stderr logging ipForwarding: Unknown Object Identifier (Sub-id not found: (top) -> ipForwarding)
この場合は -Ib オプションを指定して検索を行うようにする必要がある。 また、上記と同様に -Of オプションも指定可能。 OID で出力したい場合は、-On オプションを使用する。
$ snmptranslate -Ib ipForwarding IP-MIB::ipForwarding $ snmptranslate -Of -Ib ipForwarding .iso.org.dod.internet.mgmt.mib-2.ip.ipForwarding $ snmptranslate -On -Ib ipForwarding .1.3.6.1.2.1.4.1