実践SNMP教科書の復刻中に見つけたことのメモ
浦和レッズ クラブワールドカップ勝利!
夜中に観戦していたので今朝は眠くて開発はお休みしました。
夜中に観戦するために昨日は8時ぐらいに寝ました。11時15分にアラームをセットしましたが、11時ぐらいから新人助手の猫さんが大騒ぎして起こしてくれました。ご飯をあげに1階まで降りていって目がさめました。
FIFA+というサイトで中継を観たのですが、前半は接続できませんでした。ハーフタイムにやっと接続できて後半からやっと観られました。次の試合は、マンチェスター・シティーとです。朝3:00からなので早起きすればよいだけなので楽です。
さて、実践SNMP教科書の復刻をしていますが、2つほど興味深いことを見つけたのでメモしておきます。
SNMPのTLS対応
SNMPの通信のセキュリティーを強化するためにTLSに対応していることを関連する仕様(RFC)の検索で見つけました。NET-SNMPのドキュメントを見ていたら実際に使う方法がありました。
ポイントは
NET-SNMP 5.6以上が必要
ビルド時のオプションで明示的にTLSの利用を指定する必要がある
マネージャとエージェントの証明書が必要
なようです。サンプルを試すのはできそうですが、実際に組み込んで使うのは大変そうです。GO言語のSNMPパッケージで対応していたら、そのうち試そうと思います。
Debian 12上でNET-SNMPをインストールしてもMIBファイルがない
SNMPの拡張MIBモジュールから拡張エージェントを作るためにDebianの環境にNET-SNMPをインストールしてみました。
snmptranslateやmib2cのコマンドを実行すると異常に多くのエラーが表示されます。
Did not find 'ucdExperimental' in module UCD-SNMP-MIB (/usr/share/snmp/mibs/LM-SENSORS-MIB.txt)
Unlinked OID in LM-SENSORS-MIB: lmSensors ::= { ucdExperimental 16 }
Undefined identifier: ucdExperimental near line 32 of /usr/share/snmp/mibs/LM-SENSORS-MIB.txt
Cannot adopt OID in UCD-SNMP-MIB: logMatchRegExCompilation ::= { logMatchEntry 101 }
Cannot adopt OID in UCD-SNMP-MIB: logMatchErrorFlag ::= { logMatchEntry 100 }
Cannot adopt OID in UCD-SNMP-MIB: logMatchCycle ::= { logMatchEntry 11 }
Cannot adopt OID in UCD-SNMP-MIB: logMatchCount ::= { logMatchEntry 10 }
OIDのリンクが解決できないというエラーです。よく見ると、以前はインストールされていた標準MIBの定義モジュールファイルがありません。どうやら、Debian 12では、snmp-mibs-downloaderというパッケージをインポートする必要があり、さらに、snmp-mibs-downloaderは、non-freeのパッケージなので、/etc/apt/source.listに
のようにnon-feeeを追加してから
apt update
apt install snmp-mibs-downloader
を実行すれば、標準MIBもダウンロードされます。
これで、OIDのリンクエラーは解消されました。
明日に続く
ここから先は
実践SNMP教科書 復刻版
20年近く前に書いた「実践SNMP教科書」を現在でも通用する部分だけ書き直して復刻するマガジンです。最近MIBの設計で困っている人に遭遇し…
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。