軟體定義網路環境配置 (virtual box + Linux + mininet + ryu controller)

簡介

Virtual Box

一套虛擬機的軟體,用來模擬作業系統環境,本次用來安裝Linux建置SDN環境。

Ubuntu Linux

一款作業系統,為開源軟體,由於架設SDN環境較Windows、MacOS方便,故使用linux。

Mininet

用來快速佈署模擬真實網路環境,如交換機(switch)、連結流量(link)...等,以利各種情況的測試。

Ryu Controller

其中一款SDN Controller,為開源軟體,用Python寫成。

安裝

開啟Linux終端機,($ 表示在終端機下的指令)


    開啟終端機
  • Ctrl + Alt + T

  • 更新Linux
  • $ sudo apt-get update
  • $ sudo apt-get upgrade

  • 安裝Mininet
  • $ sudo apt-get install -y git
  • $ git clone git://github.com/mininet/mininet
  • $ cd mininet
  • $ git checkout -b 2.2.1 2.2.1
  • $ util/install.sh -nfv
  • $ cd
  • $ sudo mn --test pingall

  • 安裝Python
  • $ sudo apt-get install python-pip python-dev build-essential
  • $ sudo pip install --upgrade pip

  • 安裝Ryu 所需的相依套件
  • $ sudo apt-get install python-eventlet
  • $ sudo apt-get install python-routes
  • $ sudo apt-get install python-webob
  • $ sudo apt-get install python-paramiko
  • $ pip install networkx

  • 安裝Ryu Controller
  • $ git clone https://github.com/osrg/ryu.git
  • $ cd ryu; python ./setup.py install
  • $ sudo pip install six --upgrade

測試

開啟兩個終端機,一執行mininet,二執行Ryu Controller

  • cd ryu
  • $ sudo ./bin/ryu-manager --verbose --observe-links ryu/app/rest_topology.py ryu/app/ofctl_rest.py ryu/app/simple_switch.py
  • $ sudo mn --controller remote --topo tree,depth=3

參考資料

留言