mininet 部署记录

OSX 部署 mininet 虚拟机

mininet官网

  1. 安装方法
    1. 下载虚拟机映像,下载成功后是一个压缩包,包含ovf和vmdk两个文件。
    2. 使用ubuntu 包
    • 在ubuntu12.10以上版本中安装Mininet (即 ‘mn’和python API)。
      sudo apt-get install mininet
    • 注意,如果需要升级mininet版本,确定你已经从‘/usr/local’中移除了旧的版本:
      sudo rm /usr/local/bin/ovs*
      sudo rm /usr/local/sbin/ovs*
      3.1. 源码安装
      git clone git://github.com/mininet/mininet.git
      注意,上面哥git命令将会检查最新的和最广泛的mininet版本(我们最推荐的版本),如果你想要运行最新版本,你可以使用命令查看发布的版本信息:
      cd mininnet
      git tag
    • 之后
      git checkout <release tag>
    • 在 release tag 填写你想要检查的版本
      如果你运行的是ubuntu、debian、或者fedora,你能够使用我们方便的在‘util/’目录下的‘install.sh’ 脚本。
  • 警告: 风险自负
    'install.sh' 是具有侵入性的,可能会破坏系统和主目录。可以创建/修改几个目录,比如:‘mininet’、‘openflow’、‘oftest’、‘pox’等。推荐在实际安装部署前在虚拟机上尝试

    尽管我们希望不会做任何不好的事情,以防万一,你应该在运行前看它的描述、确定你的系统和主目录已经备份。

    安装 mininet 、openflow的引用实现和open switch,你可能使用:
    util/install.sh -fnv
    这应该会更快,在执行完安装过程之后需要执行以下命令:
    sudo mn --test pingall
    为了安装所有我们在openflow教程中需要的软件,包括POX、Openflow wireshark dissector(openflow wireshark 解剖器)和、'oftest'框架、和其他潜在的有用的软件,你可能使用:
    util/install.sh -a
    这一过程在我们的测试机器上花费了大约4分钟。
    你可以改变依赖关系安装的目录,通过使用 -s <directory> 目录
    3.2. fedora 18+ 通过本地源码安装.
    使用root权限执行以下操作:
    install git
    yum install git

    • 创建一个用户(e.g. mininet) 并且将其添加到 wheel 组
      useradd [...] mininet
      usermod -a -G wheel mininet
      • 改变SElinux 设置权限,可以临时的使用:
        setenforce 0
        之后登陆新的用户(e.g. mininet) 执行以下操作:
      • 克隆mininet仓库
        git clone git://github.com/mininet/mininet.git
      • 安装mininet,openflow依赖,和open vswitch
        util/install.sh -fnv
      • 开放和启动openvswitch
        sund systemet enable openvswitch
        sudo systemctl start openvswitch
      • 测试mininet 安装
        sudo mn --test pingall
  1. 创建你自己的mininet/openflow 引导虚拟机

    创建你自己的ubuntumininet虚拟机,以便轻松的使用openflow 引导!首先创建一个新的ubuntu 虚拟机。第二,运行以下两个命令:
    wget https://raw.github.com/mininet/mininet/master/util/vm/ install-mininet-vm/sh
    time install0mininet-vm.sh
    最后,验证mininet是否成功安装,在虚拟机中是否正常工作
    sudo mn --test pingall

    1. 安装在其他linux 发行版上
      尽管我们直接支持其他Linux发行版,但是通过一些操作,mininet仍然有可能安装运行。
      一般情况下,你必须有:
    • 一个支持网络命名空间编译的内核
    • 一个兼容软件交换机例如open vswitch 或者linux 桥
    • python,'bash','ping','perf',等
    • root权限(需要网络设备访问)
      我们鼓励为其他linux发行版贡献补丁
      good luck
      mininet team
  2. 设置连接

    使用以下名称和密码登录
    mininet-vm login: mininet
    Password: mininet

    2.1. 使用 host-only 方式,连接虚拟机

    1. 给虚拟机增加host-only网络接口
      1. 启动虚拟机并且确定新的网卡已经作为eth1显示
        ifconfig -a
      2. 允许网络访问,执行:
        sudo dhclient eth1
      3. 主机获取到了一个IP地址,如果eth1是host-only网络接口,你已经完成了所有设置,并且可以从主机通过ssh连接至eth1网卡地址。
      4. 你可以修改/etc/network/interfaces,将eth1增加到其中。
        auto eth1
        iface eth1 inet dhcp
        这样将会自动在eth1上运行dhclient

    2.2. 使用virtual box的端口转发连接虚拟机

    1. 右键选择虚拟机->设置->网络->高级->端口转发
      1. 直接添加规则,将TCP主机端口2222(自定义)转发到虚拟机的ssh的22端口。
        2.3. 使用VBoxManage设置端口转发
        OS X/Linux用户,从主机终端运行VBoxManage 命令(不是从虚拟机窗口)
        VBoxManage setextradata OpenFlowTutorial "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2222
        VBoxManage setextradata OpenFlowTutorial "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22
        VBoxManage setextradata OpenFlowTutorial "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP
        验证设置:
        VBoxManage getextradata OpenFlowTutorial enumerate
        以上三个值将会显示。
        保存您的设置,然后重启VM,从虚拟机窗口输入
        sudo poweroff
        重启OpenflowTutirial 虚拟机,再次以当前用户名和密码
  3. 设置端口转发之后,通过ssh连接
    首先,确定你已经将主机的2222端口转发至虚拟机的22端口,如果你没有设置,将不会起作用。
    * 从主机ssh连接虚拟机,在主机上运行
    ssh -Y -l <user name> -p 2222 localhost
    * 虚拟机默认用户名和密码为 mininet/mininet
    使用当前的用户名和密码登录。测试X11是否在本机支持。
    xterm
    p.s. 如果使用OSX 10.5以后版本,mac将不会自带X11。如果需要相关功能,请使用XQuartz项目。apple support

    windows 请使用putty,使用方法为:
    cd <putty dir>
    putty.exe -X -P 2222 -l <user name > localhost
    在新弹出的窗口中输入密码,键入:
    xterm
    应该出现白色终端窗口,如果成功,则完成基本的设置,关闭xterm。

引用资料:
mininet GitHub
mininet.org
mininet 官方安装教程(更加详细的安装教程)

原文地址:https://www.cnblogs.com/wgh0807/p/10649907.html