1. 程式人生 > >Neutron網絡入門

Neutron網絡入門

borde 技術分享 列表 ros 用戶創建 綠色 lec add 頁面

Neutron是OpenStack核心項目之中的一個,提供雲計算環境下的虛擬網絡功能。Neutron的功能日益強大,並在Horizon面板中已經集成該模塊。作為Neutron的核心開發人員之中的一個。個人認為Neutron全然取代Nova Network模塊作為雲計算網絡管理中心是必定趨勢。要使用好OpenStack,了解Neutron概念及其對應操作就顯得格外重要。為此目的,這篇博客主要講述Neutron網絡的一些基本概念,網絡規劃和Horizon中怎樣使用Neutron中的網絡功能。

Neutron基本概念

  1. 網絡

在普通人的眼裏,網絡就是網線和供網線插入的port。一個盒子會提供這些port。對於網絡project師來說,網絡的盒子指的是交換機和路由器。所以在物理世界中,網絡能夠簡單地被覺得包含網線,交換機和路由器。當然。除了物理設備。我們還有軟的物件:IP地址,交換機和路由器的配置和管理軟件以及各種網絡協議。

要管理好一個物理網絡須要很深的網絡專業知識和經驗。

Neutron網絡目的是(為OpenStack雲更靈活地)劃分物理網絡,在多租戶環境下提供給每一個租戶獨立的網絡環境。

另外,Neutron提供API來實現這樣的目標。Neutron中“網絡”是一個能夠被用戶創建的對象,假設要和物理環境下的概念映射的話。這個對象相當於一個巨大的交換機。能夠擁有無限多個動態可創建和銷毀的虛擬port。

  1. port

在物理網絡環境中,port是用於連接設備進入網絡的地方。Neutron中的port起著類似的功能,它是路由器和虛擬機掛接網絡的著附點。

  1. 路由器

和物理環境下的路由器類似。Neutron中的路由器也是一個路由選擇和轉發部件。僅僅只是在Neutron中,它是能夠創建和銷毀的軟部件。

  1. 子網

簡單地說,子網是由一組IP地址組成的地址池。不同子網間的通信須要路由器的支持,這個Neutron和物理網絡下是一致的。Neutron中子網隸屬於網絡。

Neutron網絡的一種典型結構

有這麽多的基本概念,使用起來是不是非常麻煩?事實上僅僅要我們好好梳理一下。neutron的基本操作還是非常easy的。

首先我們規劃一下我們的網絡。

Neutron典型的網絡結構例如以下圖所看到的:

技術分享

在這個圖中。我們有一個和互聯網(互聯網能夠由其他網絡取代。比方辦公網絡)連接的外部網絡。這個外部網絡是租戶虛擬機訪問互聯網或者互聯網訪問虛擬機的途徑。外部網絡有一個子網。它是一組在互聯網上可尋址的IP地址。

普通情況下,外部網絡僅僅有一個(neutron是支持多個外部網絡的),且由管理員創建。租戶網絡可由租戶隨意創建。

當一個租戶的網絡上的虛擬機須要和外部網絡以及互聯網通信時,這個租戶就須要一個路由器。路由器有兩種臂,一種是gateway網關臂,還有一種是interfaces接口臂。網關臂僅僅有一個,連接外部網。接口臂能夠有多個。連接租戶網絡的子網。經過這種網絡規劃,我們有以下的步驟來實施:

  1. 首先管理員拿到一組能夠在互聯網上尋址的IP地址。而且創建一個外部網絡和子網
  2. 租戶創建一個網絡和子網
  3. 租戶創建一個路由器而且連接租戶子網和外部網絡
  4. 租戶創建虛擬機

Horizon上操作網絡

如今我們規劃好了網絡。我們就能夠在Horizon上進行操作了。

管理員創建外網

我們說過外網要由管理員創建。如果我們拿到的外部網絡的IP地址是20.0.2.0/24,可用的地址段是20.0.2.10-20.0.2.20,網關是20.0.2.1。我們如今就以管理員的身份在horzion上創建一個外網和子網:

  1. 以管理員身份登錄後。選擇管理員面板,點擊’Networks’項後顯示當前網絡列表:技術分享
  2. 在上圖中點擊“Create Network”button彈出“Create Network”窗體:技術分享在上面的彈出窗體中,填入網絡名:ExternalNet,並且勾選External Network然後點擊“Create Network”。
  3. 以下是我們剛才創建好的網絡:技術分享
  4. 如今我們點擊“ExternalNet”查看這個網絡的具體情況:技術分享
  5. 在網絡具體情況頁面中。我們點擊“Create Subnet”彈出窗體創建外部網絡的子網:技術分享

