SDN開(kāi)發(fā)之基于OpenDaylight和Mininet的試驗(yàn)床平臺(tái)搭建

##########################################平臺(tái)架構(gòu)#########################################

image
image.gif

?

一械念、虛擬機(jī)安裝和鏡像加載

*本部分過(guò)程非常簡(jiǎn)單,所以不詳細(xì)描述氯葬,基本流程稍微提一下煤蚌。

1. 虛擬機(jī)軟件:安裝虛擬機(jī)軟件主要有VMware Station, VirtualBox等闸度,后者免費(fèi)宾抓,下載網(wǎng)址為:https://www.virtualbox.org/wiki/Downloads饵较,本文以VMware Station為例。請(qǐng)自行下載安裝土辩,這里不多做贅述。

2. Ubuntu系統(tǒng)加載:到Ubuntu官網(wǎng)下載自身操作系統(tǒng)對(duì)應(yīng)的最新版Ubuntu桌面鏡像抢野,通過(guò)VMware加載Ubuntu鏡像拷淘。

3. Mininet VM加載:到Mininet官網(wǎng):http://mininet.org/vm-setup-notes/下載鏡像文件(打開(kāi)網(wǎng)頁(yè)后有相關(guān)指南,可以參照其進(jìn)行加載安裝指孤,懶得看英文的話就只用先把Mininet鏡像導(dǎo)入VMware启涯,不用啟動(dòng),后文會(huì)對(duì)這里接下來(lái)的操作進(jìn)行詳述)恃轩。

4. 最后Ubuntu部分的相關(guān)配置參數(shù)如下圖结洼,Mininet的導(dǎo)入不需要進(jìn)行任何參數(shù)配置,至少在啟動(dòng)前不用叉跛。注意虛擬機(jī)網(wǎng)卡都是默認(rèn)的NAT模式不用更改补君。

image
image.gif

?

二、Ubuntu系統(tǒng)下OpenDaylight安裝

*本部分操作比較多昧互,因此針對(duì)每一步都另文給出詳細(xì)步驟:

1. Ubuntu系統(tǒng)中搭建Java開(kāi)發(fā)環(huán)境:《Linux Ubuntu系統(tǒng)下Java開(kāi)發(fā)環(huán)境搭建》

2. Ubuntu系統(tǒng)中安裝Apache Maven:《Linux Ubuntu系統(tǒng)下Apache Maven的安裝和配置》

3. Ubuntu系統(tǒng)中安裝OpenDaylight:《SDN開(kāi)發(fā)之Linux Ubuntu系統(tǒng)下OpenDaylight源碼編譯安裝和調(diào)試》

三、OpenDaylight功能組件安裝和調(diào)試

*本部分解決OpenDaylight控制器和Mininet的連接伟桅,并且通過(guò)OpenDaylight DLUX的Web GUI顯示敞掘。

*本部分基于上文步驟全部完成,已經(jīng)搭建了一個(gè)初步裝好OpenDaylight的Ubuntu虛擬機(jī)楣铁。

*下文用ODL指代OpenDaylight玖雁。

1. 一鍵啟動(dòng)控制器:ODL每次啟動(dòng)controller需要cd目錄十分麻煩。這里同樣可以自己寫一個(gè)啟動(dòng)腳本來(lái)管理ODL控制器的運(yùn)行:

vim odl
<Insert>
!#/bin/bash
/home/<usrname>/developApps/openDayLight/integration/distributions/karaf/target/assembly/bin/karaf
<Esc>
:wq!
sudo mv odl /usr/local/bin
sudo chmod 755 /usr/local/bin/odl

這樣在任何地方都只用輸入(sudo -i) odl就可以運(yùn)行控制器了盖腕。

2. OpenDaylight的Features安裝和調(diào)試赫冬。

現(xiàn)在就可以輸入odl命令來(lái)啟動(dòng)控制器了,先進(jìn)入如下界面:

image
image.gif

?

安裝支持REST API的組件:

feature:install odl-restconf

安裝L2 switch和OpenFlow插件:

feature:install odl-l2switch-switch

feature:install odl-openflowplugin-all

安裝基于karaf控制臺(tái)的md-sal控制器功能溃列,包括nodes劲厌、yang UI、Topology:

feature:install odl-mdsal-****apidocs #此組件寫錯(cuò) 很容易無(wú)法登錄

安裝DLUX功能:

feature:install odl-dlux-all

