VirtualBox 虛擬機下搭建SDN實驗平臺(安裝mininet網絡仿真器 + OpenDayLight控制器)

一、安裝VirtualBox 虛擬機,並安裝ubuntu

1)安裝虛擬機

sudo apt-get install virtualbox-5.1

2)虛擬機安裝ubuntu操作系統

參考how to install ubuntu on virtualBox?

二、ubuntu系統下搭建SDN實驗平臺

1)首先根據步驟一,在虛擬機上安裝兩個ubuntu操作系統,一個命名mininet用於安裝mininet網絡仿真器,一個命名OpenDayLight用於安裝OpenDayLight控制器;

2)配置虛擬機配置網絡鏈接,實現主機與虛擬機、虛擬機間的通信。

  • 啓動虛擬機選擇File –> preferences –> Network –> Host-only Networks–>點擊添加按鈕(會出現vboxnet0)
  • 關閉虛擬機,爲虛擬機添加虛擬網卡,Setting –> Network –> Adapter 2 –> Enable Network Adapter - Attached to: (選擇Host-onlyAdapter) - Name(選擇1中新建的vboxnet0).
  • 然後啓動虛擬機,打開命令行,輸入ifconfig,多出enp0s8 網卡配置(如圖所示)

這裏寫圖片描述

主機會虛擬出一塊vboxnet0網卡,虛擬出192.168.56.*/24 網段

這裏寫圖片描述

至此,虛擬機與主機互相通信已經實現,互相之間可以 ping 通

這裏寫圖片描述

爲虛擬機安裝openssh-server,允許遠程登陸 (ssh命令: ssh username@remote-host ip)

sudo apt-get install openssh-server

這裏寫圖片描述

三、在mininet虛擬機上本地安裝mininet源碼,步驟如下

1、安裝需要軟件

sudo apt-get install git

2、獲取需要Mininet源代碼

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

3、獲取mininet源代碼之後即可安裝mininet

  • 以下命令將安裝Mininet VM 中的所有安裝工具,包括Open vSwitch 、Wireshark抓包工具和POX,默認情況下這些將安裝在用戶的主目錄下
mininet/util/install.sh -a
  • 以下命令默認安裝Mininet、user switch 和Open vSwitch:
mininet/util/install.sh -nfv
  • 以下命令用可以將Mininet 安裝在指定目錄下,而不是默認主目錄(推薦)
mininet/uitl/install.sh -s mydir -a
mininet/util/install.sh -s mydir -nfv

4、安裝成功之後,驗證openvswitch-controller是否在運行,如果正在運行,應將其停止,以確保Mininet在啓動時可以指定自己的控制器

server openvswitch-controller stop
update-rc.d openvswitch-controller disable

5、測試Mininet是否安裝成功,測試命令如下

sudo mn --test pingall

這裏寫圖片描述

至此,Mininet安裝測試成功。學習mininet簡單命令行 and API 詳解

四、在OpenDayLight虛擬機上安裝OpenDayLight控制器(參考博客),步驟如下:

1、首先安裝Java環境

  • 安裝jdk
sudo apt-get install openjdk-8-jdk
  • 配置環境變量JAVA_HOME 和PATH,在/etc/environment 中加入java目錄,cat 查看配置後的信息如下
    這裏寫圖片描述
  • 用source 命令啓動生效
 source /etc/environment

2.安裝Opendaylight

  • 下載OpenDayLight,官網下載預編譯版https://www.opendaylight.org/downloads (推薦),也可一下載opendaylight源碼自己編譯(此過程比較麻煩)
  • 解壓下載的opendaylight
tar -xvf distribution-karaf-*.tar.gz
  • 啓動opendaylight
cd distribution-karaf-*
./bin/karaf

這裏寫圖片描述

  • 安裝 OpenDaylight features
opendaylight-user@root> feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-all

五、啓動mininet,並設置遠程控制器,命令及效果圖如下:

1)mininet啓動自定義拓撲

sudo mn --custom ~/mininet/custom/test1.py --topo mytopo --mac 
--controller=remote,ip=192.168.56.102,port=6633 --switch ovs,protocols=OpenFlow13

這裏寫圖片描述
測試連通性

2)OpenDayLight控制器,查看網絡拓撲;
正在運行opendaylight虛擬機的IP是192.168.56.102,opendaylight的端口是8181
瀏覽器訪問:http://192.168.56.102:8181/index.html
用戶名和密碼均爲admin
這裏寫圖片描述
此時輸入用戶名和密碼會出現無法登錄情況(即:unable to login)
這裏寫圖片描述
此問題是因爲缺乏依賴的features,執行如下命令問題即可解決

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

這裏寫圖片描述

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