ESXi には、デフォルトで有効になっているファイアウォールが含まれています。インストール時、ESXi ファイアウォールは、受信トラフィックと送信トラフィックをブロックするように構成されています。ただし、ホストのセキュリティ プロファイルで有効なサービスのトラフィックは除外されます。ファイアウォールは、vSphere Client、CLI、および API を使用して管理します。

ファイアウォールのポートを開くときには、ESXi ホストで実行されているサービスへのアクセスを制限しなければ、そのホストが外部攻撃と不正アクセスの危険にさらされることを考慮します。認証済みのネットワークからのアクセスのみを許可するように ESXi ファイアウォールを設定してリスクを低減します。

注: ファイアウォールは、ICMP (Internet Control Message Protocol) の ping と、DHCP および DNS (UDP のみ) クライアントとの通信も許可します。

次のように ESXi ファイアウォール ポートを管理できます。

  • vSphere Client 内の各ホストに対して、[設定] > [ファイアウォール] を使用します。ESXi ファイアウォール設定の管理 を参照してください。
  • コマンド ラインまたはスクリプトで ESXCLI コマンドを使用します。ESXCLI ファイアウォール コマンドを使用した ESXi 動作の構成を参照してください。
  • 開く必要があるポートがセキュリティ プロファイルに含まれていない場合にカスタム VIB を使用します。

    カスタム VIB をインストールするには、ESXi ホストの許容レベルを CommunitySupported に変更する必要があります。

    注: CommunitySupported VIB がインストールされている ESXi ホストの問題の調査を依頼すると、VMware テクニカル サポートから、この VIB をアンインストールするよう求められることがあります。要求された手順を実行し、調査中の問題がこの VIB に関連しているかどうかを判別するためのトラブルシューティングを行います。

NFS クライアントのルール セット (nfsClient) の動作は、ほかのルール セットとは異なります。NFS クライアントのルール セットが有効な場合、すべての送信 TCP ポートは、許可された IP アドレス一覧のターゲット ホストに対して開かれます。詳細についてはNFS クライアント ファイアウォールの動作を参照してください。

ESXi ファイアウォール設定の管理

vSphere Client またはコマンドラインでサービスや管理エージェント用の受信および送信ファイアウォール接続を構成できます。

このタスクでは、vSphere Client を使用して ESXi ファイアウォールを設定する方法について説明します。ESXi Shell または ESXCLI コマンドを使用して、ファイアウォール構成を自動化するようにコマンドラインで ESXi を設定できます。ESXCLI を使用してファイアウォールおよびファイアウォール ルールを操作する例については、ESXCLI ファイアウォール コマンドを使用した ESXi 動作の構成を参照してください。

注: 複数のサービスが重複するポート ルールを持っている場合、1 つのサービスを有効にすると、他のサービスが暗黙のうちに有効になることがあります。どの IP アドレスにホストの各サービスへのアクセスを許可するかを指定するとこの問題を回避できます。

手順

  1. vSphere Client を使用して、vCenter Server にログインします。
  2. インベントリで、ホストに移動して参照します。
  3. [構成] をクリックし、[システム][ファイアウォール] をクリックします。
    [受信][送信] をクリックして、受信接続と送信接続を切り替えることができます。
  4. [ファイアウォール] セクションで [編集] をクリックします。
  5. [グループ化解除済み][SSH][簡易ネットワーク管理プロトコル]のサービス グループのいずれかから選択します。
  6. ルール セットを選択して有効にするか、ルール セットを選択解除して無効にします。
  7. 一部のサービスでは、[構成] > [システム] > [サービス] の順に移動してサービスの詳細を管理することもできます。
    サービスの起動、停止、および再起動の詳細については、 ESXi サービスの有効化または無効化を参照してください。
  8. 一部のサービスでは、接続を許可する IP アドレスを明示的に指定できます。
  9. [OK] をクリックします。

ESXi ホストで許可される IP アドレスの追加

