淺談openstack中使用linux_bridge實(shí)現(xiàn)vxlan網(wǎng)絡(luò)
openstack環(huán)境:
1 版本:ocata
2 系統(tǒng):ubuntu16.04.2
3 控制節(jié)點(diǎn) 1個(gè) + 計(jì)算節(jié)點(diǎn) 1個(gè)
4 控制節(jié)點(diǎn)網(wǎng)卡為ens33,ip = 172.171.5.200 ens34 manual模式 無(wú)IP

(為什么外網(wǎng)網(wǎng)卡ens34沒(méi)有IP地址?這是另一個(gè)故事,后面有專(zhuān)門(mén)章節(jié)講解。)
計(jì)算節(jié)點(diǎn)網(wǎng)卡 ens33 ,ip = 172.171.5.201

一 vxlan配置
1 控制節(jié)點(diǎn):
編輯/etc/neutron/plugins/ml2/ml2_conf.ini文件
配置tenant_network_types = vxlan。該配置意義是項(xiàng)目中創(chuàng)建的內(nèi)部網(wǎng)絡(luò)為vxlan類(lèi)型。

配置flat外部網(wǎng)絡(luò)的標(biāo)簽為provider,在創(chuàng)建外部網(wǎng)絡(luò)時(shí)使用。

編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件
配置物理網(wǎng)卡的映射,通俗講即指定外網(wǎng)網(wǎng)卡。ens34為本環(huán)境中出外網(wǎng)網(wǎng)卡。

指定vxlan的封裝IP,即外層IP。

2 計(jì)算節(jié)點(diǎn)
同理配置計(jì)算節(jié)點(diǎn),標(biāo)簽label要和控制節(jié)點(diǎn)一致

隧道的封裝IP為ens33的IP地址

重啟網(wǎng)絡(luò)服務(wù)。
service neutron-server restart service neutron-linuxbridge-agent restart
二 在dashboard上創(chuàng)建網(wǎng)絡(luò)過(guò)程
1 admin用戶(hù)創(chuàng)建公網(wǎng)

這里首先創(chuàng)建的是外網(wǎng)。外網(wǎng)的類(lèi)型有兩種:falt和vlan。當(dāng)指定為flat類(lèi)型時(shí),物理網(wǎng)絡(luò)中填寫(xiě)的就是上面配置的label。指明該flat網(wǎng)絡(luò)使用label所綁定的網(wǎng)卡出外網(wǎng)。
一定要區(qū)分創(chuàng)建外部網(wǎng)絡(luò)和非外部網(wǎng)絡(luò)。如下圖,勾選了外部網(wǎng)絡(luò)一定是創(chuàng)建公網(wǎng),是所有VM出公網(wǎng)的網(wǎng)絡(luò)。admin用戶(hù)也可以為某個(gè)項(xiàng)目創(chuàng)建內(nèi)網(wǎng),不勾選外部網(wǎng)絡(luò)。

flat網(wǎng)絡(luò)創(chuàng)建子網(wǎng)。子網(wǎng)網(wǎng)段是能夠出外網(wǎng)的網(wǎng)段。比如這里填寫(xiě)的172.171.5.0/24網(wǎng)段,該網(wǎng)段中每一個(gè)IP地址都能出外網(wǎng)。

填寫(xiě)地址池,DNS服務(wù)器。外網(wǎng)到這里創(chuàng)建結(jié)束。接下來(lái)創(chuàng)建本環(huán)境中的項(xiàng)目demo項(xiàng)目的內(nèi)網(wǎng)。

當(dāng)創(chuàng)建好外部網(wǎng)絡(luò)之后,對(duì)應(yīng)的控制節(jié)點(diǎn)底層網(wǎng)橋發(fā)生變化。由于寫(xiě)博文截圖不夠及時(shí),這里已經(jīng)是創(chuàng)建好網(wǎng)絡(luò),實(shí)例之后的截圖。
當(dāng)創(chuàng)建好外部網(wǎng)絡(luò)之后,會(huì)出現(xiàn)紅框中的網(wǎng)橋信息。其中,該網(wǎng)橋連接了ens34網(wǎng)卡和dhcp節(jié)點(diǎn)tap543aa81e。

如下圖所示(畫(huà)功一般,見(jiàn)諒)

以demo用戶(hù)登錄

創(chuàng)建內(nèi)部網(wǎng)絡(luò)。使用demo用戶(hù)登錄demo項(xiàng)目中,創(chuàng)建的內(nèi)部網(wǎng)絡(luò)類(lèi)型是由tenant_network_types中指定,為vxlan。
該配置能指定內(nèi)部網(wǎng)絡(luò)類(lèi)型,如flat,vlan,gre等。

分配內(nèi)網(wǎng)的ip地址。內(nèi)網(wǎng)地址指定網(wǎng)段為任意網(wǎng)段,因?yàn)樵摼W(wǎng)段的地址要經(jīng)過(guò)路由器的轉(zhuǎn)換,轉(zhuǎn)換到外網(wǎng)的IP地址出外網(wǎng)。
推薦使用私網(wǎng)地址。本環(huán)境使用192.168.0.0/24。

配置地址池,不配置即可使用全部。