安裝基于karaf控制臺(tái)的ad-sal功能听隐,包括Connection manager补鼻、Container、Network雅任、Flows:

feature:install odl-adsal-northbound

*注意:請(qǐng)按照一定的順序安裝风范,安裝順序不合理的話,會(huì)導(dǎo)致后面Web界面無(wú)法訪問(wèn)沪么!且記錄遇到的一個(gè)問(wèn)題:在沒(méi)有按照順序安裝組件的情況下硼婿,無(wú)法登錄進(jìn)入ODL主界面。解決方法是通過(guò)logout退出karaf平臺(tái)禽车,進(jìn)入上級(jí)目錄寇漫,刪除data目錄:rm –r data刊殉,進(jìn)入bin目錄:cd bin,執(zhí)行./karaf clean猪腕,再次重復(fù)上面的安裝組件操作冗澈。

(本部分摘自:《OpenDaylight的Helium(氦)版本安裝》@君子一諾 )

Web界面訪問(wèn):此時(shí)可以登錄ODL的Web UI界面進(jìn)行訪問(wèn)。用瀏覽器訪問(wèn)網(wǎng)址:http://<ODL的IP>:8181/dlux/index.html陋葡,<ODL_IP>為安裝ODL所在的主機(jī)IP地址亚亲,特別注意的是此版本的ODL訪問(wèn)端口為8181,因8080端口被karaf控制臺(tái)進(jìn)程所占用腐缤。某些情況下不需要進(jìn)入/dlux目錄而直接訪問(wèn)http://<ODL的IP>:8181/index.html捌归。

登陸用戶名為admin,密碼為admin岭粤,如下圖:

image
image.gif

?

*關(guān)于Features出問(wèn)題惜索,可以vim查看/developApps/openDayLight/integration/distributions/karaf/target/assembly/etc目錄下的org.apache.karaf.features.cfg

*由于還沒(méi)有連接數(shù)據(jù)面Mininet的交換機(jī),因此登陸進(jìn)去后還不會(huì)顯示任何拓?fù)洹?/p>

四剃浇、Mininet虛擬機(jī)的安裝和登錄調(diào)試

*本部分接著第一部分下載好Mininet鏡像后巾兆,解決Mininet導(dǎo)入虛擬機(jī)后的加載配置并重點(diǎn)闡述遠(yuǎn)程免密碼自動(dòng)登錄的設(shè)置。

1. 在虛擬機(jī)成功導(dǎo)入.OVF后綴的mininet文件后虎囚,直接啟動(dòng)角塑。

2. 啟動(dòng)完成后,進(jìn)入到登錄界面淘讥,賬號(hào)密碼都是mininet(注意密碼敲了不會(huì)有顯示很正常圃伶,敲完再敲回車就行)。

mininet-vm login: mininet
Password: mininet

3. 好蒲列,重點(diǎn)來(lái)了窒朋,接下來(lái)說(shuō)明如何從Ubuntu的虛擬機(jī)"遠(yuǎn)程"SSH登錄到Mininet,這樣做的目的是可以避免在兩個(gè)虛擬機(jī)之間切來(lái)切去的麻煩蝗岖。

a)首先侥猩,需要找到Mininet虛擬機(jī)的IP地址,一般是192.168.x.y格式的地址抵赢。在Mininet的命令行界面輸入:

ifconfig eth0

b)如果你不希望每次從Ubuntu虛擬機(jī)SSH登錄Mininet的時(shí)候都輸一遍這個(gè) IP地址拭宁,可以在Ubuntu虛擬機(jī)端修改一下/etc/hosts文件:

sudo gedit /etc/hosts

然后在文檔末尾添加以下內(nèi)容后保存退出:

192.168.x.y minivm

這樣就可以在每次登陸的時(shí)候用“minivm”代替IP地址。

c)接下來(lái)就可以從Ubuntu虛擬機(jī)端SSH到Mininet了瓣俯。在Ubuntu端終端輸入以下命令(沒(méi)有修改hosts文件的話就用mininet的IP地址代替minivm):

ssh -Y mininet@minivm

d)登陸后輸入賬號(hào)mininet密碼mininet杰标,就到了Mininet的命令行界面了。

4.(可選)寫腳本一鍵SSH免密碼自動(dòng)登錄Mininet彩匕。

每次都要手動(dòng)敲命令還要輸入賬號(hào)密碼登陸Mininet稍顯麻煩腔剂,我們還可以做出如下簡(jiǎn)化:

