SDN 教程[1]:環境搭建

實驗一:SDN 環境搭建

  1. Mininet+OVS 安裝
  2. Ryu 安裝
  3. Floodlight 安裝
  4. Eclipse 安裝,導入Floodlight

Mininet + OVS 安裝

1. 安裝依賴html

git
sudo apt-get update 
sudo apt-get install git

2. 下載源碼java

~ 目錄下操做
git clone git://github.com/mininet/mininet

3. 進入 mininet 的 util 文件夾python

cd mininet/util

4. 查詢安裝選項linux

./install.sh –h

5. 安裝Mininet + OVS 2.3.0 git

./install.sh -n3V 2.3.0

6. 測試Mininet github

sudo mn --test pingall
結果以下:安裝成功

7. 查看 Mininet 版本web

mn --version
安裝完Mininet,可邊安裝Ryu,邊開啓一個終端進行實驗二的實驗

Ryu 安裝

1. 安裝依賴vim

如遇[Y/n],輸入 Y 回車
sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip 
sudo apt-get install python-eventlet python-routes python-webob python-paramiko

2. 下載源碼瀏覽器

返回到~目錄:
cd \~
git clone git://github.com/osrg/ryu.git

3. 進入 ryu 文件夾bash

cd ryu

4. 安裝 ryu 須要的工具

sudo pip install -r tools/pip-requires
若是出現問題:ImportError:No module named _internal
sudo rm -f /usr/local/bin/pip
返回ryu文件夾:cd ~/ryu
從新執行命令

5. 安裝 ryu 

sudo python setup.py install

6. 測試 ryu 

在 ryu 文件夾下
ryu-manager

成功安裝結果以下:

7. Ryu GUI 使用
① 啓動 GUI 應用

啓動應用時添加 --observe-links 啓動拓撲發現
ryu-manager --observe-links ryu/app/gui_topology/gui_topology.py

② 建立 mininet 拓撲,能夠用最簡單的拓撲(sudo mn 生成1臺OVS交換機2臺主機單控制器)

sudo mn --controller=remote

③ 打開瀏覽器,輸入 http://127.0.0.1:8080

Ryu 的GUI作得不完善,只能顯示交換機

Ryu 安裝過程如遇一下問題:

問題一:SSLError: The read operation timed out

解決方法:網絡緣由,重試幾回便可

問題二:six 版本問題

解決方法一:sudo pip install --upgrade six
解決方法二:步驟①:sudo pip uninstall six 步驟②:sudo pip install six

問題三:webob>=1.2

解決方法:sudo easy_install webob==1.2.3

問題四:oslo.config>=1.2.0

解決方法:sudo easy_install oslo.config==3.0.0

問題五:lxml未安裝

解決方法:apt-get install libxm12-dev libxslt1-dev python-dev python-lxml

問題六:The ‘routes’ distribution was not found an is required by ryu

解決方法:sudo easy_install routes

問題七:The ‘ovs’ distribution was not found an is required by ryu

解決方法:sudo pip install -r tools/pip-requires

問題八:stevedore未安裝或者版本不足

解決方法:sudo pip install stevedore

問題九:debtcollector未安裝或者版本不足

解決方法:sudo pip install debtcollector

Floodlight 安裝

1. 安裝依賴
1) JDK 安裝

JDK 下載地址: http://www.oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html
相關軟件裏有8u144版本的壓縮文件(jdk-8u144-linux-x64.tar.gz),可直接拷貝到Home目錄解壓
① 解壓:
tar zxvf jdk-8u144-linux-x64.tar.gz

② 解壓後的文件夾轉移到/usr/local目錄

sudo mv jdk1.8.0_144/ /usr/local

③ 配置profile文件,添加環境變量

實驗課給的終端是ZSH,修改zprofile
sudo vim /etc/zsh/zprofile
若是是bash的終端,修改/etc/profile
sudo vim /etc/profile

④ 添加內容:

export JAVA_HOME=/usr/local/jdk1.8.0_144 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
export PATH=$JAVA_HOME/bin:$PATH

⑤ 保存並退出:

按ESC 輸入:wq

若是是zsh,以下圖:

若是是bash,以下圖:

⑥ 生效配置文件

ZSH 生效
source /etc/zsh/zprofile
BASH 生效
source /etc/profile

⑦ 驗證JDK安裝是否成功

java -version


2) 安裝其他依賴

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

2. 下載 Floodlight 

git clone git://github.com/floodlight/floodlight.git
git 的速度若是太慢,從實驗課的文件夾內把 floodlight文件夾直接拷貝到home目錄

3. 編譯 Floodlight 

進入 Floodlight 文件夾
cd floodlight
編譯 Floodlight
ant

編譯成功:

4. 啓動 Floodlight 

java -jar target/floodlight.jar

啓動結果:

5. Floodlight Web GUI 
① 建立 mininet 拓撲,能夠用最簡單的拓撲(sudo mn 生成1臺OVS交換機2臺主機單控制器)

sudo mn --controller=remote

② 打開瀏覽器,輸入 http://127.0.0.1:8080/ui/pages/index.html

③ 查看拓撲圖

Eclipse 安裝,導入Floodlight

在分配 1G 內存狀況下,運行 Eclipse 會很是的卡。建議在本身的電腦分配更高內存,嘗試使用
實驗室的相關安裝包裏有:eclipse-inst-linux64.tar.gz,拷貝到Home目錄下

Eclipse 安裝

1. 解壓 Eclipse 

tar zxvf eclipse-inst-linux64.tar.gz

2. 安裝 Eclipse 

進入解壓後的文件夾「eclipse-installer」,運行eclipse-inst進行安裝
cd eclipse-installer
./eclipse-inst

3. 根據引導完成安裝 
① 選擇Eclipse IDE for JAVA EE Developers
② 安裝

③ 彈出窗,選擇接受

④ 等待下載安裝完成
啓動後,選擇工做空間

Eclipse 導入 Floodlight

1. 編譯  

開啓新終端,進入到 Floodlight 目錄,執行
ant eclipse
若出現錯誤:BUILD FAILED: setup_eclipse.sh error=13,Permission defined
chmod +x set_eclipse.sh, 再從新運行
成功顯示:
BUILD SUCCESSFUL
2. 啓動 Eclipse  
進入文件夾:~/eclipse/jee-oxygen/eclipse
./eclipse

3. Eclipse 中導入 Floodlight 工程  

菜單選擇導入

選擇General-Existing Projects into Workspace

選擇 Floodlight

4. 配置 Floodlight 的運行配置  

下拉運行鍵 - 選擇Run Configurations

>

選擇Floodlight—Default


選擇 Run 運行

運行:

5. 運行 Floodlight  之後下拉運行鍵選擇 Floodlight-Default-Conf運行便可