Mininet+Opendaylight+Wireshark搭建SDN環境

Mininet+Opendaylight+Wireshark搭建SDN環境

折騰了一天,終於把SDN環境搭建完畢,最怕搭建實戰環境了,每次都要折騰很久,網上的說明大部分都是一步執行成功,好佩服,基本上我都每個坑都跳,總結分享一下,以後少點彎路。最後感謝偉大的Google以及大神們的分享,期待後續SDN之旅。

本文用到的軟件及其版本如下:

FVMware Workstation 12.5.5 build-5234757

F Mininet鏡像:mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64

FOpenDayLight(Boron版本0.5.2)karaf-0.5.2-Boron-SR2

F Wireshark軟件:wireshark-2.2.5

FXmanager - Passive

FQT5qt-opensource-linux-x64-5.8.0

FSecureCRT:8.1.1

F操作系統:windows10

  • Mininet鏡像的安裝

Mininet主要是虛擬出OpenFlow交換機以及host主機節點,可以使用Python語言自定義拓撲,實驗平臺也內置了一些基本的拓撲結構,能夠方便地滿足測試的需要。Mininet的安裝有兩種方式,一種是導入虛擬機鏡像,一種是源碼編譯安裝,建議新手採用前者。本次也採用最簡單的安裝方法。

windows 10 操作系統中,從mininet官網http://mininet.org下載最新的虛擬機文件,解壓、並導入到vmware workstation,啓動虛擬機。關於虛擬機的配置不再贅述,請自行解決。(這種方式安裝的mininetserver版的,沒有桌面圖形化界面,不好操作。)

進入虛擬機後,用戶名和密碼都是mininet(密碼不會顯示出來)。

wKioL1jiHi_D0XduAAAyBXfJ8DA042.png-wh_50

 

  • Opendaylight的安裝

1lrzsz軟件安裝

爲了後續windowsubuntu文件傳遞方便,這裏安裝了lrzsz軟件

mininet@mininet-vm:~$sudo rz

sudo:rz: command not found

mininet@mininet-vm:~$sudo apt-get install lrzsz -y

安裝完畢之後,在windows10上從Opendaylight官網上(https://www.opendaylight.org/downloads)下載最新版本(distribution-karaf-0.5.2-Boron-SR2.zip),通過以下的操作傳遞到ubuntu,後續涉及的軟件安裝有一部分也是通過這種方式先從windows上下載完畢之後再傳完ubuntu上,不再累贅。

mininet@mininet-vm:~$sudo rz

rzwaiting to receive.

Startingzmodem transfer.  Press Ctrl+C to cancel.

Transferringdistribution-karaf-0.5.2-Boron-SR2.zip...

  100% 417012 KB    10692 KB/sec    00:00:39       0 Errors 

2)安裝unzip軟件解壓文件

mininet@mininet-vm:~$  sudo apt-get install unzip

mininet@mininet-vm:~$sudo unzip distribution-karaf-0.5.2-Boron-SR2.zip -d /opt/

mininet@mininet-vm:~$cd /opt/mininet/distribution-karaf-0.5.2-Boron-SR2/bin$

興高采烈的準備進行安裝時,發現噩夢纔剛開始,一系列問題接踵而至。

mininet@mininet-vm:~/distribution-karaf-0.5.2-Boron-SR2/bin$sudo ./karaf

karaf:JAVA_HOME not set; results may vary

./karaf:line 221: type: java: not found

karaf:java command not found

好的,按照網上說法,OpenDayLight(Boron版本0.5.2)需要jdk8以上的版本

3)安裝JDK8

mininet@mininet-vm:/$  sudo apt-get install openjdk-8-jdk   

Readingpackage lists... Done

Buildingdependency tree      

Readingstate information... Done

E: Unableto locate package openjdk-8-jdk

如上按照常規方式進行安裝未果,更新下軟件發現只有jdk7的版本,好吧,只能夠通過源碼自行進行編譯了。

mininet@mininet-vm:/$sudo apt-get update

mininet@mininet-vm:/$sudo apt-cache search jdk

wKioL1jiHoOQC3FuAACBqT7CS-s784.png-wh_50

從官網上(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)下載最新的java版本(jdk-8u121-linux-x64.tar.gz

mininet@mininet-vm:~$sudo tar zxvf jdk-8u121-linux-x64.tar.gz -C /opt/

修改環境變量

mininet@mininet-vm:~$sudo vim /etc/profile在最後面添加以下四行。

export JAVA_HOME=/opt/jdk1.8.0_1219此處爲jdk解壓存放的位置)

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

驗證結果:

mininet@mininet-vm:~$source /etc/profile

mininet@mininet-vm:~$echo $JAVA_HOME

/opt/jdk1.8.0_121

mininet@mininet-vm:~$java -version

javaversion "1.8.0_121"

Java(TM)SE Runtime Environment (build 1.8.0_121-b13)

JavaHotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

mininet@mininet-vm:~$echo $CLASSPATH

.:/opt/jdk1.8.0_121/lib:/opt/jdk1.8.0_121/jre/lib

mininet@mininet-vm:~$echo $PATH

/opt/jdk1.8.0_121/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

