それでは、NSX-V側でL2ブリッジを設定し、NSX-T側と接続していきたいと思います。
NSX-VではL2ブリッジの機能を分散論理ルータ(DLR)が提供しているので、DLR
DLRを構築していきます。
説明範囲
DLRの作成
1.メニューの「ネットワークとセキュリティ」から「NSX Edge」を選択し、追加から「分散論理ルーター」を押下します。
2.名前は「DLR-0」とし、制御仮想マシンのデプロイにチェックを入れ、次へを押下します。
3.ユーザー名、パスワードは任意のものを設定します。また、SSHアクセスを許可して、次へを押下します。
4.データセンターは「Datacenter」を入力し、Edgeアプライアンスの仮想マシンを追加を押下します。
5.Edgeアプライアンスの展開先としては、Cluster30のesxi25のデータストアを選択し、追加を押下します。
6.管理用インターフェイスとして「DPortGroup_0」、IPアドレスを「192.168.1.253/24」を入力して、次へを押下します。
7.インターフェイスは何も入力せずに、次へを押下します。
8.デフォルトゲートウェイも何も入力せずに、次へを押下します。
9.確認をして、終了を押下します。
L2ブリッジの設定
1.先ほど作成したDLR-0を押下し、ブリッジの「追加」を押下します。
2.名前に「Bridge-seg4」、論理スイッチはオーバーレイ側のネットワークである「LSW-seg4」、分散仮想ポートグループはL2ブリッジのさせたいアンダーレイ側の「DPortGroup_4」を選択します。設定を入力したら、「発行」を押下することで設定が有効となります。
NSX-Tでvdr_macの変更
NSX-VのESGとNSX-TのTier-0をL2ブリッジで接続しまうとアンダーレイ側の双方のmacアドレスが同一のため、通信が不安定となってしまうので、NSX-T側のvdr_macを変更します。
1.vdr_macの情報はAPIで取得する必要があります。APIについては、postmanを利用してGETとPUTを実施していきます。
まずは、vdr_macを含めたgloba-configを取得しますので、リクエストURLとして「https://192.168.1.51/policy/api/v1/infra/global-config」,
AuthorizationのTypeを「Basic Auth」を選択し、NSX-T Managerのユーザー名、パスワードを設定します。GETを選択後、「Send」を押下します。
実行すると以下のようなJSON形式の結果が表示されます。
{ "fips": { "lb_fips_enabled": false }, "l3_forwarding_mode": "IPV4_ONLY", "uplink_mtu_threshold": 9000, "vdr_mac": "02:50:56:56:44:52", ★この部分のMACを変更する★ "vdr_mac_nested": "02:50:56:56:44:53", "allow_changing_vdr_mac_in_use": false, ★vdr_macの使用と変更を許可する★ "arp_limit_per_gateway": 50000, "resource_type": "GlobalConfig", "id": "global-config", "display_name": "default", "path": "/infra/global-config", "relative_path": "global-config", "parent_path": "/infra", "unique_id": "d57b3941-6664-4e70-98c5-84ffd328580f", "marked_for_delete": false, "overridden": false, "_create_user": "system", "_create_time": 1632556905605, "_last_modified_user": "system", "_last_modified_time": 1646707189951, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }
2.取得した結果から、「vdr_mac」を「02:50:56:56:44:62」、「allow_changing_vdr_mac_in_use」を「true」に変更します。postmanの画面から、「Body」、「raw」、「JSON」を選択し、修正したgloba-configを貼り付けPUTを選択して、Sendを押下します。
postmanでは以下の内容を貼り付けてます。
{ "fips": { "lb_fips_enabled": false }, "l3_forwarding_mode": "IPV4_ONLY", "uplink_mtu_threshold": 9000, "vdr_mac": "02:50:56:56:44:62", "vdr_mac_nested": "02:50:56:56:44:53", "allow_changing_vdr_mac_in_use": true, "arp_limit_per_gateway": 50000, "resource_type": "GlobalConfig", "id": "global-config", "display_name": "default", "path": "/infra/global-config", "relative_path": "global-config", "parent_path": "/infra", "unique_id": "d57b3941-6664-4e70-98c5-84ffd328580f", "marked_for_delete": false, "overridden": false, "_create_user": "system", "_create_time": 1632556905605, "_last_modified_user": "system", "_last_modified_time": 1646707189951, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }
疎通確認
1.NSX-V、NSX-T双方のオーバーレイネットワーク配置されたVM間で疎通確認をしてみます。
NSX-Vのcent430(192.168.4.30)からNSX-Tのcent421(192.168.4.21)、Google DNS(8.8.8.8)へ疎通できました。
[root@cent430 ~]# [root@cent430 ~]# ping -c 3 192.168.4.21 PING 192.168.4.21 (192.168.4.21) 56(84) bytes of data. 64 bytes from 192.168.4.21: icmp_seq=1 ttl=64 time=0.755 ms 64 bytes from 192.168.4.21: icmp_seq=2 ttl=64 time=0.845 ms 64 bytes from 192.168.4.21: icmp_seq=3 ttl=64 time=1.08 ms --- 192.168.4.21 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.755/0.894/1.082/0.137 ms [root@cent430 ~]# [root@cent430 ~]# ping -c 3 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=113 time=5.85 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=113 time=6.20 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=113 time=5.86 ms --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 5.851/5.973/6.207/0.187 ms [root@cent430 ~]#