ホストの論理ルーター カーネル モジュールは、VXLAN ネットワーク間、および仮想ネットワークと物理ネットワーク間のルーティングを実行します。NSX Edge アプライアンスは必要に応じて動的ルーティング機能を提供します。ユニバーサル論理ルーターは、ユニバーサル論理スイッチ間の水平方向ルーティングを提供します。

前提条件

  • Enterprise Administrator または NSX Administrator のロールが割り当てられている必要があります。

  • 論理ルーターをインストールするには、環境内に稼動中のコントローラ クラスタが存在している必要があります。

  • NSX 論理スイッチを作成する計画がない場合でも、ローカル セグメント ID プールを作成する必要があります。

  • 論理ルーターは、NSX コントローラを利用しないとホストにルーティング情報を配布できません。論理ルーターは、Edge Services Gateway (ESG) とは異なり、NSX コントローラがなければ機能しません。論理ルーターを作成または変更する前に、コントローラ クラスタが稼動していて、使用可能であることを確認してください。

  • 論理ルーターを VLAN dvPortgroup に接続する場合、論理ルーターの VLAN ベース ARP プロキシが機能するように、論理ルーター アプライアンスがインストールされているすべてのハイパーバイザー ホストが UDP ポート 6999 で相互にアクセスできることを確認します。

  • 論理ルーター インターフェイスおよびブリッジ インターフェイスは、VLAN ID が 0 に設定されている dvPortgroup には接続できません。

  • 特定の論理ルーター インスタンスは、異なるトランスポート ゾーンに存在する論理スイッチには接続できません。これにより、すべての論理スイッチと論理ルーター インスタンスの整合性が確保されます。

  • 論理ルーターが複数の vSphere Distributed Switch (VDS) にまたがる論理スイッチに接続されている場合、その論理ルーターを VLAN がバッキングするポートグループに接続することはできません。これにより、ホスト間で論理ルーター インスタンスが論理スイッチ dvPortgroup に正しく関連付けられるようになります。

  • 2 つのネットワークが同じ vSphere Distributed Switch 内にある場合は、2 つの異なる分散ポートグループ (dvPortgroup) 上に同じ VLAN ID の論理ルーター インターフェイスを作成しないでください。

  • 2 つのネットワークが別々の vSphere Distributed Switch 内にあっても、それらの vSphere Distributed Switch が同じホストを共有している場合は、2 つの異なる dvPortgroup 上に同じ VLAN ID の論理ルーター インターフェイスを作成しないでください。つまり、2 つの dvPortgroup が 2 つの異なる vSphere Distributed Switch 内にある場合、それらの vSphere Distributed Switch がホストを共有していなければ、2 つの異なるネットワーク上に同じ VLAN ID の論理ルーター インターフェイスを作成できます。

  • NSX バージョン 6.0 および 6.1 とは異なり、NSX バージョン 6.2 では、論理ルーターでルーティングされる論理インターフェイス (LIF) を VLAN にブリッジされている VXLAN に接続できます。

  • ECMP セットアップで ESG を使用している場合は、論理ルーター仮想アプライアンスの配置を選択する際に、そのアップストリーム ESG のいずれかと同じホストに配置しないようにしてください。これを実現するために DRS 非アフィニティ ルールを使用できます。これにより、論理ルーター転送時のホスト障害の影響を軽減できます。1 つのアップストリーム ESG を単独で使用する場合またはその ESG が HA モードの場合は、このガイドラインが適用されません。詳細については、『VMware NSX for vSphere Network Virtualization Design Guide』(https://communities.vmware.com/docs/DOC-27683) を参照してください。

  • ローカル出力側を有効にする必要があるかどうかを判断します。ローカル出力側を有効にすると、ルートをホストに選択的に送信できます。NSX デプロイが複数のサイトにまたがる場合は、この機能が必要になることがあります。詳細についてはCross-vCenter NSX トポロジを参照してください。ユニバーサル論理ルーターの作成後にローカル出力側を有効にすることはできません。

手順

  1. vSphere Web Client で、[ホーム (Home)] > [Networking and Security (Networking & Security)] > [NSX Edges] の順に移動します。
  2. プライマリ NSX Manager を選択して、ユニバーサル論理ルーターを追加します。
  3. [追加 (Add)]追加)アイコンをクリックします。
  4. [ユニバーサル論理(分散)ルーター (Universal Logical (Distributed) Router)] を選択します。
  5. (オプション) ローカル出力側を有効にします。
  6. デバイスの名前を入力します。

    この名前は vCenter インベントリに表示されます。1 つのテナントのすべての論理ルーターの中で一意の名前を付けてください。

    必要に応じて、ホスト名を入力することもできます。この名前は CLI に表示されます。ホスト名を指定しない場合は、自動的に作成される Edge ID が CLI に表示されます。

    必要に応じて、説明やテナントを入力できます。

  7. (オプション) Edge Appliance をデプロイします。

    [Edge Appliance のデプロイ] がデフォルトで選択されています。Edge Appliance(論理ルーターの仮想アプライアンスとも呼ばれる)は、動的ルーティングおよび論理ルーター アプライアンスのファイアウォールで必要になり、論理ルーターの ping、SSH アクセス、および動的ルーティング トラフィックに適用されます。

    スタティック ルートのみが必要で、Edge Appliance をデプロイしない場合、Edge Appliance オプションを選択解除できます。論理ルーターの作成後に Edge Appliance を論理ルーターに追加することはできません。

  8. (オプション) 高可用性を有効にします。

    [高可用性の有効化] はデフォルトで選択されていません。[高可用性の有効化] チェック ボックスを選択し、高可用性の有効化と設定を行います。動的ルーティングを行う場合、高可用性が必要になります。

  9. 論理ルーターのパスワードを入力し、再入力します。

    パスワードは 12 ~ 255 文字で、次の文字または数字が含まれている必要があります。

    • 1 文字以上の大文字

    • 1 文字以上の小文字

    • 1 文字以上の数字

    • 1 文字以上の特殊文字

  10. (オプション) SSH を有効にして、ログ レベルを設定します。

    デフォルトでは、SSH は無効になっています。SSH を有効にしない場合でも、仮想アプライアンス コンソールを開いて論理ルーターにアクセスできます。ここで SSH を有効にすると、SSH プロセスが論理ルーターの仮想アプライアンスで実行されますが、SSH で論理ルーターのプロトコル アドレスにアクセスできるように論理ルーターのファイアウォール設定を手動で調整する必要があります。プロトコル アドレスの設定は、論理ルーターに動的ルーティングを設定する際に行います。

    デフォルトでは、ログ レベルが「緊急」に設定されます。

    次はその例です。

  11. 展開設定を行います。
    • [NSX Edge のデプロイ (Deploy NSX Edge)] を選択しなかった場合、[追加 (Add)]追加)アイコンはグレイアウトされます。[次へ (Next)] をクリックして、設定を続行します。

    • [NSX Edge のデプロイ (Deploy NSX Edge)] を選択した場合、vCenter インベントリに追加される論理ルーターの仮想アプライアンスの設定を入力します。

    次はその例です。

  12. インターフェイスを設定します。

    論理ルーターでは、IPv4 アドレスのみがサポートされます。

    [NSX Edge のデプロイ (Deploy NSX Edge)] を選択した場合は、[高可用性インターフェイスの構成] で、インターフェイスを分散ポート グループに接続する必要があります。高可用性インターフェイス (HA インターフェイス) には、VXLAN 論理スイッチを使用することをお勧めします。2 台の NSX Edge アプライアンスのそれぞれの IP アドレスは、リンク ローカルなアドレス空間169.250.0.0/16 から選択されます。高可用性サービスの設定はこれで完了です。

    注:

    NSX のこれまでのリリースでは、HA インターフェイスは管理インターフェイスと呼ばれていました。論理ルーターへのリモート アクセスでは、HA インターフェイスはサポートされていません。HA インターフェイスとは異なる IP サブネットから SSH を使用して HA インターフェイスに接続することはできません。HA インターフェイスの外部をポイントするスタティック ルートは設定できません。これは、RPF で受信トラフィックがドロップされることを意味します。理論上は RPF を無効化できますが、高可用性には逆効果です。SSH には論理ルーターのプロトコル アドレスを使用します。これは後で動的ルーティングを設定するときに設定されます。

    NSX 6.2 では、論理ルーターの HA インターフェイスは、ルート再配分の対象から自動的に除外されます。

    [この NSX Edge のインターフェイスを構成します (Configure interfaces of this NSX Edge)]で、仮想マシン間(水平方向とも呼ばれます)通信を可能にするスイッチへの接続には、内部インターフェイスが使用されます。内部インターフェイスは、論理ルーターの仮想アプライアンスの疑似 vNIC として作成されます。アップリンク インターフェイスは、垂直方向の通信を行うためのインターフェイスです。論理ルーター アップリンク インターフェイスは、NSX Edge Services Gateway、そのサードパーティ製ルーター仮想マシン、または VLAN バッキング dvPortgroup に接続して、論理ルーターを物理ルーターに直接接続できます。動的ルーティングを有効にするには、少なくとも 1 つのアップリンク インターフェイスが必要です。アップリンク インターフェイスは、論理ルーターの仮想アプライアンスの vNIC として作成されます。

    ここで入力するインターフェイスの設定は後で変更できます。論理ルーターをデプロイした後で、インターフェイスを追加、削除、および変更できます。

    次の例は、管理分散ポートグループに接続された HA インターフェイスを示しています。この例では、2 つの内部インターフェイス(app と web)および 1 つのアップリンク インターフェイス (to-ESG) も示されています。

  13. 論理スイッチに接続されている仮想マシンのデフォルト ゲートウェイに論理ルーター インターフェイスの IP アドレスが適切に設定されていることを確認します。

