SNMPを使ったネットワーク監視を正しく構築するうえで、ポート番号の理解は欠かせない知識です。
SNMPでは通信の目的(ポーリングかトラップか)によって使用するポート番号が異なり、ファイアウォール設定や機器設定にも直接関わってきます。
本記事では、SNMPの主要ポート番号(161・162)の役割・UDPとの関係・バージョンごとの違い・実際の設定ポイントまで詳しく解説していきます。
SNMPのポート番号は161と162:それぞれの役割
それではまず、SNMPで使われるポート番号の基本から解説していきます。
SNMPは主に2つのポート番号を使用します。ポート161番はポーリング(情報取得)用、ポート162番はトラップ(通知)受信用として使い分けられています。
SNMPのポート番号はIANA(Internet Assigned Numbers Authority)によって標準化されており、ポート161はエージェントへの要求受信用、ポート162はマネージャへのトラップ受信用として割り当てられています。
ポート161番の役割(SNMPポーリング)
ポート161番は、SNMPマネージャがエージェントに情報取得要求(GetRequest)を送る際に使用するポートです。
エージェント(ネットワーク機器)がポート161番でリクエストを待ち受け、マネージャからの問い合わせに応答します。
監視サーバーから機器にSNMPポーリングを行う場合、機器側のファイアウォールでUDPポート161番の受信を許可する設定が必要です。
ポート162番の役割(SNMPトラップ受信)
ポート162番は、エージェントがマネージャにトラップ(異常通知)を送る際に使用するポートです。
マネージャ(監視サーバー)がポート162番でトラップを待ち受け、エージェントからの通知を受信します。
トラップを受信するには、監視サーバー側のファイアウォールでUDPポート162番の受信を許可する設定が必要になるでしょう。
ポート番号と通信方向のまとめ
| ポート番号 | プロトコル | 通信方向 | 用途 |
|---|---|---|---|
| 161 | UDP | マネージャ→エージェント | ポーリング(情報取得要求) |
| 162 | UDP | エージェント→マネージャ | トラップ(異常通知)受信 |
この2つのポートを正しく把握しておくことで、ネットワーク機器のファイアウォール設定や通信トラブルの原因調査がスムーズになります。
SNMPがUDPを使う理由と特性
続いては、SNMPがUDPを採用している理由とその特性を確認していきます。
SNMPはTCPではなくUDPを使用しており、これにはパフォーマンス上の明確な理由があります。
UDPの特徴とSNMPとの相性
UDP(User Datagram Protocol)は、接続確立のハンドシェイクが不要な軽量プロトコルです。
TCPと異なり、送受信の確認応答(ACK)がないため、通信のオーバーヘッドが少なく済みます。
大量のネットワーク機器に対して頻繁に問い合わせを行うSNMPポーリングでは、この軽量さが監視全体のパフォーマンスに直結します。
UDPの信頼性の問題と対策
UDPはパケットの到達保証がないため、ネットワーク混雑時にSNMPパケットが失われる可能性があります。
ポーリングの場合は次回のポーリングで再取得できますが、トラップは一度失われると再送されない点に注意が必要です。
SNMPv2c以降ではInformRequestという確認応答付きの通知方式も追加されており、トラップの信頼性を高めたい場合に有効です。
TCPを使うSNMPの例外的ケース
一部のSNMP実装では、TCPを使用する設定も可能です。
大量データの転送や信頼性が必要な通信では、TCPポート161番を使うことも選択肢のひとつです。
ただし、標準的なSNMP実装ではUDPが前提となっているため、監視ツールとの互換性を確認してから採用するとよいでしょう。
バージョンによるポート使用の違いとセキュリティ設定
続いては、SNMPのバージョンごとのポート利用の違いと、セキュリティ設定の注意点を確認していきます。
SNMPv1・v2cのポート設定
SNMPv1・v2cともに、標準ではポート161(ポーリング)・ポート162(トラップ)を使用します。
コミュニティ名は平文で送信されるため、ポート番号だけでなくアクセス元IPアドレスの制限(ACL設定)も合わせて実施することが重要です。
SNMPv3のポートとセキュリティ
SNMPv3も基本的には同じポート番号(161・162)を使用しますが、通信内容が認証・暗号化されます。
SNMPv3ではユーザー認証(SHA/MD5)と暗号化(AES/DES)が加わるため、ポートは同じでも通信の安全性が大きく向上します。
外部ネットワークからのSNMPアクセスが必要な場合は、SNMPv3の使用を検討するのが最善策です。
ファイアウォール設定のポイント
SNMPを正しく動作させるには、ファイアウォールで以下の通信を許可する必要があります。
・監視サーバー→機器:UDPポート161番(アウトバウンド)
・機器→監視サーバー:UDPポート161番(インバウンド)
・機器→監視サーバー:UDPポート162番(トラップ受信)
不要なIPアドレスからのSNMPアクセスをファイアウォールでブロックすることで、セキュリティリスクを最小化できます。
まとめ
本記事では、SNMPのポート番号(161・162)の役割・UDPとの関係・バージョンごとの違い・ファイアウォール設定について解説しました。
ポート161番はポーリング、162番はトラップという基本を押さえておくことで、SNMPの通信トラブルを素早く解決できるようになるでしょう。
セキュリティ対策とポート設定をセットで考え、安全で安定したSNMP監視環境を構築してみてください。