NSX-T 3.1.2 最小限構成のインストール方法 (7/7) ダイナミックルーティング

スポンサーリンク

自宅で検証できそうなスペックに合わせたNSX-Tのインストール手順を紹介します。NSX Manager 3台, NSX Edge 2台, ESXi 2台, vCenter 1台の構成で、このページではNSX EdgeのTier-0ゲートウェイと物理ルータ間でダイナミックルーティングを確立する方法をまとめます。

構築範囲

このページでは、NSX EdgeのTier-0ゲートウェイと物理ルータ間でダイナミックルーティングを確立し、NSX-T内の仮想マシンが物理ネットワークと疎通可能な状態にします。構築範囲を図示すると以下の範囲です。

NSX-T 構築範囲の説明

ダイナミックルーティング

NSX-Tの設定

NSX-TはBGPまたはOSPFによるダイナミックルーティングが可能です。

OSPFが使用可能なのはNSX-T 3.1.0以降です。

「ネットワーク」「Tier-0ゲートウェイ」「対象のTier-0ゲートウェイ 3点リーダ」「編集」の順に押下します。

ダイナミックルーティングの設定 01

「ルーティング」のタブを開きます。

ダイナミックルーティングの設定 02

「(BGPネイバーの)設定」を押下します。

ダイナミックルーティングの設定 03

「BGIネイバーの追加」を押下します。

ダイナミックルーティングの設定 04

「IPアドレス」には対向機器のIPアドレスを入力し、「リモートASの番号」は対向機器のAS番号を入力します。「送信元アドレス」には、NSX Edgeを台数分だけ指定します。

ダイナミックルーティングの設定 05

デフォルト設定のホールドダウン180秒, キープアライブ30秒を待ちきれない場合は、タイマーをチューニングします。以下スクリーンショットでは30秒, 10秒としています。

設定完了後、「保存」を押下します。

ダイナミックルーティングの設定 06

「初期化されていません」をクリックします。設定に問題ない場合は「成功」に変わります。

ダイナミックルーティングの設定 07

「成功」と表示されることを確認します。

ダイナミックルーティングの設定 08

動作確認

物理ルータにBGPの設定を入れます。以下はNEC IXを使用した場合の設定例です。

router bgp 65000
  timers 10 30
  neighbor 192.168.3.132 remote-as 65000
  neighbor 192.168.3.131 remote-as 65000

NSX-TとBGP neighborを確立できていることを確認します。

この時点でNSX-Tからprefixを受信できていませんが、正常な挙動です。NSX-T側での再配送が未設定のためです。

nec-ix01(config)# show ip bgp summary                                 
BGP router ID 192.168.4.1, local AS number 65000
1 BGP AS-PATH entries

Neighbor        V    AS    MsgRcvd MsgSent Up/DownTime   State
192.168.3.131   4    65000 38      36      0:04:43       ESTABLISHED
192.168.3.132   4    65000 42      42      0:04:47       ESTABLISHED

Total number of neighbors 2

再配送(再配分)

NSX-Tの設定

再配送を設定し、NSX-Tと物理ルータ間で互いにprefixを交換できるようにします。Tier-0ゲートウェイの設定画面で「ルート再配分」のプルダウンを開きます。その後、「(ルート再配分の)設定」を押下します。

redistributeの訳語として「再配送」「再配分」などの用語が見られます。ヴイエムウェア社だけは「再配分」との訳語にしていますが、かなり少数派の言い回しのため、当サイトでは「再配分」との言葉は使用しません。

再配送の設定 01

「ルート再配分の追加」を押下します。

再配送の設定 02

「名前」に設定内容を意味する何か分かりやすい名前を入力し、「(ルート再配分の)設定」を押下します。

再配送の設定 03

再配送すべきprefixにチェックを入れ、「適用」を押下します。

再配送の設定 04

「追加」を押下します。

再配送の設定 05

「適用」を押下します。

再配送の設定 06

「保存」を押下します。

再配送の設定 07

動作確認

物理ルータにもprefixをadvertiseする設定を入れます。以下はNEC IXを使用した場合の設定例です。

router bgp 65000
  address-family ipv4 unicast
    originate-default
    network 192.168.1.0/24

NSX-TからBGPによるprefixを受信しルーティングテーブルに載せていることを確認します。

