淺談openstack中使用linux_bridge實現(xiàn)vxlan網(wǎng)絡(luò)
openstack環(huán)境:
1 版本:ocata
2 系統(tǒng):ubuntu16.04.2
3 控制節(jié)點(diǎn) 1個 + 計算節(jié)點(diǎn) 1個
4 控制節(jié)點(diǎn)網(wǎng)卡為ens33,ip = 172.171.5.200 ens34 manual模式 無IP
(為什么外網(wǎng)網(wǎng)卡ens34沒有IP地址?這是另一個故事,后面有專門章節(jié)講解。)
計算節(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。該配置意義是項目中創(chuàng)建的內(nèi)部網(wǎng)絡(luò)為vxlan類型。
配置flat外部網(wǎng)絡(luò)的標(biāo)簽為provider,在創(chuàng)建外部網(wǎng)絡(luò)時使用。
編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件
配置物理網(wǎng)卡的映射,通俗講即指定外網(wǎng)網(wǎng)卡。ens34為本環(huán)境中出外網(wǎng)網(wǎng)卡。
指定vxlan的封裝IP,即外層IP。
2 計算節(jié)點(diǎn)
同理配置計算節(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ò)過程
1 admin用戶創(chuàng)建公網(wǎng)
這里首先創(chuàng)建的是外網(wǎng)。外網(wǎng)的類型有兩種:falt和vlan。當(dāng)指定為flat類型時,物理網(wǎng)絡(luò)中填寫的就是上面配置的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用戶也可以為某個項目創(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)段。比如這里填寫的172.171.5.0/24網(wǎng)段,該網(wǎng)段中每一個IP地址都能出外網(wǎng)。
填寫地址池,DNS服務(wù)器。外網(wǎng)到這里創(chuàng)建結(jié)束。接下來創(chuàng)建本環(huán)境中的項目demo項目的內(nèi)網(wǎng)。
當(dāng)創(chuàng)建好外部網(wǎng)絡(luò)之后,對應(yīng)的控制節(jié)點(diǎn)底層網(wǎng)橋發(fā)生變化。由于寫博文截圖不夠及時,這里已經(jīng)是創(chuàng)建好網(wǎng)絡(luò),實例之后的截圖。
當(dāng)創(chuàng)建好外部網(wǎng)絡(luò)之后,會出現(xiàn)紅框中的網(wǎng)橋信息。其中,該網(wǎng)橋連接了ens34網(wǎng)卡和dhcp節(jié)點(diǎn)tap543aa81e。
如下圖所示(畫功一般,見諒)
以demo用戶登錄
創(chuàng)建內(nèi)部網(wǎng)絡(luò)。使用demo用戶登錄demo項目中,創(chuàng)建的內(nèi)部網(wǎng)絡(luò)類型是由tenant_network_types中指定,為vxlan。
該配置能指定內(nèi)部網(wǎng)絡(luò)類型,如flat,vlan,gre等。
分配內(nèi)網(wǎng)的ip地址。內(nèi)網(wǎng)地址指定網(wǎng)段為任意網(wǎng)段,因為該網(wǎng)段的地址要經(jīng)過路由器的轉(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ò)名稱。本環(huán)境為out_side_net。
再添加接口為內(nèi)部網(wǎng)絡(luò)。子網(wǎng)是指上面創(chuàng)建的內(nèi)部網(wǎng)絡(luò)。
最后開啟一個實例。創(chuàng)建實例時選擇的網(wǎng)絡(luò)是內(nèi)部網(wǎng)絡(luò)。
創(chuàng)建好內(nèi)部網(wǎng)絡(luò)和實例之后,vxlan隧道就建立起來。系統(tǒng)會在控制節(jié)點(diǎn)創(chuàng)建一個vxlan 的VTEP,在計算節(jié)點(diǎn)創(chuàng)建一個vxlan的VTEP。
如下圖,第一張為控制節(jié)點(diǎn),創(chuàng)建vxlan12;第二張為計算節(jié)點(diǎn)創(chuàng)建也為vxlan12。這兩個VTEP設(shè)備組成了vxlan隧道的兩個端點(diǎn)。
通過查看計算節(jié)點(diǎn)上vxlan12的詳細(xì)信息可以看到其連接ens33網(wǎng)卡。
此時隧道的網(wǎng)絡(luò)如下圖所示
如下圖所示為創(chuàng)建好外部網(wǎng)絡(luò),內(nèi)部網(wǎng)絡(luò),以及路由器之后的網(wǎng)絡(luò)拓?fù)洹?/p>
內(nèi)部網(wǎng)絡(luò)的情況大概如下圖所示。
登陸實例,ping外網(wǎng),通。此時的除外網(wǎng)的網(wǎng)絡(luò)流量過程如下:
1. VM產(chǎn)生ICMP包,發(fā)往網(wǎng)橋。數(shù)據(jù)包源IP為192.168.0.X。
2.通過網(wǎng)橋在vxlan12上封裝外層數(shù)據(jù)包。
3.數(shù)據(jù)通過ens33網(wǎng)卡出計算節(jié)點(diǎn),到控制節(jié)點(diǎn),即網(wǎng)絡(luò)節(jié)點(diǎn)。
4.在控制節(jié)點(diǎn)的vxlan12處解開外層封裝,還原VM的ICMP包。
5.數(shù)據(jù)流到達(dá)router路由器,經(jīng)過路由器NAT地址轉(zhuǎn)換。從192.168.0.X轉(zhuǎn)換成外網(wǎng)地址172.171.5.230~240中一個。
6.數(shù)據(jù)流經(jīng)過網(wǎng)橋,從ens34出去到達(dá)公網(wǎng)。
回包過程大概是反過來的,不再累敘。
openstsack網(wǎng)絡(luò)復(fù)雜,自身知識能力也有限,難免出現(xiàn)理解錯誤的地方。歡迎指正和交流。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
OpenStack Keystone的基本概念詳細(xì)介紹
這篇文章主要介紹了OpenStack Keystone的基本概念詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11Openstack 啟動instance ''hvm''錯誤問題解決辦法
這篇文章主要介紹了Openstack 啟動instance 'hvm'錯誤問題解決辦法的相關(guān)資料,需要的朋友可以參考下2016-11-11CentOS系統(tǒng)中一鍵安裝Openstack圖文教程
最近在學(xué)習(xí)Openstack,一直想試試安裝一下,可是參考了很多資料,并不如人意。由于一直用的Linux版本為CentOS,大部分Openstack安裝都要求在Ubuntu上進(jìn)行。本文介紹的是在CentOS系統(tǒng)中一鍵安裝Openstack的方法,有需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。2016-10-10OpenStack手動分布式部署Glance(Queens版)
這篇文章主要介紹了OpenStack手動分布式部署Glance(Queens版),Glance為云平臺虛擬機(jī)提供鏡像服務(wù),例如:上傳鏡像、刪除鏡像等,需要的朋友可以參考下2023-03-03java.util.ConcurrentModificationException 解決方法
這篇文章主要介紹了 java.util.ConcurrentModificationException 解決方法的相關(guān)資料,需要的朋友可以參考下2016-11-11OpenStack云平臺Train版搭建與基礎(chǔ)環(huán)境準(zhǔn)備
這篇文章主要介紹了OpenStack云平臺Train版搭建與基礎(chǔ)環(huán)境準(zhǔn)備,OpenStack用于部署公有云、私有云,并實現(xiàn)對云項目管理,需要的朋友可以參考下2023-03-03openstack云計算組件keystone部署及操作使用技巧
這篇文章主要為大家介紹了openstack云計算組件keystone部署及操作使用技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04