使用Virtual-Box安装Mininet看上去简单,但其中也暗藏许多坑。我自己装了多次Mininet,但每次都有缺陷:

  • mininet访问不了网络
  • 用宿主机访问不了mininet虚拟机

最后,终于在这篇博文的帮助下,安装了一个比较满意的mininet虚拟机实例。但这篇博文是在mac系统上进行安装,我自己是在ubuntu上进行安装,虽说大同小异但也略有不同。

因此,为了方便大家安装Mininet,笔者将自己安装的全过程记录于此,以便以后查阅。

安装的操作系统:ubuntu 13.10

1.安装virtual-box

我用的是最新版的virtual-box-4.3.10,已经装好的童鞋可以绕过这一步。

sudo apt-get install dkms fakeroot libsdl-ttf2.0-0
wget http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/virtualbox-4.3_4.3.10-93012~Ubuntu~raring_amd64.deb
sudo dpkg -i virtualbox-4.3_4.3.10-93012~Ubuntu~raring_amd64.deb

2.在virtual-box设置全局网络

因为待会儿需要用到一个Host-Only网络,因此需要在新装好的Virtual-Box中设置一下。

(吐槽一下,ubuntu13.10的配置alt+printScreen总是出错。弄了半天才把alt快捷键改到别的地方去了。)

3.下载mininet的镜像包

当前有两个版本2.1.0和2.0.0,但由于GFW的存在基本上下不动2.1.0。这里直接下载2.0.0:

http://cloud.github.com/downloads/mininet/mininet/mininet-2.0.0-113012-amd64-ovf.zip

我用的是2.1.0的安装包

4.安装mininet镜像

解压mininet包进入mininet目录

unzip mininet-2.1.--ubuntu-13.04-server-amd64-ovf.zip

此时有两种方法导入镜像文件,一是双击解压目录里面的mininet-vm.ovf文件然后下一步下一步,但这种方式在我机器上会出错。

因此我选择的是另外一种导入方式,具体过程如下所示:

5.修改mininet实例的网络配置

由于我们既需要mininet能够访问外网,又希望自己的宿主机能ssh登录到mininet上,因此我们需要设置双网卡来解决这两个需求。

添加第二块网卡Host-Only Adapter,如图所示:

6.启动并登录mininet虚拟机

使用默认账号登陆:mininet/mininet

7.登陆进去后运行命令检查网络配置是否完整

运行ifconfig后得到如下结果

首先验证一下公网是不是通的。

ping www.baidu.com

其次,执行下面命令启用eth1网卡

sudo dhclient eth1

这时再次运行ifconfig -a就会看到两块网卡

可以看到这边dhcp分配的ip地址是192.168.56.102,因此我们就可以用这个ip地址从宿主机上进行ssh登录了。话说vitrual-box自带的登录界面真心不好用,唉~

8. 手动更新网络配置

最后我们还需要将第二块网卡的配置加入到mininet的网络配置文件中,这样我们重启之后总是会看到两块网卡了。

sudo vi /etc/network/interfaces

然后加入

auto eth1
iface eth1 inet dhcp

保存后就OK了。

至此,安装Mininet的工作就全部完成。

在后续文章中,我将继续介绍如何使用Mininet来完成SDN的实验。:)