タスクの結果

次の例のトポロジでは、app 仮想マシンのデフォルト ゲートウェイが 172.16.20.1、web 仮想マシンのデフォルト ゲートウェイが 172.16.10.1 となります。仮想マシンがそのデフォルト ゲートウェイに ping を送信でき、仮想マシン同士でも ping を送信できることを確認します。

SSH を介して NSX Manager にログインし、次のコマンドを実行します。

  • すべての論理ルーター インスタンス情報をリストします。

    nsxmgr-l-01a> show logical-router list all
    Edge-id             Vdr Name                      Vdr id              #Lifs
    edge-1              default+edge-1                0x00001388          3
    

  • コントローラ クラスタから論理ルーターのルーティング情報を受信したホストをリストします。

    nsxmgr-l-01a> show logical-router list dlr edge-1 host
    ID                   HostName                             
    host-25              192.168.210.52                       
    host-26              192.168.210.53                       
    host-24              192.168.110.53

    出力には、指定した論理ルーター(この例では edge-1)に接続されている論理スイッチが属するトランスポート ゾーンのメンバーとして設定されているすべてのホスト クラスタのホストがすべて表示されます。

  • 論理ルーターからホストに通知されるルーティング テーブル情報をリストします。ルーティング テーブル エントリはすべてのホストで一致している必要があります。

    nsx-mgr-l-01a> show logical-router host host-25 dlr edge-1 route
    
    VDR default+edge-1 Route Table
    Legend: [U: Up], [G: Gateway], [C: Connected], [I: Interface]
    Legend: [H: Host], [F: Soft Flush] [!: Reject] [E: ECMP]
    
    Destination     GenMask          Gateway         Flags   Ref Origin   UpTime    Interface
    -----------     -------          -------         -----   --- ------   ------    ---------
    0.0.0.0         0.0.0.0          192.168.10.1    UG      1   AUTO     4101      138800000002
    172.16.10.0     255.255.255.0    0.0.0.0         UCI     1   MANUAL   10195     13880000000b
    172.16.20.0     255.255.255.0    0.0.0.0         UCI     1   MANUAL   10196     13880000000a
    192.168.10.0    255.255.255.248  0.0.0.0         UCI     1   MANUAL   10196     138800000002
    192.168.100.0   255.255.255.0    192.168.10.1    UG      1   AUTO     3802      138800000002
    

  • いずれかのホストに基づいて、ルータに関する追加情報をリストします。これは、ホストと通信しているコントローラを把握するのに便利です。

    nsx-mgr-l-01a> show logical-router host host-25 dlr edge-1 verbose
    
    VDR Instance Information :
    ---------------------------
    
    Vdr Name:                   default+edge-1
    Vdr Id:                     0x00001388
    Number of Lifs:             3
    Number of Routes:           5
    State:                      Enabled
    Controller IP:              192.168.110.203
    Control Plane IP:           192.168.210.52
    Control Plane Active:       Yes
    Num unique nexthops:        1
    Generation Number:          0
    Edge Active:                No
    

