posted

0 Comments

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

 

雖然由前文所述,分散式邏輯路由器的架構與傳統硬體或是VM-based的路由器(或是帥氣的Term:NFV路由器)很不一樣,但在NSX設定與管理上,用戶感受到的完全就是一個快速而且直覺的路由器建立流程。先想像一下實體環境內,原本要建立一台路由器時,管理者要進行的工作:

 

  • 去找一台或買一台路由器、上架、接電源
  • 去找網路線把路由器的各個介面接取到對應交換機或是對應VLAN
  • 開始進行路由器的機器本身基本設定,像是接console、設hostname、設NTP / DNS這類標準的工作
  • 設定每個使用的實體介面,如IP Address / Mask這些。
  • 設定路由協定

 

接著我們來看在NSX內的邏輯路由器設定方法。考慮下面已經建立的三個邏輯交換器,分別是Web / AP / DB網段。各網段內也已經接取了對應的虛擬機器。由下圖是簡易的示意圖與NSX介面上的顯示資訊

 

圖說:已經建立的邏輯交換器

 

此時比如說Web-A與AP-A這兩個虛擬機器可以互相溝通嗎?應該不行,目前是位於兩個完全獨立,沒有透過路由接取的獨立交換器內。

 

圖說:兩個VM Web-A / AP-A並不能互相連通

 

所以藉由邏輯路由器的建立,我們希望要將三個網段接取在一起,如下圖

 

首先到vCenter的NSX Edges介面內,選擇+號建立新的邏輯路由器。

 

圖說:新增邏輯路由器

 

因為我們要建立的是VM與VM間的東西向邏輯路由器,因此當然要在此選擇Logical Router的選項。同時,給你的新路由器選擇一個可以識別的名稱。按下一步後繼續。

 

圖說:選擇邏輯路由器並設定名稱

 

由前篇專欄文章內所述,雖然邏輯路由的轉發是在vSphere Host的Hypervisor內直接處理,但我們仍然會有一個路由器的VM在,負責進行路由協定的溝通與路由運算。既然有VM在,那要設定基本的管理帳戶與密碼也是天經地義的。但在下圖有幾個較為注目的選項包括

 

  • Enable SSH access: 設定可否由SSH連入CLI介面進行管理。若未點擊,僅能由vSphere Console連入CLI介面
  • Enable High Availability: 設定是否啟動HA功能。此處的HA並非vSphere的HA功能,而是若啟用,除了Active的Router VM外,另外還會再啟動一個Standby Router VM。於Active Router VM如果失效,Standby VM會接手提供此路由器的功能。
  • Edge Control Level Logging: 設定Syslog的發送等級

 

圖說:建立邏輯路由器基本設定

 

 

下一步,因為這有個VM在,所以當然也需設定所放置的Cluster,以及被安排可使用的datastore。

 

圖說:設定邏輯路由器虛機所在之Cluster與使用之儲存體

 

再下一步,Logical DLR需要有一個特殊的管理介面,一般選擇與NSX Controller / NSX Manager可連通的Port-Group,但其實不需要設定IP等資訊。

 

圖說:管理介面設定

 

下面則是設定Router的重頭戲,也就是我們要將此DLR Router上面接取各個邏輯交換器的資訊設定進去。這邊我們設定的資訊包括

 

  • 與Demo-Web-Switch交換器接取介面:名稱為Web-VIF,Internal Type介面,IP為172.16.10.254,Mask為24
  • 與Demo-AP-Switch交換器接取介面:名稱為AP-VIF,Internal Type介面,IP為172.16.20.254,Mask為24
  • 與Demo-DB-Switch交換器接取介面:名稱為DB-VIF,Internal Type介面,IP為172.16.30.254,Mask為24

 

圖示為增加第一個邏輯介面:Web-VIF的設定畫面

 

圖說:增加路由器上的邏輯介面與設定

 

圖說:增加路由器上的邏輯介面,並接取至對應的邏輯交換器

 

圖說:設定邏輯介面的IP與Mask資訊

 

依序把三個邏輯介面都設定完後,可以看到如下的畫面

 

圖說:介面設定完成畫面

 

下一步是進行default gateway的設定,在此示範內我們僅是要將三個邏輯交換器連起來,因此就不設定default gateway了。我們可以在建立router時就設定default gateway指向再上一層的路由器,或是後續到router的管理介面內設定路由,如採用static route / BGP / OSPF等。

 

圖說:default gateway

 

最後確認相關資訊都設定正確後,按finish開始部署此路由器

 

圖說:default gateway設定

 

下面兩張圖各位可看到的是部署中,以及部署完成的顯示狀態。

 

圖說:路由器部署中

 

圖說:路由器部署完成

 

此時,我們嶄新的路由器部署出來了,這個路由器將三個邏輯交換器接取在一起。首先我們確認一下,Web-A與AP-A可以透過此路由器連通了

 

圖說:兩個不同網段間虛擬機器已經可以互相溝通

 

最後一個比較技術的點展示給大家看。前文內我們一直在告訴大家分散式邏輯路由器雖然有一個VM在,但實際的forwarding table是放在vSphere Host內的。下面的圖首先是我們看到新產出的路由器,名稱是Demo-DLR,但ID是Edge-38。接著我們直接登入vSphere ESXi Host的command line,用net-vdr這個指令看edge-38這台路由器的forwarding table。

 

圖說:查詢邏輯路由器ID,並於底層vSphere Host上直接確認路由表

 

 

我們可以看到直接在vSphere Host Hypervisor內,就有此路由器接取三個網段的路由表紀錄,而非僅是在路由器的VM裡面。這邊希望能讓各位注意到的重點,是對於邏輯路由器,Routing是發生在Hypervisor內的。我們有一個Router的VM,但這個VM僅是control-plane,data-plane仍然發生在各台分散的hypervisor上。

 

希望在上面的範例內,可以讓各位感受到如何進行分散式邏輯路由器的建置。這邊各位可以看到所有的設定都在軟體層進行,無須與底層有任何關聯。在上面的範例完成後,管理者可以繼續到此邏輯路由器內去進行static route / OSPF / BGP / DHCP relay等等的設定,回應業務的實際需求。

 

在下一篇文章,我們會更進一步說明,為何邏輯路由器可以做到資料中心網路流的最優化。