在ubuntu上使用Virtual-Box安装Mininet的更多相关文章

  1. 在 Virtual Box 安装 Mac Os 并安装 Qt 开发应用

    导读 由于 Beslyric-for-X 项目开发需要,开始尝试在 Mac Os 下开发 Qt 应用.尝试成功后,记录于此,希望对有类似需求的人有所帮助. 本文以开发 Beslyric-for-X 为 ...

  2. 解决Virtual Box 安装Mac OS X当出现“hfs: summary table not allowed on FS with block size of 2048”问题

    解决Virtual Box 安装Mac OS X当出现"hfs: summary table not allowed on FS with block size of 2048"问 ...

  3. 在 Ubuntu 上使用源码安装 OpenResty

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 本文将介绍如何在 Ubuntu 上使用源码安装 OpenResty. 目标 Ubuntu 18.04 OpenResty 1.19.3.2 安装依 ...

  4. virtual box 安装centos min

    2018-4-19 22:20:40 星期四 之前不小心把用了很久的centos镜像删掉了.....这里记录下安装最小版centos的步骤 1. 安装centos 2. 开启网络, 并设置为随机启动 ...

  5. Ubuntu上 配置Eclipse:安装CDT

    在最新的 Ubuntu Kylin 16.04 中安装了eclipse,在纠结了很久的网络问题之后,开始了eclipse的配置以便在上面运行ns3. 在官方网站上安装完 eclipse LUNA 之后 ...

  6. Ubuntu上配置Eclipse:安装CDT【转】

    本文转载自:http://www.linuxdiyf.com/linux/23519.html 在最新的 Ubuntu Kylin 16.04 中安装了eclipse,在纠结了很久的网络问题之后,开始 ...

  7. fedora 21下Virtual Box安装Windows XP SP3

    Installing Virtual Box and Windows XP SP3 during Fedora 21 The first step:Download and Install Virtu ...

  8. virtual box 安装虚拟机如何全屏

    最近由于要进行微信小程序的开发.可恶的腾讯狗没有提供linux版的开发工具!不得以安装虚拟机!暗号虚拟机后发现win10的界面实在是太小,于是乎去解决这个问题!其实很简单,一般来是说直接点虚拟机面板上 ...

  9. virtual box 安装 centos 7 不能上网问题解决总结

    http://blog.csdn.net/u013264730/article/details/51146359 1.设置virtualbox 网络选项 [root@centos1 ~]# cat / ...

  10. ubuntu上源码编译安装mysql5.7.27

    一.查看操作系统环境和目录结构,并创建mysql用户和组,以及规划安装mysql所需要的目录. #cat /etc/issue 查看发行版本信息: #cat  /proc/version 查看正在运行 ...

随机推荐

  1. Linux PHP 编译参数详解(二)

    对于喜欢玩开源软件的童鞋么,都喜欢自己编译安装程序,本文说明下如何编译安装php的详细参数. 示例: ./configure \ --prefix=/usr/local/php --with-zlib ...

  2. Run-Time Check Failure #0

    Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is ...

  3. 转载:ArcEngine二次开发界面基本设置

    转自:https://blog.csdn.net/weixin_42032107/article/details/80644991 1.   在form窗体中添加菜单栏和状态栏控件 2.   添加li ...

  4. jquery缩写,显示隐藏

    $(".a").css("display")=="none" ?$(".a").css("display&qu ...

  5. ocx控件打印之基础篇

      Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它实现程序的打印功能,一直是初学者的一个难点,经常有朋友询问如何在VC中实现打印功能,他们往往感到在MFC提供的框架内实 ...

  6. Delphi 资源文件( .res)

    一.    现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用.资源是 ...

  7. MFC【17-2】线程和线程同步化

    17-2线程同步 Windows支持4中类型的同步对象,可以用过来同步由并发运行的线程执行的操作: 临界区 互斥量 事件 信号量 MFC在名为CCriticalSection\CMutex\CEven ...

  8. KafkaConsumer对于事务消息的处理

    Kafka添加了事务机制以后,consumer端有个需要解决的问题就是怎么样从收到的消息中滤掉aborted的消息.Kafka通过broker和consumer端的协作,利用一系列优化手段极大地降低了 ...

  9. TCP的状态(SYN,FIN等)

    TCP的标志位有SYN,FIN,RST,ACK,PSH,URG SYN:建立连接. FIN:关闭连接. RST:连接重置. ACK:响应. PSH:有数据传输. URG:urgent紧急. ACK可以 ...

  10. 二叉树(9)----打印二叉树中第K层的第M个节点,非递归算法

    1.二叉树定义: typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; typedef struct BTree ...