デフォルトでは、各サービスのファイアウォールはすべての IP アドレスのアクセスを許可します。トラフィックを制限するには、管理サブネットからのトラフィックのみを許可するように各サービスを変更します。環境で使用されないサービスがある場合には、それらの選択を解除することもできます。

サービスに対して許可された IP アドレス リストを更新するには、vSphere Client、ESXCLI、または PowerCLI を使用します。このタスクでは、vSphere Client の使用方法について説明します。ESXCLI の使用方法については、『ESXCLI の概念と範例』のESXi ファイアウォールの管理を参照してください。

手順

  1. vSphere Client を使用して、vCenter Server にログインします。
  2. ESXi ホストに移動して参照します。
  3. [構成] をクリックし、[システム][ファイアウォール] をクリックします。
    [受信][送信] をクリックして、受信接続と送信接続を切り替えることができます。
  4. [ファイアウォール] セクションで [編集] をクリックします。
  5. [グループ化解除済み][SSH][簡易ネットワーク管理プロトコル]の 3 つのサービス グループのいずれかから選択します。
  6. [許可された IP アドレス] セクションを表示するには、サービスを展開します。
  7. [許可された IP アドレス] セクションで [任意の IP アドレスからの接続を許可します] の選択を解除し、ホストへの接続を許可するネットワークの IP アドレスを入力します。
    IP アドレスをコンマで区切ります。次のアドレス形式を使用できます。
    • 192.168.0.0/24
    • 192.168.1.2, 2001::1/64
    • fd3e:29a6:0a81:e478::/64
  8. サービス自体が選択されていることを確認します。
  9. [OK] をクリックします。
  10. サービスの [許可された IP アドレス] 列で変更を確認します。

ESXi ホストの送受信ファイアウォール ポート

vSphere Clientおよび VMware Host Client では、各サービスのファイアウォール ポートを開閉したり、選択した IP アドレスからのトラフィックを許可したりできます。

ESXi には、デフォルトで有効になっているファイアウォールが含まれています。インストール時、ESXi ファイアウォールは、受信トラフィックと送信トラフィックをブロックするように構成されています。ただし、ホストのセキュリティ プロファイルで有効なサービスのトラフィックは除外されます。ESXi ファイアウォールでサポートされているポートとプロトコルのリストについては、https://ports.vmware.com/の VMware Ports and Protocols Tool™ を参照してください。

VMware Ports and Protocols Tool では、デフォルトでインストールされているサービスのポート情報が一覧表示されます。他の VIB をホストにインストールすると、追加のサービスおよびファイアウォール ポートが使用可能になる場合があります。この情報は、主に vSphere Client に表示されるサービスに関するものですが、VMware Ports and Protocols Tool にはそれ以外のポートも含まれています。

NFS クライアント ファイアウォールの動作

NFS クライアントのファイアウォール ルール セットの動作は、他の ESXi ファイアウォール ルール セットとは異なります。ESXi では、NFS データストアをマウントまたはアンマウントするときに NFS クライアント設定が構成されます。動作は、NFS のバージョンによって異なります。

NFS データストアの追加、マウント、アンマウントを行ったときの動作は、NFS のバージョンによって異なります。

NFS v3 ファイアウォールの動作

NFS v3 データストアを追加またはマウントする際、ESXi は、NFS クライアント (nfsClient) のファイアウォール ルール セットの状態を確認します。

  • nfsClient のルール セットが無効な場合、ESXi はこのルール セットを有効にし、allowedAll フラグを FALSE に設定することで、すべての IP アドレスを許可するポリシーを無効にします。NFS サーバの IP アドレスが発信 IP アドレスの許可リストに追加されます。
  • nfsClient のルール セットが有効な場合、ルール セットの状態と、許可される IP アドレスのポリシーは変更されません。NFS サーバの IP アドレスが発信 IP アドレスの許可リストに追加されます。
