FloodLight+Mininet安裝及簡單測試
阿新 • • 發佈:2018-12-03
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 指令碼名稱