Ubuntu16.04源码安装Mininet

注意:Mininet官网已经更新,安装方式更加便捷!建议参考官网http://mininet.org/download/中的方法2进行安装,后期本文也将更新。(2019.03.01)

本文介绍了VMware虚拟机ubuntu16.04中安装Mininet的方法,物理机中的方法与之相同。主要参考了Mininet官方的教程。官方提供了四种安装Mininet的方法。
方法1:Mininet 虚拟机安装

最简单的方法是下载一个预先打包好的VM/ Ubuntu的虚拟机镜像。VM包括最小网络本身,所有OpenFlow的二进制文件和工具预安装,并调整内核配置能够支持更大的最小网络网络。
下载包含Mininet的ubuntu虚拟机映像下载地址。
直接在VMware workstation或VirtualBox上像安装ubantu一样安装这个镜像文件。
方法2:源码编译安装

这种Mininet安装方法适用于本地虚拟机、EC2远程和本地安装,不适用于从旧版本的Mininet或OVS升级。这里强烈推荐使用最新的Ubuntu版本,因为它们支持新版本的Open vSwitch。如果你是从旧版本的Mininet或OVS升级,参考后面的方法。

1 更新软件

# apt-get update
# apt-get upgrade

    1
    2

这里如果ubuntu没有安装git,需要安装

# apt install git

    1

2 从github上获取Mininet源码

为了从源码本地安装,首先你需要获取源码:

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

    1

另外,可以查看当前获取的Mininet版本,在~/mininet目录下,我们可以通过git tag命令列出所有可用的Mininet版本:

# cd mininet

    1

# git tag

    1

或者你想安装的任意版本:

# git checkout -b 2.2.1 2.2.1

    1

3 获取源码树并安装Mininet

#cat INSTALL

    1

切换到mininet文件下:

# cd mininet

    1

这里有多个安装选项:mininet/util/install.sh[options]
“-a”:完整安装包括Mininet VM,还包括如Open vSwitch等依赖关系软件,以及像的OpenFlow Wireshark和POX。默认情况下,这些工具将被安装在你的home目录中。完整安装命令:

# ./util/install.sh -a

    1

“-nfv”:安装Mininet、基于OpenFlow的交换机和Open vSwitch。命令:

# ./util/install.sh –nfv

    1

“-s mydir” :使用此选项可将源代码建立在一个指定的目录中,而不是在home目录中。

#./util/install.sh -s mydir

    1

另外,你只想安装OpenFlow1.3和Open vSwitch2.3.0,可以使用安装命令:

# mininet/util/install.sh –n3V 2.3.0

    1

4 安装完成后可通过简单的命令测试Mininet的基本功能

# sudo mn --test pingall

    1

可以查看安装好的Mininet版本:

# mn --version

    1

方法3:安装包安装

如果正在使用最新的Ubuntu版本,你可以安装Mininet安装包。这种方法可能给你提供较旧版本的安装包,但是这可以是一种最为方便的方法。

首先,如果你正在或已经从早期的版本(像Mininet1.0)或者Open vSwitch中更新过,其可能保存在/usr/local,确保你已经移除早期版本。
卸载命令:

sudo rm -rf /usr/local/bin/mn /usr/local/bin/mnexec \   /usr/local/lib/python*/*/*mininet* \   

    1

然后,运行如下命令:

lsb_release -a

    1

接下来,根据你的系统版本通过以下命令的其中之一安装Mininet基础包:

Mininet 2.1.0 on Ubuntu 14.10: sudo apt-get install

    1

mininetMininet 2.1.0 on Ubuntu 14.04: sudo apt-get install

    1

mininetMininet 2.0.0 on Ubuntu 12.04: sudo apt-get install mininet/precise-backports

    1

这些完成以后,如果已经安装了或者正在运行openvswitch-controller,你应该停用:

sudo service openvswitch-controller stop

    1

sudo update-rc.d openvswitch-controller disable

    1

然后你可以测试Mininet:

sudo mn --test pingall

    1

如果Mininet提示Open vSwitch没有运行,你可能需要重新编译她的核心模块:

# sudo dpkg-reconfigure openvswitch-datapath-dkms

    1

# sudo service openflow-switch restart

    1

如果你想实现一遍Mininet的攻略,你将安装其他的软件:

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

    1

这将安装OpenFlow相关的交换机、控制器和Wireshark。
方法4:从已有的Mininet升级更新

有很多种方法来升级。如果Mininet没有任何修改,你可以

cd mininetgit fetchgit checkout master   

    1

你可以用sudo make develop来替代sudo make install ,这将从*/usr/python/…*到你的源树创建新的连接。
注意:这将仅仅更新Mininet本身,其他的部件如 Open vSwitch需要独立更新。