VMware NSX for vSphere 6.x Distributed Firewall (DFW) の理解とトラブルシューティング
search cancel

VMware NSX for vSphere 6.x Distributed Firewall (DFW) の理解とトラブルシューティング

book

Article ID: 341198

calendar_today

Updated On:

Products

VMware NSX Networking

Issue/Introduction

この記事には、VMware NSX for vSphere 6.x Distributed Firewall (DFW) の理解およびトラブルシューティングに関する情報が記載されています。

VMware NSX for vSphere 6.x Distributed Firewall (DFW) の概要

NSX Distributed Firewall はハイパーバイザー カーネルが組み込まれたファイアウォールで、仮想化されたワークロードとネットワークを表示および制御できます。 データセンター、クラスタ、仮想マシン名、タグ、ネットワーク構造(IP/VLAN/VXLAN アドレスなど)のような VMware vCenter オブジェクトや Active Directory のユーザー グループ ID に基づいて、アクセス制御ポリシーを作成できます。 物理ホスト間で仮想マシンの vMotion が実行されたときに、ファイアウォール ルールを書き換えることなく、整合性のあるアクセス制御ポリシーが適用されるようになりました。 Distributed Firewall にはハイパーバイザーが組み込まれているため、ライン レートに近いスループットが実現され、物理サーバにおけるワークロード統合を強化できます。 このファイアウォールの分散特性により、ホストをデータセンターに追加すると自動的にファイアウォール容量が拡張されるスケール アウト アーキテクチャを実現できます。

詳細については、『VMware NSX for vSphere (NSX-V) Network Virtualization Design Guide』の「NSX Distributed Firewall (DFW)」セクションを参照してください。


Symptoms:

免責事項: これは英文の記事 「Understanding and troubleshooting VMware NSX for vSphere 6.x Distributed Firewall (DFW) (2125437)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


  • Distributed Firewall ルールの発行が失敗する
  • Distributed Firewall ルールの更新が失敗する


Environment

VMware NSX for vSphere 6.2.x
VMware NSX for vSphere 6.1.x
VMware NSX for vSphere 6.0.x

Resolution

