1. 程式人生 > >FloodLight+Mininet安裝及簡單測試

FloodLight+Mininet安裝及簡單測試

FloodLight+Mininet安裝及簡單測試

系統採用vm下ubuntu16.04

一、前置依賴安裝

sudo apt-get install build-essential ant maven python-dev
sudo apt-get install git

二、配置orcal jdk

1、官網下載JDK檔案,這裡用的是如下版本

jdk-8u162-linux-x64.tar.gz
拉到桌面

2、建立一個目錄作為JDK的安裝目錄,這裡/usr/local/java/jvm

cd /usr/local
sudo mkdir java
cd java
sudo mkdir jvm

3、將壓縮包移動然後解壓到/usr/local/java/jvm

cd ~/桌面
sudo mv jdk-8u162-linux-x64.tar.gz /usr/local/java/jvm
cd /usr/local/java/jvm
sudo tar -zxvf jdk-8u162-linux-x64.tar.gz

4、配置所有使用者的環境變數

sudo gedit /etc/profile

#末尾加上如下
#set Java environment
export JAVA_HOME=/usr/local/java/jvm/jdk1.8.0_162
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

#同樣,需要使用命令使環境變數立即生效
source /etc/profile

5、檢驗(重啟後也要檢驗一遍)

java –version

6、裝ant的時候會去裝openjdk,這個時候環境中有2個jdk,需要手動切換到orcal jdk.

#註冊
sudo update-alternatives --install /usr/bin/java java /usr/local/java/jvm/jdk1.8.0_162/bin/java 300  

#注意,然後java –version 一下,沒有的話,
sudo update-alternatives --install /usr/lib/java java /usr/local/java/jvm/jdk1.8.0_162/bin/java 300

#切換
sudo update-alternatives --config java

#選擇jdk1.8.0_162,這裡是輸入序號,我的電腦是輸入2.

三、安裝floodlight

1、git floodlight

git clone git://github.com/floodlight/floodlight.git
cd floodlight

2、git 子模組,用於網頁顯示

sudo git submodule init
sudo git submodule update

3、用ant來編譯打包

sudo ant

4、讓floodlight在eclipse中可以用

ant eclipse

5、執行

5.1、eclipse執行(這裡eclipse的安裝可以參考我的另外一篇部落格)
(1)將eclipse匯入專案
import->general->Exiting……
選擇floodlight檔案
(2)新建執行配置
右鍵floodlight專案,選擇Run As,選擇Run Configureations
選擇Java Application,New Configureation
Name: FloodlightLaunch
Project: floodlight
Main clss: net.floodlightcontroller.core.Main
要執行的時候,直接點下面的run
5.2、控制檯執行
java -jar target/floodlight.jar

預設執行埠6653

6、網頁檢查

http://localhost:8080/ui/index.html

四、安裝Minnet

1、cd /opt 獲取原始碼,cd到其目錄下

sudo git clone git://github.com/mininet/mininet

2、安裝

cd mininet/util/
sudo ./install.sh -a

3、安裝測試

sudo mn --test pingall

4、圖形介面設定拓撲

cd /opt
sudo mininet/examples/miniedit.py

5、執行自己的拓撲結構

(1)自己寫py指令碼,可以參考custom裡面自帶的寫
cd /opt/mininet/custom

sudo mn --controller=remote,ip=127.0.0.1,port=6653 --custom=py指令碼名稱 --topo=拓撲名稱—mac

#custom裡面有一個自帶的指令碼
sudo mn --controller=remote,ip=127.0.0.1,port=6653 --custom=topo-2sw-2host.py --topo=mytopo --mac


#用控制檯的話要注意exit
#非法退出,下次啟動會出問題,解決,清理快取
sudo mn -c
(2)利用圖形介面來生成拓撲
cd /opt
sudo mininet/examples/miniedit.py

#繪製拓撲,作為2層指令碼儲存,選第4個屬性,save的話是儲存成mn檔案,下次開啟還可以修改拓撲,所以可以分別儲存

#修改指令碼控制器部分:
sudo gedit 儲存的指令碼路徑/指令碼名稱

#設定為呼叫遠端控制器,設定埠號,這個埠號是在floodlight的配置檔案裡面,預設6653
c0=net.addController(name='c0',
                      controller=RemoteController,
		              ip='127.0.0.1',
                      protocol='tcp',
                      port=6653)

#執行指令碼
sudo python 指令碼名稱