SNMPv3 用に ESXi SNMP エージェントを構成すると、通知(トラップおよびインフォーム)の送信および GETGETBULKGETNEXT 要求の受信がエージェントでサポートされます。SNMPv3 には、キー認証や暗号化など、SNMPv1 または SNMPv2c より強化されたセキュリティが備えられています。

通知とは、送信者が、最大で 3 回または受信者が確認するまで再送信できる情報のことです。

SNMP エンジン ID の構成

すべての SNMP v3 エージェントには、エージェントの一意の識別子として機能するエンジン ID があります。エンジン ID は、ハッシュ機能によって、SNMP v3 メッセージの認証と暗号化のための鍵を生成するために使用されます。

エンジン ID を指定しない場合は、SNMP エージェントを有効にするときに自動的に生成されます。

ESXCLI を介して ESXCLI コマンドを実行する場合は、ターゲット ホストとログイン認証情報を指定する接続オプションを設定する必要があります。ESXi Shell を使用してホストで直接 ESXCLI コマンドを使用する場合は、接続オプションを指定せずにそのままコマンドを使用できます。接続オプションの詳細については、ESXCLI の概念と範例を参照してください。

前提条件

ESXCLI コマンドを使用して ESXi SNMP エージェントを構成します。ESXCLI の使用方法の詳細については、『ESXCLI スタート ガイド』を参照してください。

手順

  • --engineid オプションを指定して esxcli system snmp set コマンドを実行し、SNMP エンジン ID を構成します。
    たとえば、次のコマンドを実行します。
    esxcli system snmp set --engineid id
    ここで、 id はエンジン ID であり、5 ~ 32 文字の 16 進文字列にする必要があります。

SNMP 認証およびプライバシー プロトコルの構成

SNMPv3 は、オプションとして認証およびプライバシー プロトコルをサポートしています。

認証は、ユーザーの ID を確認するために使用します。プライバシーを使用すると、SNMP v3 メッセージを暗号化してデータの機密性を保証できます。これらのプロトコルには、セキュリティにコミュニティ文字列を使用する SNMPv1 および SNMPv2c より高レベルのセキュリティが備えられています。

認証およびプライバシーは、どちらもオプションです。ただし、プライバシーを有効にするには、認証を有効にする必要があります。

SNMPv3 の認証およびプライバシー プロトコルはライセンス供与されている vSphere 機能であり、一部の vSphere エディションでは使用できない可能性があります。

ESXCLI を介して ESXCLI コマンドを実行する場合は、ターゲット ホストとログイン認証情報を指定する接続オプションを設定する必要があります。ESXi Shell を使用してホストで直接 ESXCLI コマンドを使用する場合は、接続オプションを指定せずにそのままコマンドを使用できます。接続オプションの詳細については、ESXCLI の概念と範例を参照してください。

前提条件

ESXCLI コマンドを使用して ESXi SNMP エージェントを構成します。ESXCLI の使用方法の詳細については、『ESXCLI スタート ガイド』を参照してください。

手順

  1. (オプション) --authentication オプションを指定して esxcli system snmp set コマンドを実行し、認証を構成します。
    たとえば、次のコマンドを実行します。
    esxcli system snmp set --authentication protocol
    ここで protocol には、 none(認証なし)または SHA1 を指定します。
  2. (オプション) --privacy オプションを指定して esxcli system snmp set コマンドを実行し、プライバシーを構成します。
    たとえば、次のコマンドを実行します。
    esxcli system snmp set --privacy protocol
    ここで protocol には、 none (プライバシーなし)または AES128 を指定します。

SNMP ユーザーの構成

SNMP v3 情報にアクセスできるユーザーを最大 5 人まで構成できます。ユーザー名は、32 文字以下である必要があります。

ユーザーの構成中、ユーザーの認証パスワードおよびプライバシー パスワードと SNMP エージェントのエンジン ID に基づいて、認証およびプライバシーのハッシュ値を生成します。ユーザーの構成後にエンジン ID、認証プロトコル、またはプライバシー プロトコルを変更した場合、ユーザーは無効になり、再構成が必要になります。

ESXCLI を介して ESXCLI コマンドを実行する場合は、ターゲット ホストとログイン認証情報を指定する接続オプションを設定する必要があります。ESXi Shell を使用してホストで直接 ESXCLI コマンドを使用する場合は、接続オプションを指定せずにそのままコマンドを使用できます。接続オプションの詳細については、ESXCLI の概念と範例を参照してください。

前提条件

  • ユーザーを構成する前に、認証プロトコルとプライバシー プロトコルが構成されていることを確認します。
  • 構成する各ユーザーの認証パスワードとプライバシー パスワードがわかっていることを確認します。パスワードは 7 文字以上にする必要があります。これらのパスワードを、ホスト システムのファイルに保存します。
  • ESXCLI コマンドを使用して ESXi SNMP エージェントを構成します。ESXCLI の使用方法の詳細については、『ESXCLI スタート ガイド』を参照してください。