配置內(nèi)網(wǎng)之后創(chuàng)建路由器,連接內(nèi)網(wǎng)和外網(wǎng)。如下創(chuàng)建router,外部網(wǎng)絡(luò)選擇上面創(chuàng)建的外部網(wǎng)絡(luò)名稱(chēng)。本環(huán)境為out_side_net。

再添加接口為內(nèi)部網(wǎng)絡(luò)。子網(wǎng)是指上面創(chuàng)建的內(nèi)部網(wǎng)絡(luò)。

最后開(kāi)啟一個(gè)實(shí)例。創(chuàng)建實(shí)例時(shí)選擇的網(wǎng)絡(luò)是內(nèi)部網(wǎng)絡(luò)。

創(chuàng)建好內(nèi)部網(wǎng)絡(luò)和實(shí)例之后,vxlan隧道就建立起來(lái)。系統(tǒng)會(huì)在控制節(jié)點(diǎn)創(chuàng)建一個(gè)vxlan 的VTEP,在計(jì)算節(jié)點(diǎn)創(chuàng)建一個(gè)vxlan的VTEP。
如下圖,第一張為控制節(jié)點(diǎn),創(chuàng)建vxlan12;第二張為計(jì)算節(jié)點(diǎn)創(chuàng)建也為vxlan12。這兩個(gè)VTEP設(shè)備組成了vxlan隧道的兩個(gè)端點(diǎn)。


通過(guò)查看計(jì)算節(jié)點(diǎn)上vxlan12的詳細(xì)信息可以看到其連接ens33網(wǎng)卡。

此時(shí)隧道的網(wǎng)絡(luò)如下圖所示

如下圖所示為創(chuàng)建好外部網(wǎng)絡(luò),內(nèi)部網(wǎng)絡(luò),以及路由器之后的網(wǎng)絡(luò)拓?fù)洹?/p>

內(nèi)部網(wǎng)絡(luò)的情況大概如下圖所示。

登陸實(shí)例,ping外網(wǎng),通。此時(shí)的除外網(wǎng)的網(wǎng)絡(luò)流量過(guò)程如下:
1. VM產(chǎn)生ICMP包,發(fā)往網(wǎng)橋。數(shù)據(jù)包源IP為192.168.0.X。
2.通過(guò)網(wǎng)橋在vxlan12上封裝外層數(shù)據(jù)包。
3.數(shù)據(jù)通過(guò)ens33網(wǎng)卡出計(jì)算節(jié)點(diǎn),到控制節(jié)點(diǎn),即網(wǎng)絡(luò)節(jié)點(diǎn)。
4.在控制節(jié)點(diǎn)的vxlan12處解開(kāi)外層封裝,還原VM的ICMP包。
5.數(shù)據(jù)流到達(dá)router路由器,經(jīng)過(guò)路由器NAT地址轉(zhuǎn)換。從192.168.0.X轉(zhuǎn)換成外網(wǎng)地址172.171.5.230~240中一個(gè)。
6.數(shù)據(jù)流經(jīng)過(guò)網(wǎng)橋,從ens34出去到達(dá)公網(wǎng)。
回包過(guò)程大概是反過(guò)來(lái)的,不再累敘。

openstsack網(wǎng)絡(luò)復(fù)雜,自身知識(shí)能力也有限,難免出現(xiàn)理解錯(cuò)誤的地方。歡迎指正和交流。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Openstack 創(chuàng)建項(xiàng)目和虛擬機(jī)詳細(xì)介紹
這篇文章主要介紹了Openstack 創(chuàng)建項(xiàng)目和虛擬機(jī)詳細(xì)介紹的相關(guān)資料,這里舉例說(shuō)明如何實(shí)現(xiàn),圖文教程,需要的朋友可以參考下2016-11-11
openstack云計(jì)算組件keystone部署及操作使用技巧
這篇文章主要為大家介紹了openstack云計(jì)算組件keystone部署及操作使用技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
簡(jiǎn)單談?wù)凮penStack中的網(wǎng)絡(luò)隔離
這篇文章主要介紹了簡(jiǎn)單談?wù)凮penStack中的網(wǎng)絡(luò)隔離的相關(guān)資料,需要的朋友可以參考下2017-03-03
CentOS 6.4下安裝部署OpenStack云計(jì)算平臺(tái)的方法
現(xiàn)在好多公司都使用Openstack,所以也想著學(xué)習(xí)下用OpenStack云計(jì)算平臺(tái),這篇文章給加詳細(xì)介紹了CentOS 6.4下安裝部署OpenStack云計(jì)算平臺(tái)的方法,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-10-10
詳解Openstack組件部署 — Overview和前期環(huán)境準(zhǔn)備
本篇文章主要介紹了詳解Openstack組件部署 — Overview和前期環(huán)境準(zhǔn)備,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03
OpenStack Keystone的基本概念詳細(xì)介紹
這篇文章主要介紹了OpenStack Keystone的基本概念詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11
OpenStack手動(dòng)分布式部署Keystone(Queens版)
這篇文章主要介紹了OpenStack手動(dòng)分布式部署Keystone(Queens版),Keystone是OpenStack框架中負(fù)責(zé)管理身份驗(yàn)證服務(wù)訪問(wèn)規(guī)則和服務(wù)令牌功能的組件,需要的朋友可以參考下2023-03-03