4)重新開始安裝Opendaylight,

進入解壓目錄

mininet@mininet-vm:~$cd /opt/distribution-karaf-0.5.2-Boron-SR2/etc/

修改參數配置,保存備份

mininet@mininet-vm:/opt/distribution-karaf-0.5.2-Boron-SR2/etc$vim org.apache.karaf.management.cfg

rmiRegistryHost= 0.0.0.0    改爲      rmiRegistryHost = 127.0.0.1

rmiServerHost= 0.0.0.0        改爲      rmiServerHost = 127.0.0.1

mininet@mininet-vm:/opt/distribution-karaf-0.5.2-Boron-SR2$cd ./bin/

啓動opendaylight容器karaf,其結果如下圖:

wKiom1jiHsCgEahvAABH_8TRqms254.png-wh_50

列舉已安裝的feature,不加-i參數的話,表示列舉已安裝和未安裝的所有feature

wKioL1jiHufzfm6yAAA5PptVrTg084.png-wh_50

通過命令行的方式安裝一下feature,注意安裝順序,否則後續網頁打開opendaylight會出錯

opendaylight-user@root>feature:install odl-restconf

opendaylight-user@root>feature:install odl-l2switch-switch-ui

opendaylight-user@root>feature:install odl-openflowplugin-flow-services-ui

opendaylight-user@root>feature:installodl-openflowplugin-all-he(網上有種說法是安裝這個,新手還不太清楚亮着有什麼不同,但安裝時報錯,所以我就採用上面那一種)

opendaylight-user@root>feature:install odl-mdsal-all

opendaylight-user@root>feature:install odl-dlux-all

opendaylight-user@root>feature:install odl-dlux-node

opendaylight-user@root>feature:install odl-dlux-yangman

5)界面訪問:

   在瀏覽器中輸入http://192.168.135.128:8181/index.html  %我的ip  192.168.135.128,端口默認8181初始用戶名密碼都是admin

wKiom1jiHvmy2D4QAAB15Rsc9DU173.png-wh_50

注意:

1)安裝odl-openflowplugin-all-he時會出現警告提示服務或功能重疊,不影響使用。

2)請按照一定的順序安裝,安裝順序不合理的話,會導致後面Web界面無法訪問!且記錄遇到的一個問題:在沒有按照順序安裝組件的情況下,無法登錄進入ODL主界面。解決方法是通過logout退出 karaf平臺,進入上級目錄,刪除data目錄:rm –r data,進入bin目錄:cd bin,執行./karafclean,再次重複上面的安裝組件操作

  • SDN初體驗

1Mininet初試

習慣了採用SecureCRT進行遠程操作,初次體驗Mininet

wKiom1jiHwOz9YS_AAC-wIUiS5M433.png-wh_50

wKiom1jiHwzD1NJmAAC-MBhBd4w683.png-wh_50

2OpendaylightMininet聯合初體驗

wKioL1jiHxfBiWbDAABQw8j7qVo689.png-wh_50

wKiom1jiHyOTWIMbAAC70z4ydq0792.png-wh_50

我們會發現只有三臺交換機,而沒有Host主機,此時在Mininet上執行pingall即可

wKioL1jiHyzS_0qeAACErg9_-Vo314.png-wh_50

mininet上測試h1h2h3是否能夠正常ping通,如山圖所示,此時你會發現opendaylight可以正常發現hosts主機了

wKioL1jiHzaxIZMsAAD3mSigF-c971.png-wh_50

wKiom1jiHz-gUU__AACTwfmxj9k647.png-wh_50

3Mininet自定義圖形界面初體驗

通過SecureCRT是無法調用圖形化界面,此時需要手動在windows上安裝Xmanager5軟件,安裝完畢後啓用Xmanager – Passive,如下修改下SecureCRT軟件的session會話設置,

wKiom1jiH0iR3XkqAACxEEb_TCY431.png-wh_50

最後在mininet上修改/etc/profile文件,在最後一行增加如下命令:

mininet@mininet-vm:~$sudo vim /etc/profile

export DISPLAY=192.168.135.1:0.0%我的windows10ip  192.168.135.1

mininet@mininet-vm:~$source /etc/profile

見證奇蹟的時刻,mininet可以進行圖形化界面自定義了拓撲了

wKioL1jiH1HCSBZKAABmuVAE-A4242.png-wh_50

wKioL1jiH1rDT2JOAABGzKr0OSo624.png-wh_50

4)基本知識普及

$ 這個符號代表現在處於 Linux shell交互下,需要使用的是 Linux 命令

mininet> 這個符號表示現在處於 Mininet 交互下,需要使用的是Mininet 的命令 

這個符號表示的是現在處於 Linux root權限下,但是mininet官方下載的虛擬機鏡像進行直接導入,無法採用su -切換到root模式下,不知道密碼是什麼?只能夠採用sudo的方式來代理root權限進行操作。

opendaylight-user@root>這個符號表示現在處於 Opendaylight交互下,需要使用的是 Mininet 的命令

備註:由於篇幅的原因,wireshark安裝可參考下一篇博文

SDN環境下安裝Wireshark 2.2.5(問題彙總)





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章