はじめに
LinuxでSNMPエージェント設定し、Cisco機器から実施からMIB情報を取得する方法を紹介します。
検証環境
【localhost】
今回SNMPマネージャーの設定を入れる機器です。
IPアドレス:192.168.68.250
OS:CentOS8
【rt01】
今回SNMPエージェントして監視したいルーターです。
IPアドレス:192.168.68.51
機器名:Cisco1921/K9

設定手順
SNMPエージェントのインストール
SNMPマネージャーにnet-snmpとnet-snmp-utilsをインストールします。
dnf(RHEL7ではyum)コマンドでパッケージインストールをします。
1 |
[root@localhost ~]# dnf install -y net-snmp net-snmp-utils |
設定ファイル(snmpd.conf)の編集
インストールが完了したら、設定ファイルを編集します。
SNMPマネージャーの設定ファイルは/etc/snmp/snmpd.confにあります。中身を見ると割と膨大にデータが入っていますが、コメントアウト・空白が大半です。
以下は、コメントアウトと空白を除いたものだけを出力した結果です。
1 2 3 4 5 6 7 8 9 10 |
[root@localhost snmp]# grep -v -e "^#" /etc/snmp/snmpd.conf_20200806 |grep -v -e "^\s*$" com2sec notConfigUser default public group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 access notConfigGroup "" any noauth exact systemview none none syslocation Unknown (edit /etc/snmp/snmpd.conf) syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf) dontLogTCPWrappersConnects yes |
上記の中で不要な部分を削除し、以下のように書き換えます。細かい部分は次のセクションで説明します。
1 2 3 4 5 6 7 8 9 |
com2sec omotiNetwork 192.168.68.250 omotiComname group omotiGroup v1 omotiNetwork group omotiGroup v2c omotiNetwork view omotiViewName included .1 80 access OMOTIgroup "" any noauth exact omotiViewName none none disk /10000 syslocation LocalLab syscontact Root orangetea <orange0227jas☆ricecake24book.com> dontLogTCPWrappersConnects yes |
設定ファイルの書式について
書き換えた設定について、1つ1つみていきましょう。
com2sec omotiNetwork 192.168.68.250 omotiComName
【com2sec】この行が「コミュニティ名とセキュリティを指定する行」という意味になります。
【omotiNetwork】セキュリティ名を定義します。名前は任意に設定可能です。
【192.168.68.250】SNMPマネージャーのIPを定義します。
【omotiComName】コミュニティ名を定義します。名前は任意に設定可能です。
group omotiGroup v1 omotiNetwork
【group】この行が「グループを設定する行」という意味になります。
【omotiGroup】グループ名を定義します。名前は任意に設定可能です。
【v1】セキュリティモデルを指定します。バージョン1で設定しています。
【omotiNetwork】セキュリティ名を指定します。名前は任意に設定可能です。
group omotiGroup v2c omotiNetwork
【group】この行が「グループを設定する行」という意味になります。
【omotiGroup】グループ名を定義します。名前は任意に設定可能です。
【v2c】セキュリティモデルを指定します。バージョン2でも対応できるように設定しています。
【omotiNetwork】セキュリティ名を指定します。名前は任意に設定可能です。
view omotiViewName included .1 80
【view】この行が「viewを設定するの行」という意味になります。
【omotiViewName】view名を定義します。名前は任意に設定可能です。
【included】「include」または「exclude」を指定します。includedは許可、excludeは拒否となります。
【.1】MIBの範囲を指定します。「.1」は、マスク値と連携することで意味をなします。
【80】マスク値を指定します。「80」は16進数表記です。これを2進数に変換すると「1000 0000」となります。
OIDの形式は、「.1*」となるので、マスク値と合わせるとすべてのOIDが該当します。
ゆえに、omotiViewNameは、すべてを許可することになります。
access omotiGroup “” any noauth exact omotiViewName none none
【access】この行が「アクセス許可設定を行う」という意味になります。
【omotiGroup 】グループ名の指定します。上記で設定したグループ名を指定します。
【”” 】contextの指定します。v1またはv2の場合は、空白で指定します。(””)
【any】sec.modelを指定します。セキュリティモデルを指定します。
【noauth】levelを指定します。v1またはv2の場合は「noauth」を指定します。
【exact】prefixを指定します。「exact」または、「prefix」のいずれかを指定します。
【omotiViewName】readの指定します。ここでviewで指定した名前を使います。
【none】writeを指定します。viewで指定した名前を使います。なければ「none」とします。
【none】notifyを指定します。viewで指定した名前を使います。なければ「none」とします。
disk /10000
disk:ディスクに関する設定行であることを表します。
/10000:ディレクトリの空き容量が10000K bB以下(10MB)になった場合、エラーとします。
syslocation LocalLab
syslocation:マシンの場所などを記載できます。
syscontact orangetea <orange0227jas☆ricecake24book.com>
syscontact:管理者の名前を登録できます。
dontLogTCPWrappersConnects yes
SNMPの問い合わせがあったときに、ログに書き込まない設定です。
【参考】
http://changineer.info/server/monitoring/monitoring_snmpd.html
https://qiita.com/toshiro3/items/e8f87da88cd383a6421d
上記の通り、編集した結果が以下です。