nec-ix01(config)# show ip route
IP Routing Table - 12 entries, 1 hidden, 2035 frees
Entries: 5 Connected, 3 Static, 0 RIP, 0 OSPF, 4 BGP
Codes: C - Connected, S - Static, R - RIP, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, B - BGP
       * - Candidate default, s - Summary
Timers: Age
S*   0.0.0.0/0 [0/1] via 42.144.44.1, GigaEthernet0.0, 8:29:40
S    10.0.0.0/8 [1/1] via 192.168.1.10, GigaEthernet1.0, 18d19h54m3s
     42.0.0.0/8 is subnetted, 1 subnets
C      42.144.44.0/22 [0/1] is directly connected, GigaEthernet0.0, 8:29:40
S    192.168.0.0/16 [1/1] via 192.168.1.10, GigaEthernet1.0, 18d19h54m3s
C    192.168.1.0/24 [0/1] is directly connected, GigaEthernet1.0, 18d19h54m3s
C    192.168.2.0/24 [0/1] is directly connected, GigaEthernet1.2, 15d12h34m9s
C    192.168.3.0/24 [0/1] is directly connected, GigaEthernet1.3, 15d12h34m3s
C    192.168.4.0/24 [0/1] is directly connected, GigaEthernet1.4, 15d12h34m
B    192.168.50.0/24 [200/0] via 192.168.3.131, GigaEthernet1.3, 0:00:03
B    192.168.51.0/24 [200/0] via 192.168.3.131, GigaEthernet1.3, 0:00:03
B    192.168.60.0/24 [200/0] via 192.168.3.131, GigaEthernet1.3, 0:00:03
B    192.168.61.0/24 [200/0] via 192.168.3.131, GigaEthernet1.3, 0:00:03
nec-ix01(config)# 

NSX Edgeにログインし、ルーティングテーブルを確認します。物理ルータがadvertiseしたprefixが確かにルーティングテーブルに載っていることを確認します。

nsx-edge131> get logical-router
Mon May 03 2021 UTC 02:59:35.739
Logical Router
UUID                                   VRF    LR-ID  Name                              Type                        Ports   Neighbors      
736a80e3-23f6-5a2d-81d6-bbefb2786666   0      0                                        TUNNEL                      3       3/5000         
8933db2c-671a-43df-b300-262ac8fd7b30   1      2      SR-t0-router                      SERVICE_ROUTER_TIER0        6       2/50000        
112a9659-8c91-433a-8788-f804716fdfa1   3      4      DR-t1-router5X                    DISTRIBUTED_ROUTER_TIER1    5       0/50000        
bb48d269-9fb6-472d-8b35-d008c3b6d457   4      1      DR-t0-router                      DISTRIBUTED_ROUTER_TIER0    6       0/50000        
867f79b4-44b2-4819-8d59-0013c0d60394   5      5      SR-t1-router5X                    SERVICE_ROUTER_TIER1        5       2/50000        
ad6ce737-b388-403f-ae1a-ab7d9c975ebd   6      6      DR-t1-router6X                    DISTRIBUTED_ROUTER_TIER1    5       0/50000        
38830c7f-4914-4a3a-b90d-74f4f97ba59f   7      7      SR-t1-router6X                    SERVICE_ROUTER_TIER1        5       2/50000

nsx-edge131> get logical-router 8933db2c-671a-43df-b300-262ac8fd7b30 route 

Flags: t0c - Tier0-Connected, t0s - Tier0-Static, b - BGP, o - OSPF
t0n - Tier0-NAT, t1s - Tier1-Static, t1c - Tier1-Connected,
t1n: Tier1-NAT, t1l: Tier1-LB VIP, t1ls: Tier1-LB SNAT,
t1d: Tier1-DNS FORWARDER, t1ipsec: Tier1-IPSec, isr: Inter-SR,
> - selected route, * - FIB route

Total number of routes: 15