這是一個多標簽頁面,在上面的“Subnet”頁面中填入子網名,子網CIDR(Network Address)。

在以下的“Subnet Detail”頁中填入地址範圍:

技術分享

註意:由於外部網絡不掛接虛擬機,能夠不選澤“Enable DHCP“。最後點擊子網創建窗體上的“Create”完畢子網的創建。

租戶demo創建租戶網絡

我們如今以普通租戶登錄horizon。並點擊“Netowrks”項:技術分享

點擊上圖的“Create Network”彈出租戶網絡創建窗體:技術分享

顯然。這是一個多Tab的界面,和我們先前管理員創建網絡的界面不一樣。在這個界面裏。我們能夠一氣完畢網絡和子網的創建。

我們在“Network”頁中填入網絡名。在“Subnet”頁中填入CIDR (Network Address):技術分享

“Subnet Datail”頁面能夠讓我們填入IP地址池,缺省情況是Neutron使用整個CIDR規定的地址範圍。

所以我們不關心“Subnet Datail”頁面。

我們點擊“Create”button完畢租戶子網的創建。

租戶創建路由器

選擇“Routers”項。系統顯演示樣例如以下頁面:技術分享

  1. 創建路由器

點擊右面的“Create Router”彈出路由器創建對話框:技術分享

這個對話框及其簡單,我們僅僅需輸入全部的路由器的名字,然後點擊“Create Router”創建路由器。

  1. 配置網關臂

路由器創建出來之後。會顯示在路由器列表中:技術分享

我們點擊“Set Gateway”來設置這個路由器的網關臂:

如上圖所看到的,我們選擇管理員創建好的外部網絡“ExternalNet”。然後點擊“Set Gateway”。

  1. 配置接口臂

下圖顯示了租戶剛才創建的路由器及其網關臂:技術分享

如今我們點擊路由器名字查看路由器詳情:技術分享

為了設置路由器的接口臂。我們點擊“Add Interface”button彈出“Add Interface”窗體:技術分享

上圖顯示的窗體,我們僅僅需選擇我們所要連接的子網。然後點擊“Add Interface”。

如今這個租戶的路由器以及連接了外網和租戶的子網。接下來這個租戶能夠創建虛擬機,這個虛擬機借助路由器就能夠訪問外部網絡甚至互聯網。

租戶創建虛擬機

這裏不想詳述創建虛擬機的過程。我們著重敘述一下這個過程中怎樣選擇網絡:技術分享

從上面的圖中我們能夠看出,租戶能夠選擇的網路包含了租戶剛才創建的網絡。點擊網絡右邊的“+”符號,或者拖拽這個網絡進入“Selected Networks”框中。租戶所創建的虛擬機就會使用這個網絡。

租戶查看網絡拓撲

最後我想要說的是Horizonproject師費盡心思實現的網絡拓撲圖:技術分享

從這個拓撲圖能夠看到我們前面全部操作的結果:

  1. 綠色的是管理員創建的外部網絡
  2. 跨在外部網絡和租戶網絡上的是具有網關臂和接口臂的路由器
  3. 藍色的是租戶網路及其子網
  4. 最後是租戶創建的虛擬機

點擊拓撲圖上的虛擬機圖像,我們能夠使用VNC訪問虛擬機的控制臺,例如以下圖所看到的:技術分享

我們能夠看出。這個虛擬機從租戶網絡中獲取到了IP地址:10.0.1.3。它通過租戶自己的路由器能訪問互聯網。

總結

是不是有了Neutron就不須要物理網絡的網絡project師了呢?不是的。虛擬網絡的負載終於還須要跑到物理網絡上去傳遞。Neutron僅僅只是是把部分傳統網絡管理的功能推到了租戶方。比方租戶能夠創建一個虛擬網絡及其子網,創建一個路由器等等,這個從上面的操作中能夠看出來。

在虛擬網絡功能的幫助下,基礎物理網絡就能夠向外提供額外的網絡服務了,比方租戶全然能夠創建一個屬於自己的類似於數據中心網絡的虛擬網絡。

Neutron提供了比較完好的多租戶環境下的虛擬網絡模型以及API。

像部署物理網絡一樣。使用Neutron創建虛擬網絡時也須要做一些主要的規劃和設計。本文提出了一個Neutron環境下的典型網絡結構和Horzion下的操作流程。

在興許的博客中,我會繼續介紹Neutron的其他功能。比方負載均衡。防火墻,VPN等。


Neutron網絡入門