下記のそれぞれのトラブルシューティング手順がお使いの環境に当てはまることを確認します。 それぞれの手順で、考えられる原因を排除し、必要に応じて是正措置を取るための指示あるいはドキュメントへのリンクが提供されます。 手順は、問題を隔離し、適切な解決方法を特定するために最適な順番で並べられています。 各手順の後に、Distributed Firewall ルールの更新/発行を再試行してください。
  • Distributed Firewall (DFW) を実行するための前提条件を満たしていることを確認します。

    • VMware vCenter Server 5.5
    • VMware ESXi 5.1 または ESXi 5.5
    • VMware NSX for vSphere 6.0 以降
  • DFW VIB がクラスタの各 ESXi ホストに正常にインストールされていることを確認します。 これを実行するには、クラスタ上の各 ESXi ホストで、次のコマンドを実行します。

    esxcli software vib list

    例:

    # esxcli software vib list | grep esx-vsip

    esx-vsip 5.5.0-0.0.2318233 VMware VMwareCertified 2015-01-24

    # esxcli software vib list | grep dvfilter

    esx-dvfilter-switch-security 5.5.0-0.0.2318233 VMware VMwareCertified 2015-01-24
  • vShield-Stateful-Firewall サービスが実行状態であることを確認します。 vShield-Stateful-Firewall サービスが実行状態であることを確認するには、次のコマンドを実行します。

    /etc/init.d/vShield-Stateful-Firewall status

    例:

    # /etc/init.d/vShield-Stateful-Firewall status

    vShield-Stateful-Firewall is running

  • メッセージ バスが NSX Manager と適切に通信していることを確認します。

    : プロセスは watchdog スクリプトによって自動的に起動され、不明な理由で終了された場合は再起動されます。 クラスタ上の各 ESXi ホストで次のコマンドを実行します。

    ps |grep vsfwd

    例:

    ps |grep vsfwd

    107557 107557 vsfwd /usr/lib/vmware/vsfw/vsfwd
    107574 107557 vsfwd /usr/lib/vmware/vsfw/vsfwd
    107575 107557 vsfwd /usr/lib/vmware/vsfw/vsfwd
    107576 107557 vsfwd /usr/lib/vmware/vsfw/vsfwd
    107577 107557 vsfwd /usr/lib/vmware/vsfw/vsfwd
    107578 107557 vsfwd /usr/lib/vmware/vsfw/vsfwd

  • ファイアウォール構成でポート 5671 が通信用に開かれていることを確認します。 詳細については、「ESX/ESXi 上のネットワークおよび TCP/UDP ポート接続の問題のトラブルシューティング (2093760)」を参照してください。 「VMware vCenter Server、VMware ESXi および ESX ホストおよびその他のネットワーク コンポーネントへのアクセスに必要な TCP および UDP ポート (1000589)」も参照してください。 クラスタ上の各 ESXi ホストで次のコマンドを実行し、アクティブなメッセージ バス接続があることを確認できます。

    esxcli network ip connection list |grep 5671

  • ファイアウォール ルールがホストにデプロイされ、仮想マシンに適用されていることを確認します。

    • SSH を使用して ESXi ホストに root としてログインします。
    • 次のコマンドを実行します。 summarize-dvfilter

    出力は次のようになります。

    [root@225-173:~] summarize-dvfilter
    Fastpaths:
    agent: dvfilter-faulter, refCount: 1, rev: 0x1010000, apiRev: 0x1010000, module: dvfilter
    agent: dvfilter-generic-vmware, refCount: 1, rev: 0x1010000, apiRev: 0x1010000, module: dvfilter-generic-fastpath
    agent: dvfg-igmp, refCount: 1, rev: 0x1010000, apiRev: 0x1010000, module: dvfg-igmp
    agent: dvfilter-generic-vmware-swsec, refCount: 2, rev: 0x1010000, apiRev: 0x1010000, module: dvfilter-switch-security
    agent: bridgelearningfilter, refCount: 1, rev: 0x1010000, apiRev: 0x1010000, module: vdrb
    agent: vmware-sfw, refCount: 4, rev: 0x1010000, apiRev: 0x1010000, module: vsip <= DFW module is loaded and running

    Slowpaths:

    Filters:
    world 342296 vmm0:2-vm_RHEL63_srv_64-shared-846-3f435476-8f54-4e5a-8d01-59654a4e9979 vcUuid:'3f 43 54 76 8f 54 4e 5a-8d 01 59 65 4a 4e 99 79'
    port 50331660 2-vm_RHEL63_srv_64-shared-846-3f435476-8f54-4e5a-8d01-59654a4e9979.eth1
    vNic slot 2
    name: nic-342296-eth1-vmware-sfw.2
    agentName: vmware-sfw
    state: IOChain Attached
    vmState: Detached
    failurePolicy: failClosed
    slowPathID: none
    filter source: Dynamic Filter Creation
    vNic slot 1
    name: nic-342296-eth1-dvfilter-generic-vmware-swsec.1
    agentName: dvfilter-generic-vmware-swsec
    state: IOChain Attached
    vmState: Detached
    failurePolicy: failClosed
    slowPathID: none
    filter source: Alternate Opaque Channel
    port 50331661 (disconnected)
    vNic slot 2
    name: nic-342296-eth2-vmware-sfw.2
    agentName: vmware-sfw <================ DFW filter
    state: IOChain Detached
    vmState: Detached
    failurePolicy: failClosed
    slowPathID: none
    filter source: Dynamic Filter Creation
    port 33554441 2-vm_RHEL63_srv_64-shared-846-3f435476-8f54-4e5a-8d01-59654a4e9979
    vNic slot 2
    name: nic-342296-eth0-vmware-sfw.2
    agentName: vmware-sfw <================= DFW filter
    state: IOChain Attached
    vmState: Detached
    failurePolicy: failClosed
    slowPathID: none
    filter source: Dynamic Filter Creation

    c. 次のコマンドを実行します。 vsipioctl getfwrules -f name

    出力は次のようになります。

    [root@prmb-nsbu-dhcp-225-173:~] vsipioctl getfwrules -f nic-342296-eth2-vmware-sfw.2
    ruleset domain-c18 {
    # Filter rules
    rule 2147483655 at 1 inout protocol any from any to any accept;
    rule 27998 at 2 inout protocol any from addrset ip-vm-34 to any accept;
    rule 27895 at 3 inout protocol ipv6-icmp icmptype 136 from any to any accept;
    rule 27895 at 4 inout protocol ipv6-icmp icmptype 135 from any to any accept;
    rule 27894 at 5 inout protocol udp from any to any port 68 accept;
    rule 27894 at 6 inout protocol udp from any to any port 67 accept;
    rule 27893 at 7 inout protocol any from any to any accept;
    }

    ruleset domain-c18_L2 {
    # Filter rules
    rule 30460 at 1 inout ethertype any from addrset mac-securitygroup-10 to any accept;
    rule 27896 at 2 inout ethertype any from any to any accept;
    }

    d: 次のコマンドを実行します。 vsipioctl getaddrsets -f <name>

    出力は次のようになります。

    [root@225-173:~] vsipioctl getaddrsets -f nic-342296-eth2-vmware-sfw.2
    addrset ip-vm-34 {
    ip 10.24.226.19,
    ip 172.1.1.2,
    ip fc00:10:24:227:250:56ff:fe8d:71e7,
    ip fe80::250:56ff:fe8d:71e7,
    ip fe80::250:56ff:fe8d:8368,
    }
    addrset mac-securitygroup-10 {

  • 上記の各トラブルシューティング手順を検証しても、ファイアウォール ルールをホストの仮想マシンに公開することができないの場合、NSX Manager の UI 経由でまたは次の REST API 経由でホストレベルの強制同期を実行します。
    URL : [https:]https://<nsx-mgr-ip>/api/4.0/firewall/forceSync/<host-id>
    HTTP Method : POST
    Headers ,
    Authorization : base64encoded value of username password
    Accept : application/xml
    Content-Type : application/xml

ログの場所

VMware NSX for vSphere 6.0.x:

  • ESXi ホスト上の /var/log/vmkernel.log ファイル
  • ESXi ホスト上の /var/log/vsfwd.log ファイル

VMware NSX for vSphere 6.1.x 以降:

  • ESXi ホスト上の /var/log/vmkernel.log ファイル
  • ESXi ホスト上の /var/log/dfwpktlogs.log ファイル
  • ESXi ホスト上の /var/log/vsfwd.log ファイル

詳細については、「Location of VMware NSX for vSphere 6.1.x and later Firewall Rule logs (2128082)」を参照してください。

: VMware テクニカル サポートで VMware NSX for vSphere 6.x Distributed Firewall (DFW) をトラブルシューティングするには、以下が必要になります。

  • クラスタ上の各 ESXi ホストでのコマンド summarize-dvfilter の出力。
  • Distributed Firewall の構成([Networking and Security(ネットワークとセキュリティ)] > [ファイアウォール] > [全般] タブで [構成のエクスポート] をクリックすると、Distributed Firewall の構成が XML 形式でエクスポートされます)。
  • NSX Manager ログ。 詳細については、「Collecting diagnostic information for VMware NSX for vSphere 6.x (2074678)」を参照してください。
  • vCenter Server ログ。 詳細については、「VMware vCenter Server の診断情報の収集 (2079103)」を参照してください。


Additional Information

VMware NSX for vSphere 6.2 の新機能:

  • VMware NSX 6.2 with vSphere 6.0 は Cross-vCenter NSX をサポートし、論理スイッチ (LS)、分散論理ルータ (DLR)、Distributed Firewall (DFW) を複数の vCenter 上にデプロイすることで、複数の vCenter または複数の物理位置にまたがる負荷(仮想マシン)を持つアプリケーションのための論理ネットワーキングとセキュリティを実現することができます。
  • 複数の vCenter にわたって一貫性のあるファイアウォール ポリシー: NSX のファイアウォール ルール セクションは Universal としてマーク付けされ、これらのセクションで定義されたルールを複数の NSX Manager 上でレプリケートすることができます。 それにより、複数の NSX インストールにわたる一貫性のあるファイアウォール ポリシーの定義を含むワークフローを簡素化することができます。
  • Distributed Firewall (DFW) によるクロス vCenter vMotion: Universal セクションで定義されたポリシーを持つ仮想マシンを、一貫性のあるセキュリティ ポリシーの強制によって異なる vCenter に属するホストに移動することができます。 詳細については、『Cross-vCenter NSX Installation Guide』の「Benefits of Cross-vCenter NSX」セクションを参照してください。
Troubleshooting NSX for vSphere 6.x Distributed Firewall (DFW)