淺談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 Keystone的基本概念詳細(xì)介紹
這篇文章主要介紹了OpenStack Keystone的基本概念詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11Openstack 啟動(dòng)instance ''hvm''錯(cuò)誤問(wèn)題解決辦法
這篇文章主要介紹了Openstack 啟動(dòng)instance 'hvm'錯(cuò)誤問(wèn)題解決辦法的相關(guān)資料,需要的朋友可以參考下2016-11-11CentOS系統(tǒng)中一鍵安裝Openstack圖文教程
最近在學(xué)習(xí)Openstack,一直想試試安裝一下,可是參考了很多資料,并不如人意。由于一直用的Linux版本為CentOS,大部分Openstack安裝都要求在Ubuntu上進(jìn)行。本文介紹的是在CentOS系統(tǒng)中一鍵安裝Openstack的方法,有需要的朋友們可以參考學(xué)習(xí),下面來(lái)一起看看吧。2016-10-10OpenStack手動(dòng)分布式部署Glance(Queens版)
這篇文章主要介紹了OpenStack手動(dòng)分布式部署Glance(Queens版),Glance為云平臺(tái)虛擬機(jī)提供鏡像服務(wù),例如:上傳鏡像、刪除鏡像等,需要的朋友可以參考下2023-03-03java.util.ConcurrentModificationException 解決方法
這篇文章主要介紹了 java.util.ConcurrentModificationException 解決方法的相關(guān)資料,需要的朋友可以參考下2016-11-11OpenStack簡(jiǎn)介與OpenStack核心組件功能
這篇文章主要介紹了OpenStack與OpenStack核心組件功能,OpenStack用于部署公有云、私有云,并實(shí)現(xiàn)對(duì)云項(xiàng)目管理,需要的朋友可以參考下2023-03-03OpenStack云平臺(tái)Train版搭建與基礎(chǔ)環(huán)境準(zhǔn)備
這篇文章主要介紹了OpenStack云平臺(tái)Train版搭建與基礎(chǔ)環(huán)境準(zhǔn)備,OpenStack用于部署公有云、私有云,并實(shí)現(xiàn)對(duì)云項(xiàng)目管理,需要的朋友可以參考下2023-03-03openstack云計(jì)算組件keystone部署及操作使用技巧
這篇文章主要為大家介紹了openstack云計(jì)算組件keystone部署及操作使用技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04