SNMP(Simple Network Management Protocol)は、ネットワーク機器を監視・管理するための通信プロトコルです。
ルータ、スイッチ、サーバ、プリンタ、UPSなど、
ネットワークに接続されたさまざまなデバイスの状態を遠隔で取得したり、設定変更したりするために使われます。
✅ 1. SNMPとは何か?
✅ 2. SNMPの構成要素
| 構成要素 | 説明 |
|---|
| マネージャ(Manager) | 管理者側。データを収集・表示・記録(例:Zabbix, Nagios, SolarWinds) |
| エージェント(Agent) | 管理される側の機器。SNMPで情報提供(例:Ciscoルータ、Linuxサーバなど) |
| MIB(Management Information Base) | 管理対象のデータ構造を定義したデータベース(OIDツリー) |
| OID(Object Identifier) | MIB内の情報を一意に示す識別子。例:1.3.6.1.2.1.1.3.0(システム稼働時間) |
✅ 3. SNMPのバージョン
| バージョン | 特徴 | 暗号化・認証 |
|---|
| SNMPv1 | 最も基本的。初期の標準 | なし(平文通信) |
| SNMPv2c | v1より高速。GETBULK追加 | なし(コミュニティ名による制限) |
| SNMPv3 | 現在の標準。セキュリティ強化 | あり(認証・暗号化機能) |
✅ 推奨されるのは SNMPv3:セキュリティ強化がされているため、現在の運用環境ではこれが基本
✅ 4. SNMPの使い方(通信例)
🔎 【監視】マネージャ → エージェントへのリクエスト
🔔 【通知】エージェント → マネージャへのTrap
✅ 5. SNMPが使われる場所・用途
🎯 主な用途:
| 用途 | 具体例 |
|---|
| 監視 | 機器のCPU使用率、メモリ、インターフェースのトラフィック状況、温度など |
| 障害通知 | 異常時のTrap送信(ファン停止、リンクダウンなど) |
| 構成管理 | 一部の機器はSNMPでリモート設定変更が可能(ただし一般的ではない) |
| インベントリ管理 | 接続された機器一覧の取得、MACアドレスの一覧など |
🧠 使われる場面:
データセンターや企業ネットワークのインフラ監視
**ネットワーク統合管理ツール(Zabbix, Cacti, MRTGなど)**による可視化
ルータやスイッチのリンクアップ・ダウンの通知
プリンタやUPSの状態監視(トナー残量、バッテリ寿命など)
✅ 6. MIBとOIDの例
MIBはOIDの「名前付きデータベース」的なものです。
例:システム情報のOID(MIB-II)
| OID | 内容 |
|---|
1.3.6.1.2.1.1.1.0 | システムの説明 (sysDescr) |
1.3.6.1.2.1.1.3.0 | システムの稼働時間 (sysUpTime) |
1.3.6.1.2.1.2.2.1.10.x | インターフェースxの受信バイト数 |
1.3.6.1.2.1.2.2.1.16.x | インターフェースxの送信バイト数 |
✅ 7. 実際のコマンド例(Linux)
# snmpget(値を1つ取得)snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.1.0# snmpwalk(OIDツリーをたどって取得)
snmpwalk -v2c -c public 192.168.1.1 1.3.6.1.2.1.2.2# snmpset(設定変更)
snmpset -v2c -c private 192.168.1.1 1.3.6.1.2.1.1.5.0 s "NewName"
注意:public や private は「コミュニティ名(パスワードのようなもの)」です
✅ 8. セキュリティ上の注意点
✅ まとめ:SNMPの本質
| 特徴 | 説明 |
|---|
| 📡 ネットワーク機器監視の共通言語 | 各メーカーが共通的に対応。MIBで拡張可能 |
| 📦 軽量プロトコル | UDPベースでリアルタイム監視に向く |
| 🔐 セキュリティに注意 | v1/v2cは非推奨、v3必須 |
この記事へのコメント