show logical-router host host-25 dlr edge-1 verbose コマンドの出力で [Controller IP(コントローラ IP)] フィールドを確認します。

SSH を使用してコントローラに接続し、次のコマンドを実行して、コントローラが学習した VNI、VTEP、MAC、および ARP テーブルの状態情報を表示します。

  • 192.168.110.202 # show control-cluster logical-switches vni 5000
    VNI      Controller      BUM-Replication ARP-Proxy Connections
    5000     192.168.110.201 Enabled         Enabled   0
    

    VNI 5000 の出力では、接続がゼロであることが示され、VNI 5000 の所有者としてコントローラ 192.168.110.201 がリストされます。そのコントローラにログインして、VNI 5000 の詳細情報を収集します。

    192.168.110.201 # show control-cluster logical-switches vni 5000
    VNI      Controller      BUM-Replication ARP-Proxy Connections
    5000     192.168.110.201 Enabled         Enabled   3
    

    192.168.110.201 の出力は、接続数が 3 つであることを示しています。他の VNI を確認します。

    192.168.110.201 # show control-cluster logical-switches vni 5001
    VNI      Controller      BUM-Replication ARP-Proxy Connections
    5001     192.168.110.201 Enabled         Enabled   3
    
    192.168.110.201 # show control-cluster logical-switches vni 5002
    VNI      Controller      BUM-Replication ARP-Proxy Connections
    5002     192.168.110.201 Enabled         Enabled   3

    192.168.110.201 が 3 つの VNI 接続を所有しているため、もう一方のコントローラ 192.168.110.203 の接続数はゼロであると予想されます。

    192.168.110.203 # show control-cluster logical-switches vni 5000
    VNI      Controller      BUM-Replication ARP-Proxy Connections
    5000     192.168.110.201 Enabled         Enabled   0
    
  • MAC テーブルと ARP テーブルを確認する前に、一方の仮想マシンからもう一方の仮想マシンへの ping 送信を開始します。

    app 仮想マシンから Web 仮想マシン:

    MAC テーブルを確認します。

    192.168.110.201 # show control-cluster logical-switches mac-table 5000
    VNI      MAC               VTEP-IP         Connection-ID
    5000     00:50:56:a6:23:ae 192.168.250.52  7

    192.168.110.201 # show control-cluster logical-switches mac-table 5001
    VNI      MAC               VTEP-IP         Connection-ID
    5001     00:50:56:a6:8d:72 192.168.250.51  23

    ARP テーブルを確認します。

    192.168.110.201 # show control-cluster logical-switches arp-table 5000
    VNI      IP              MAC               Connection-ID
    5000     172.16.20.10    00:50:56:a6:23:ae 7
    192.168.110.201 # show control-cluster logical-switches arp-table 5001
    VNI      IP              MAC               Connection-ID
    5001     172.16.10.10    00:50:56:a6:8d:72 23