a)設(shè)置免密碼登陸:在Ubuntu端check一下是否已經(jīng)有SSH密鑰: ~/.ssh/id_rsa 或者 ~/.ssh/id_dsa

   如果都不能找到任何文件的話,那么就需要通過(guò)命令生成SSH密鑰驼仪,同樣在Ubuntu端:       ssh-keygen -t rsa        

   為了加快以后SSH連接的速度掸犬,需要將你的公鑰添加給Mininet端袜漩。同樣在Ubuntu端:     scp ~/.ssh/id_rsa.pub mininet@minivm:~/     

   最后,在Ubuntu端先通過(guò)SSH登陸進(jìn)Mininet湾碎,再**在Mininet命令行模式下**輸入:

                   cd ~/ && mkdir -p .ssh && chmod 700 .ssh && cd .ssh && touch authorized_keys2 && chmod 600 authorized_keys2 && cat ../id_rsa.pub >> authorized_keys2 && rm ../id_rsa.pub && cd ..                            

   操作完成后宙攻,以后每次登陸就不必輸入賬號(hào)密碼了。

b)寫一鍵登陸腳本:嫌輸命令麻煩的童鞋還可以繼續(xù)寫一個(gè)腳本介褥,輸入:(其中<>表示按鍵)

vim mininet
<Insert>(在文檔內(nèi)添加以下內(nèi)容)
!#/bin/bash
ssh -Y mininet@minivm
<Esc>
:wq!
sudo mv mininet /usr/local/bin
sudo chmod 755 /usr/local/bin/mininet

這樣以后在Ubuntu端每次只用通過(guò)mininet命令來(lái)一鍵登陸Mininet座掘。

五、OpenDaylight+Mininet聯(lián)動(dòng)

*本部分測(cè)試ODL和Mininet的連接柔滔,初步搭建好一個(gè)SDN試驗(yàn)床溢陪。

1. 啟動(dòng)MIninet和ODL。調(diào)試好網(wǎng)絡(luò)連接睛廊。首先通過(guò)一端Ping另一端測(cè)試網(wǎng)絡(luò)連通性形真。

2. 通過(guò)"minivm"命令運(yùn)行腳本登陸Mininet:創(chuàng)建簡(jiǎn)單實(shí)驗(yàn)拓?fù)洳⒅付ㄟh(yuǎn)程ODL作為控制器,簡(jiǎn)單的命令可以嘗試:

sudo mn --controller=remote,ip=<ODL的IP>

完成后將輸出一下內(nèi)容:

mininet@mininet-vm:~$ sudo mn --controller=remote,ip=192.168.174.128
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
c0
*** Starting 1 switches
s1 ...
*** Starting CLI:
mininet>

3. 打開(kāi)網(wǎng)頁(yè)登陸ODL的Web界面超全,看到如圖拓?fù)渑厮?lián)動(dòng)測(cè)試完成,一個(gè)基本的基于ODL+Mininet的SDN實(shí)驗(yàn)平臺(tái)就搭建好了嘶朱!

image
image.gif

?

祝順利裕便!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市见咒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挂疆,老刑警劉巖改览,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異缤言,居然都是意外死亡宝当,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門胆萧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)庆揩,“玉大人,你說(shuō)我怎么就攤上這事跌穗《┥危” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵蚌吸,是天一觀的道長(zhǎng)锈拨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)羹唠,這世上最難降的妖魔是什么奕枢? 我笑而不...
    開(kāi)封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任娄昆,我火速辦了婚禮,結(jié)果婚禮上缝彬,老公的妹妹穿的比我還像新娘萌焰。我一直安慰自己,他們只是感情好谷浅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布扒俯。 她就那樣靜靜地躺著,像睡著了一般壳贪。 火紅的嫁衣襯著肌膚如雪陵珍。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天违施,我揣著相機(jī)與錄音互纯,去河邊找鬼。 笑死磕蒲,一個(gè)胖子當(dāng)著我的面吹牛留潦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辣往,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼兔院,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了站削?” 一聲冷哼從身側(cè)響起坊萝,我...
    開(kāi)封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎许起,沒(méi)想到半個(gè)月后十偶,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡园细,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年惦积,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猛频。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狮崩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鹿寻,到底是詐尸還是另有隱情睦柴,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布毡熏,位于F島的核電站爱只,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜恬试,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一窝趣、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧训柴,春花似錦哑舒、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至仗嗦,卻和暖如春膘滨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背稀拐。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工火邓, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人德撬。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓铲咨,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蜓洪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子纤勒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容