ともかく SNMP を理解するにはやはり触ってみたい・・・のですが特に Windows の場合、標準状態で SNMP に触る方法がほぼありません(汗
そこで Windows 10 には WSL (Bash on Ubuntu on Windows) があるので、そこに NET-SNMP をインストールして周辺機器 (ルーターとか) の MIB を参照するための環境を構築してみます。また目的は MIB を参照するためだけなので自分自身を SNMP agent にはしないことにします。
ということで、NET-SNMP (Linux版) のインストール手順を以下にメモ。また以下のインストール作業はすべて root で行っています。
- Windows 10 (WSL; Bash on Ubuntu on Windows) / Debian 系 Linux の場合。
Windows 10 の場合 x64 であれば WSL (Bash on Ubuntu on Windows) が使えるのでこれを有効にし、NET-SNMP をインストールします。実体は Ubuntu なので、インストールは Debian 系 Linux の作法で行います。
apt-get install snmp apt-get install snmp-mibs-downloader download-mibs
apt-get install snmp だけでは mib ファイルが全くインストールされないので apt-get install snmp-mibs-downloader を行いその後 download-mibs を実行します。(参考: https://l3net.wordpress.com/2013/05/12/installing-net-snmp-mibs-on-ubuntu-and-debian/)
download-mibs が終了したら、snmptranslate を実行して期待する結果が得られるかを確認します。
[root@localhost ~]# snmptranslate .1.3.6.1.2.1.4.20.1.1 -Of .iso.org.dod.internet.mgmt.mib-2.ip.ipAddrTable.ipAddrEntry.ipAdEntAddr
snmptranslate を実行時に、以下のようなエラーがでる場合があります。
Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 } Undefined identifier: mib-2 near line 18 of /usr/share/mibs/ietf/IPATM-IPMC-MIB Expected "::=" (RFC5644): At line 493 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB Expected "{" (EOF): At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB Bad object identifier: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB Bad parse of OBJECT-IDENTITY: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB Bad operator (INTEGER): At line 73 in /usr/share/mibs/ietf/SNMPv2-PDU
この場合、以下を追加で実行します。(参考: https://mistymagich.wordpress.com/2016/07/19/Ubuntu 14.04, Ubuntu 16.04上のsnmpwalk,snmptranslateでエラーが出力される)
wget http://www.iana.org/assignments/ianaippmmetricsregistry-mib/ianaippmmetricsregistry-mib -O /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB wget http://pastebin.com/raw.php?i=p3QyuXzZ -O /usr/share/mibs/ietf/SNMPv2-PDU wget http://pastebin.com/raw.php?i=gG7j8nyk -O /usr/share/mibs/ietf/IPATM-IPMC-MIB
- CentOS / Redhut 系 Linux の場合
CentOS の場合は以下のようにインストールします。
yum install net-snmp yum install net-snmp-utils
インストール後、snmptranslate を実行して期待する結果が得られるかを確認します。
[root@localhost ~]# snmptranslate .1.3.6.1.2.1.4.20.1.1 -Of .iso.org.dod.internet.mgmt.mib-2.ip.ipAddrTable.ipAddrEntry.ipAdEntAddr
- Windows 8.1 以前、および Windows 10 が x86 である場合。