論理ルーター情報を確認します。各論理ルーター インスタンスは、いずれかのコントローラ ノードによって提供されます。

show control-cluster logical-routers コマンドの instance サブコマンドを実行すると、このコントローラに接続されている論理ルーターのリストが表示されます。

interface-summary サブコマンドでは、コントローラが NSX Manager から学習した LIF が表示されます。この情報は、トランスポート ゾーンで管理されているホスト クラスタ内のホストに送信されます。

routes サブコマンドでは、論理ルーターの仮想アプライアンス(制御仮想マシンとも呼ばれます)からこのコントローラに送信されるルーティング テーブルが表示されます。この情報は LIF 設定よって提供されるため、ESXi ホストの場合とは異なり、このルーティング テーブルには、直接接続されているサブネットは含まれません。ESXi ホスト上のルート情報には、直接接続されたサブネットが含まれます。これは、ESXi ホストのデータパスがこれを転送テーブルとして使用するためです。

  • controller # show control-cluster logical-routers instance all
    LR-Id      LR-Name            Universal Service-Controller Egress-Locale
    0x1388     default+edge-1     false     192.168.110.201    local
    

    LR-Id を書き留め、次のコマンドで使用します。

  • controller # show control-cluster logical-routers interface-summary 0x1388
    Interface                        Type   Id           IP[]
    13880000000b                     vxlan  0x1389       172.16.10.1/24
    13880000000a                     vxlan  0x1388       172.16.20.1/24
    138800000002                     vxlan  0x138a       192.168.10.2/29
    

  • controller # show control-cluster logical-routers routes 0x1388
    Destination        Next-Hop[]      Preference Locale-Id                            Source
    192.168.100.0/24   192.168.10.1    110        00000000-0000-0000-0000-000000000000 CONTROL_VM
    0.0.0.0/0          192.168.10.1    0          00000000-0000-0000-0000-000000000000 CONTROL_VM
    
    [root@comp02a:~] esxcfg-route -l
    VMkernel Routes:
    Network          Netmask          Gateway          Interface
    10.20.20.0       255.255.255.0    Local Subnet     vmk1
    192.168.210.0    255.255.255.0    Local Subnet     vmk0
    default          0.0.0.0          192.168.210.1    vmk0
    
  • コントローラから特定の VNI への接続を表示します。

    192.168.110.203 # show control-cluster logical-switches connection-table 5000
    Host-IP         Port  ID
    192.168.110.53  26167 4
    192.168.210.52  27645 5
    192.168.210.53  40895 6
    
    192.168.110.202 # show control-cluster logical-switches connection-table 5001
    Host-IP         Port  ID
    192.168.110.53  26167 4
    192.168.210.52  27645 5
    192.168.210.53  40895 6
    

    これらのホスト IP アドレスは vmk0 インターフェイスです。VTEP ではありません。ESXi ホストとコントローラの間の接続は、管理ネットワーク上で作成されます。ここに示すポート番号は、ホストがコントローラとの接続を確立するときに ESXi ホスト IP スタックによって割り当てられる短期 TCP ポートです。

  • ホスト上では、このポート番号と一致するコントローラ ネットワーク接続が表示されます。

    [root@192.168.110.53:~] #esxcli network ip connection list | grep 26167
    tcp         0       0  192.168.110.53:26167             192.168.110.101:1234  ESTABLISHED     96416  newreno  netcpa-worker
    
  • ホスト上のアクティブな VNI を表示します。ホスト間での出力の違いを確認してください。すべての VNI がすべてのホストでアクティブになるわけではありません。論理スイッチに接続されている仮想マシンがホストにある場合、そのホストの VNI がアクティブになります。

    [root@192.168.210.52:~] # esxcli network vswitch dvs vmware vxlan network list --vds-name Compute_VDS
    VXLAN ID  Multicast IP               Control Plane                        Controller Connection  Port Count  MAC Entry Count  ARP Entry Count  VTEP Count
    --------  -------------------------  -----------------------------------  ---------------------  ----------  ---------------  ---------------  ----------
        5000  N/A (headend replication)  Enabled (multicast proxy,ARP proxy)  192.168.110.203 (up)            1                0                0           0
        5001  N/A (headend replication)  Enabled (multicast proxy,ARP proxy)  192.168.110.202 (up)            1                0                0           0
    
    注:

    vSphere 6 以降で vxlan 名前空間を有効にするには、/etc/init.d/hostd restart コマンドを実行します。

    ハイブリッドまたはユニキャスト モードの論理スイッチの場合、esxcli network vswitch dvs vmware vxlan network list --vds-name <vds-name> コマンドの出力は次のようになります。

    • [Control Plance(制御プレーン)] が有効になっていることが示されます。

    • マルチキャスト プロキシおよび ARP プロキシがリストされます。AARP プロキシは、IP 検出が無効になっていてもリストされます。

    • 有効なコントローラ IP アドレスのリストと、接続可能であることが示されます。

    • 論理ルーターが ESXi ホストに接続されている場合は、[Port Count(ポート カウント)] が 1 以上になります。これは、論理スイッチに接続されたホストに仮想マシンがない場合も同様です。この 1 つのポートは vdrPort で、ESXi ホストの論理ルーターのカーネル モジュールに接続されている特殊な dvPort です。

  • まず、仮想マシンから別のサブネット上の仮想マシンに ping を送信し、MAC テーブルを表示します。[Inner MAC(内側の MAC)] は仮想マシン エントリであり、[Outer MAC(外側の MAC)] と [Outer IP(外側の IP)] は VTEP を指していることに注意してください。

    ~ # esxcli network vswitch dvs vmware vxlan network mac list --vds-name=Compute_VDS --vxlan-id=5000
    Inner MAC          Outer MAC          Outer IP        Flags
    -----------------  -----------------  --------------  --------
    00:50:56:a6:23:ae  00:50:56:6a:65:c2  192.168.250.52  00000111
    
    ~ # esxcli network vswitch dvs vmware vxlan network mac list --vds-name=Compute_VDS --vxlan-id=5001
    Inner MAC          Outer MAC          Outer IP        Flags
    -----------------  -----------------  --------------  --------
    02:50:56:56:44:52  00:50:56:6a:65:c2  192.168.250.52  00000101
    00:50:56:f0:d7:e4  00:50:56:6a:65:c2  192.168.250.52  00000111
    

次のタスク

NSX Edge アプライアンスを最初にデプロイしたホストでは、NSX が仮想マシンの自動起動/シャットダウンを有効にします。その後、アプライアンス仮想マシンを別のホストに移行した場合、新しいホストで仮想マシンの自動起動/シャットダウンが有効にならない場合があります。そのため、クラスタ内のすべてのホストをチェックし、仮想マシンの自動起動/シャットダウンが有効になっていることを確認することをお勧めします。http://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vsphere.vm_admin.doc%2FGUID-5FE08AC7-4486-438E-AF88-80D6C7928810.html を参照してください。

論理ルーターを展開した後、論理ルーター ID をダブルクリックして、インターフェイス、ルーティング、ファイアウォール、ブリッジ、DHCP リレーなどを設定します。

次はその例です。