目錄表

Mininet安裝教學

0x00 簡介

Mininet提供了四種安裝方式,分別是

  1. Mininet VM Installation
  2. Native Installation from Source
  3. Installation from Packages
  4. Upgrading an existing Mininet Installation

0x01 從VM安裝Mininet

Step1. 下載 Mininet VM image

Step2. 下載 virtual machine system

Virtual Box for OS X , Windows, and Linux 這是免費的,也是官方建議

Qemu for any platform

VMware Workstation for Linux or Windows

VMware Fusion for Mac

KVM for Linux

Step3. Boot VM

我是用VMware workstation,這裡將Step1下載的 Mininet VM Image 解壓縮後,將 .ovf 檔匯入 VMware 即可

開機後帳號密碼皆為 mininet,登入後即可開始使用

這個 mininet 帳號是有 sudo 權限的1),只要透過

mininet> sudo ''command''

這樣就可以透過 root 的權限來執行指令了

如果堅持想使用 su 的話,可以先透過 sudo su 切換至 root 身份,再藉由 passwd 指令來更改 root 密碼


0x02 從source code安裝Mininet

Step1. git clone 下載 mininet

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

clone 下來應該都是最新版的,如果需要安裝舊版本可以照下面作法

Step 1.1 選擇舊版 mininet

$ cd mininet
$ git tag
$ git checkout -b 2.2.1 2.2.1
$ cd ..

Step2. 安裝 mininet

$ mininet/util/install.sh [options]

Step3. 測試 Mininet

$ sudo mn --test pingall

0x03 從package安裝Mininet

如果是在 Ubuntu release 的話,也可以從 package 安裝,但版本可能較舊

Step1. 清除過去可能殘留的 Mininet or OpenvSwitch 檔案

$ sudo rm -rf /usr/local/bin/mn /usr/local/bin/mnexec /usr/local/lib/python*/*/*mininet* /usr/local/bin/ovs-* /usr/local/sbin/ovs-*

Step2. 確認 OS version 來安裝 Mininet

$ lsb_release -a
Mininet 2.1.0 on Ubuntu 14.10: sudo apt-get install mininet
Mininet 2.1.0 on Ubuntu 14.04: sudo apt-get install mininet
Mininet 2.0.0 on Ubuntu 12.04: sudo apt-get install mininet/precise-backports

Step3. 關閉 openvswitch-controller

$ sudo service openvswitch-controller stop
$ sudo update-rc.d openvswitch-controller disable

Step4. 測試 Mininet

$ sudo mn --test pingall

Step4.1 如果 mininet 顯示 OpenvSwitch 問題,則要 rebuild 相關的 kernel module

$ sudo dpkg-reconfigure openvswitch-datapath-dkms
$ sudo service openflow-switch restart

Step4.2 安裝 OpenFlow reference switch, reference controller and Wireshark dissector 等額外套件

$ git clone git://github.com/mininet/mininet
$ mininet/util/install.sh -fw

0x04 更新已安裝的Mininet

Step1. 從 git 更新

$ cd mininet
$ git fetch
$ git checkout master
$ git pull
$ sudo make install

這個做法只會更新 mininet 本身,其他元件如 OpenvSwitch 等可依需求個別更新


0x05 參考資料