注: nfsClient のルール セットを手動で有効にするか、すべての IP アドレスを許可するポリシーを手動で設定すると、NFS v3 データストアをシステムに追加する前または後で、以前の NFS v3 データストアがアンマウントされる際に設定がオーバーライドされます。すべての v3 NFS データストアがアンマウントされると、 nfsClient のルール セットは無効になります。

NFS v3 データストアを削除またはアンマウントすると、ESXi によって次のいずれかの操作が実行されます。

  • 残りの NFS v3 データストアのいずれもアンマウントされるデータストアのサーバからマウントされない場合、ESXi はサーバの IP アドレスを発信 IP アドレスのリストから削除します。
  • アンマウント操作後にマウントされている NFS v3 データストアが残っていない場合、ESXi は、nfsClient ファイアウォール ルール セットを無効にします。

NFS v4.1 ファイアウォールの動作

最初の NFS v4.1 データストアをマウントすると、ESXinfs41client のルール セットを有効にし、allowedAll フラグを TRUE に設定します。この操作により、すべての IP アドレスに対してポート 2049 が開きます。NFS v4.1 データストアをアンマウントしても、ファイアウォールの状態には影響しません。つまり、最初の NFS v4.1 のマウントでポート 2049 が開き、そのポートは、明示的に閉じられない限り、有効な状態を維持します。

ESXCLI ファイアウォール コマンドを使用した ESXi 動作の構成

環境内に複数の ESXi ホストが含まれている場合は、ESXCLI コマンドまたは vSphere Web Services SDK を使用してファイアウォール構成を自動化します。

ファイアウォール コマンド リファレンス

コマンド ラインで ESXi Shell または ESXCLI コマンドを使用して、ファイアウォール構成を自動化するように ESXi を構成できます。ファイアウォールおよびファイアウォール ルールを操作するには、概要についてESXCLI スタート ガイドを参照し、ESXCLI の使用例について「ESXCLI の概念と範例」を参照してください。

ESXi 7.0 以降では、カスタム ファイアウォール ルールの作成に使用される service.xml ファイルへのアクセスが制限されます。/etc/rc.local.d/local.sh ファイルを使用してカスタム ファイアウォール ルールを作成する方法については、VMware ナレッジベースの記事 KB2008226 を参照してください。

表 1. ファイアウォールのコマンド
コマンド 説明
esxcli network firewall get ファイアウォールのステータスを返し、デフォルトのアクションを一覧表示します。
esxcli network firewall set --default-action デフォルトのアクションをパスに設定するには、true に設定します。デフォルトのアクションをドロップに設定するには、false に設定します。
esxcli network firewall set --enabled ESXi ファイアウォールを有効または無効にします。
esxcli network firewall load ファイアウォール モジュールとルール セットの構成ファイルをロードします。
esxcli network firewall refresh ファイアウォール モジュールがロードされている場合に、ルール セット ファイルを読み取ることでファイアウォールの構成を更新します。
esxcli network firewall unload フィルタを破棄し、ファイアウォール モジュールをアンロードします。
esxcli network firewall ruleset list ルール セット情報を一覧表示します。
esxcli network firewall ruleset set --allowed-all すべての IP アドレスへのすべてのアクセスを許可するには true に設定し、許可された IP アドレスのリストを使用するには false に設定します。
esxcli network firewall ruleset set --enabled --ruleset-id=<string> 指定したルールセットを有効にするには、enabled を true に設定します。指定したルールセットを無効にするには、enabled を false に設定します。
esxcli network firewall ruleset allowedip list 指定したルール セットの許可された IP アドレスを一覧表示します。
esxcli network firewall ruleset allowedip add 指定した IP アドレスまたは一定範囲内の IP アドレスからルール セットへのアクセスを許可します。
esxcli network firewall ruleset allowedip remove 指定した IP アドレスまたは一定範囲内の IP アドレスからルール セットへのアクセスを解除します。
esxcli network firewall ruleset rule list ファイアウォール内の各ルールセットのルールをリストします。