作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與新應用遞送方案的介紹與推廣。

在前面幾篇網誌就IPv6配置討論內,我們已將NSX-T內L2/L3 環境建置完成,虛機建立能夠互通,防火牆政策也可正常運作。本篇要進入第六步驟,討論在這個環境內,以NSX Advanced Load Balancer提供負載平衡服務。

但在開始進入配置流程前,我想先跳出來回顧一下寫作當時,NSX Advanced Load Balancer 21.1版的IPv6支持能力。下圖內是NSX ALB可以支持的前端Virtual Service以及後端Pool的IPv4 / IPv6組合方式,大家可以看到,在前端與後端均可自由選用IPv4 / IPv6,或是兩者dual-stack的組合:

實際功能支持上,整理成下列幾點,如果大家對細部資訊有興趣,可以到網站 ( https://avinetworks.com/docs/21.1/ipv6-support/ ) 做進一步確認:

  • 管理介面,包含Controller / Service Engine 的管理段地址,目前僅能用IPv4
  • 對應TCP Fast Path / Direct Server Return 功能,目前不支持 IPv6
  • 支持於 vCenter / No-Orchestrator / Linux-Server / NSX-T / Openstack / CSP Cloud上運作IPv6。但目前還不支持運作IPv6於公有雲上以及容器環境 (AKO)

那進入配置環節。於展示環境的架構圖,本步驟內我們要在Seg-101上建立一個NSX ALB的Virtual Service (地址為2001:db8:cafe:101::dddd:1111),並提供到後段三台nginx server的負載平衡。這三台後端伺服器分別位於Seg-101 / Seg-102,以及外部的實體網段內 (vlan26, 2001:db8:cafe:26::/64)。當然,由Avi服務引擎到這些後端伺服器間都是可以正常路由繞通的。

步驟六:建立NSX ALB配置,提供負載平衡服務

在前面步驟一內應該已經建立好NSX ALB的Controller,並且與vCenter / NSX-T介接,建立NSX-T Cloud。但我們於步驟五內配置了對應IPv6的Segments,因此應該編輯NSX-T Cloud內設定,將Virtual Service所在Seg-101對應的Gateway與Segment加入NSX-T Cloud內的Data Network Segment,如下圖:

上述動作完成後,我們還應該告知NSX ALB這個Segment內的IP Subnet定址。因此需要到NSX-T Cloud的Networks內,配置對應的IPv6網段。由於IPv6內原本就可透過DHCP / SLAAC等機制進行自動配置,服務引擎要連入這些網段時介面均可取得IP地址,因此這邊就不用像IPv4時,在沒有DHCP時還得去進行Static IP Pools的設定了。

此外,由於後端Server在我們的配置內是散在不同網段,因此於Routing內需加上一段靜態路由,到2001:db8:cafe::/48內所有網段,均由Seg-101的default gateway送出:

上面配置完成後,就可以進行Virtual Service與後端Pool的配置了。非常直接,除了地址改成是用IPv6外,與原本熟悉的方式都相同。Virtual Service相關配置如下:

而對應的Pool內就是輸入各台Server的IPv6地址:

等到 Virtual Service / Pool 健康狀態都進入正常,就可以測試一下啦。在DNS內可以預先將v6-nginx-vs這個名稱AAAA紀錄配置到前面的Virtual IP ( 2001:db8:cafe:101::dddd:1111 ) 後,從瀏覽器連線:

接著到NSX ALB內看一下Virtual Service的Log,很正確地顯示出IPv6的相關連線資訊:

負載平衡配置就簡單敘述到這邊。於NSX內建立IPv6環境的六個步驟到本篇結束,下篇會是系列文最後一篇,我想和大家討論其他NSX相關維運功能,於IPv6環境內的支持能力。