b  > * 0.0.0.0/0 [200/1] via 192.168.3.1, uplink-291, 00:01:04
t0c> * 100.64.128.0/31 is directly connected, downlink-297, 02:10:34
t0c> * 100.64.128.2/31 is directly connected, downlink-281, 02:10:34
t0c> * 169.254.0.0/25 is directly connected, downlink-283, 00:09:08
isr> * 169.254.0.128/25 is directly connected, inter-sr-301, 02:10:34
b  > * 192.168.1.0/24 [200/1] via 192.168.3.1, uplink-291, 00:01:57
t0c> * 192.168.3.0/24 is directly connected, uplink-291, 02:10:34
isr> * 192.168.3.132/32 [200/0] via 169.254.0.131, inter-sr-301, 02:10:31
t1c> * 192.168.50.0/24 [3/0] via 100.64.128.1, downlink-297, 01:03:14
t1c> * 192.168.51.0/24 [3/0] via 100.64.128.1, downlink-297, 01:03:14
t1c> * 192.168.60.0/24 [3/0] via 100.64.128.3, downlink-281, 01:03:02
t1c> * 192.168.61.0/24 [3/0] via 100.64.128.3, downlink-281, 01:03:02
t0c> * fc0f:d7fd:1b18:b000::/64 is directly connected, downlink-297, 02:10:34
t0c> * fc0f:d7fd:1b18:b001::/64 is directly connected, downlink-281, 02:10:34
t0c> * fe80::/64 is directly connected, downlink-297, 02:10:34
Mon May 03 2021 UTC 02:59:58.019
nsx-edge131> 

最後にサーバ同士の疎通を確認します。centos40(192.168.1.40)から物理ルータ(192.168.1.1)とNSX Edge(192.168.3.31)を経由してcentos51(192.168.51.51)へ疎通可能なことを確認します。

[root@centos40 ~]# ping 192.168.51.51 -c 3
PING 192.168.51.51 (192.168.51.51) 56(84) bytes of data.
64 bytes from 192.168.51.51: icmp_seq=1 ttl=61 time=1.08 ms
64 bytes from 192.168.51.51: icmp_seq=2 ttl=61 time=1.03 ms
64 bytes from 192.168.51.51: icmp_seq=3 ttl=61 time=1.24 ms

--- 192.168.51.51 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 4ms
rtt min/avg/max/mdev = 1.034/1.117/1.241/0.093 ms
[root@centos40 ~]# 
[root@centos40 ~]# 
[root@centos40 ~]# 
[root@centos40 ~]# traceroute 192.168.51.51
traceroute to 192.168.51.51 (192.168.51.51), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  0.417 ms  0.401 ms  0.377 ms
 2  192.168.3.131 (192.168.3.131)  33.481 ms  33.461 ms  33.449 ms
 3  100.64.128.1 (100.64.128.1)  0.977 ms  0.960 ms  0.919 ms
 4  192.168.51.51 (192.168.51.51)  1.269 ms !X  1.634 ms !X  1.617 ms !X
[root@centos40 ~]# 

補足説明

自動化

BGP neighborの設定

BGP neighborを設定するRest API操作は以下の通りです。GUI上では表示されませんが、内部的にはneighborの設定ごとにIDを持つようです。以下の操作ではIDを「01」にしています。

curl --request PUT -d @- \
  -u admin:P@ssw0rdP@ssw0rd \
  --header "Content-Type:application/json" \
  -k https://192.168.1.121/policy/api/v1/infra/tier-0s/t0-router/locale-services/default/bgp/neighbors/01  << EOF
{
  "source_addresses" : [ "192.168.3.131", "192.168.3.132" ],
  "neighbor_address" : "192.168.3.1",
  "remote_as_num" : "65000",
  "keep_alive_time" : 10,
  "hold_down_time" : 30,
  "resource_type" : "BgpNeighborConfig",
  "display_name" : "01"
}
EOF

再配送の設定

再配送を設定するRest API操作は以下の通りです。

curl --request PATCH -d @- \
  -u admin:P@ssw0rdP@ssw0rd \
  --header "Content-Type:application/json" \
  -k https://192.168.1.121/policy/api/v1/infra/tier-0s/t0-router/locale-services/default << EOF
{
  "route_redistribution_config" : {
    "bgp_enabled" : true,
    "ospf_enabled" : true,
    "redistribution_rules" : [ {
      "name" : "rule01",
      "route_redistribution_types" : [ "TIER1_CONNECTED" ],
      "destinations" : [ "BGP" ]
    } ]
  }  
}
EOF
タイトルとURLをコピーしました