手順

  1. 認証またはプライバシーを使用する場合は、--auth-hash フラグと --priv-hash フラグを使用して esxcli system snmp hash コマンドを実行することにより、ユーザーの認証およびプライバシーのハッシュ値を取得します。
    たとえば、次のコマンドを実行します。
    esxcli system snmp hash --auth-hash secret1 --priv-hash secret2
    ここで secret1 はユーザーの認証パスワードが含まれるファイルへのパスで、 secret2 はユーザーのプライバシー パスワードが含まれるファイルへのパスです。

    あるいは、--raw-secret フラグを渡し、コマンドラインで直接にパスワードを指定します。

    たとえば、次のコマンドを実行できます。
    esxcli system snmp hash --auth-hash authsecret --priv-hash privsecret --raw-secret
    生成される出力は次のとおりです。
    Authhash: 08248c6eb8b333e75a29ca0af06b224faa7d22d6
    Privhash: 232ba5cbe8c55b8f979455d3c9ca8b48812adb97
    認証とプライバシーのハッシュ値が表示されます。
  2. --user フラグを指定して esxcli system snmp set コマンドを実行することにより、ユーザーを構成します。
    たとえば、次のコマンドを実行できます。
    esxcli system snmp set --user userid/authhash/privhash/security
    このコマンドでは、次のパラメータを使用できます。
    パラメータ 説明
    userid ユーザー名。
    authhash 認証ハッシュ値。
    privhash プライバシー ハッシュ値。
    security そのユーザーで有効化されるセキュリティのレベルは、auth (認証のみ)、priv (認証とプライバシー)、または none (認証およびプライバシーなし)のいずれかです。
    たとえば、次のコマンドを実行して、認証およびプライバシーでアクセスする user1 を構成します。
    esxcli system snmp set --user user1/08248c6eb8b333e75a29ca0af06b224faa7d22d6/
    232ba5cbe8c55b8f979455d3c9ca8b48812adb97/priv
    次のコマンドを実行して、認証およびプライバシーなしでアクセスする user2 を構成します。
    esxcli system snmp set --user user2/-/-/none
  3. (オプション) 次のコマンドを実行して、ユーザー構成をテストします。
    esxcli system snmp test --user username --auth-hash secret1 --priv-hash secret2
    構成が正しい場合は、このコマンドにより、「User username validated correctly using engine id and security level: protocols」というメッセージが返されます。ここで、 protocols は構成されているセキュリティ プロトコルを示します。

SNMP v3 ターゲットの構成

SNMP v3 ターゲットを構成すると、ESXi SNMP エージェントで SNMP v3 トラップおよびインフォームを送信できます。

SNMP v3 では、トラップとインフォームの両方の送信が可能です。インフォーム メッセージはメッセージの 1 つのタイプであり、送信者により最大で 3 回再送信されます。送信者は、メッセージが受信者により確認されないと、5 秒間待機してから再送信を試行します。

最大 3 個の SNMP v1/v2c ターゲットに加えて、最大 3 個の SNMP v3 ターゲットを構成できます。

ターゲットを構成するには、トラップまたはインフォームを受信するシステムのホスト名または IP アドレス、ユーザー名、セキュリティ レベル、およびトラップまたはインフォームを送信するかどうかを指定する必要があります。セキュリティ レベルには、none (セキュリティなし)、auth (認証のみ)、または priv (認証とプライバシー) を指定できます。

ESXCLI を介して ESXCLI コマンドを実行する場合は、ターゲット ホストとログイン認証情報を指定する接続オプションを設定する必要があります。ESXi Shell を使用してホストで直接 ESXCLI コマンドを使用する場合は、接続オプションを指定せずにそのままコマンドを使用できます。接続オプションの詳細については、ESXCLI の概念と範例を参照してください。

前提条件

  • トラップまたはインフォームにアクセスするユーザーは、ESXi SNMP エージェントとターゲット管理システムの両方に SNMP ユーザーとして設定されている必要があります。

  • インフォームを構成する場合、インフォーム メッセージを受信するリモート システム上の SNMP エージェントのエンジン ID が必要です。
  • ESXCLI コマンドを使用して ESXi SNMP エージェントを構成します。ESXCLI の使用方法の詳細については、『ESXCLI スタート ガイド』を参照してください。

手順

  1. (オプション) インフォームを構成する場合、--remote-users オプションを使用して esxcli system snmp set コマンドを実行し、リモート ユーザーを構成します。
    たとえば、次のコマンドを実行します。
    esxcli system snmp set --remote-users userid/auth-protocol/auth-hash/priv-protocol/priv-hash/engine-id
    このコマンドでは、次のパラメータを使用できます。
    パラメータ 説明
    userid ユーザー名。
    auth-protocol 認証プロトコル。none(認証なし)または SHA1 を指定できます。
    auth-hash 認証ハッシュ、または認証プロトコルが none の場合は「-」と入力します。
    priv-protocol プライバシー プロトコル。AES128 または none を指定できます。
    priv-hash プライバシー ハッシュ、またはプライバシー プロトコルが none の場合は「-」と入力します。
    engine-id インフォーム メッセージを受信するリモート システム上の SNMP エージェントのエンジン ID。
  2. --v3targets オプションを使用して esxcli system snmp set コマンドを実行します。
    たとえば、次のコマンドを実行します。
    esxcli system snmp set --v3targets hostname@port/userid/secLevel/message-type
    コマンドのパラメータは次のとおりです。
    パラメータ 説明
    hostname トラップまたはインフォームを受信する管理システムのホスト名または IP アドレス。
    port トラップまたはインフォームを受信する管理システムのポート。ポートを指定しない場合、デフォルトのポート 162 が使用されます。
    userid ユーザー名。
    secLevel 構成した認証およびプライバシーのレベル。認証のみを構成した場合は auth、認証とプライバシーの両方を構成した場合は priv、どちらも構成していない場合は none を使用します。
    message-type 管理システムで受信するメッセージのタイプ。trap または inform を使用します。
  3. (オプション) ESXi SNMP エージェントが有効になっていない場合は、次のコマンドを実行します。
    esxcli system snmp set --enable true
  4. (オプション) esxcli system snmp test コマンドを実行し、エージェントが正しく構成されていることを確認するテスト通知を送信します。
    エージェントから、構成されたターゲットに warmStart 通知が送信されます。