ホストの論理ルーター カーネル モジュールは、VXLAN ネットワーク間、および仮想ネットワークと物理ネットワーク間のルーティングを実行します。NSX Edge アプライアンスは必要に応じて動的ルーティング機能を提供します。論理ルーターは、Cross-vCenter NSX 環境内のプライマリとセカンダリの NSX Manager に作成できますが、ユニバーサル論理ルーターはプライマリ NSX Manager にのみ作成できます。
以下のリストでは、論理ルーターでのインターフェイス タイプ(アップリンクおよび内部)別の機能サポートについて説明します。
動的ルーティング プロトコル(BGP と OSPF)は、アップリンク インターフェイスでのみサポートされます。
ファイアウォール ルールはアップリンク インターフェイスでのみ適用可能であり、対象は Edge 仮想アプライアンスに送信される制御トラフィックと管理トラフィックに限定されます。
DLR 管理インターフェイスの詳細については、ナレッジベース記事の「分散論理ルーター制御仮想マシンの管理インターフェイスの検討事項」(http://kb.vmware.com/kb/2122060) を参照してください。
前提条件
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) を参照してください。
手順
タスクの結果
次の例のトポロジでは、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 リレーなどを設定します。
次はその例です。