使用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. HMACSHA1算法的JAVA实现

    import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; publ ...

  2. NHibernate官方文档中文版——批量插入(Batch inserts)

    A naive approach t7o inserting 100 000 rows in the database using NHibernate might look like this: 一 ...

  3. HDU 4665 Unshuffle (2013多校6 1011 )

    Unshuffle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  4. Word中插入英文格式的算法流程

    如图上部分所示,需要序号自动编号,那么插入一个一行一列的的表格,然后点击编号,使得项目自动编号,编号一个就在后面输入一些内容,按enter后第二行开始自动编号,如果要缩进,不能按Tab,Tab自动创建 ...

  5. FPGA作为从机与STM32进行SPI协议通信---Verilog实现

    一.SPI协议简要介绍 SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用 ...

  6. Android studio 和 Eclipse快捷键对比

    操作 studio eclipse   debug/run 计算变量值 alt+F8 ctrl+shift+I 跳到下一步 F8 F6 跳到下一个断点 shift+F8 F8 进入到代码 F7 F5 ...

  7. mysql多实例介绍及配置

    mysql多实例介绍及配置 1.mysql多实例介绍 1.1 什么是mysql多实例 mysql多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过 ...

  8. JOptionPane的经常使用4种对话框

    JOptionPane类有4个用于显示对话框的静态方法: 消息.选项.确认,输入对话框 showMessageDialog://显示一条消息并等待用户OK showConfirmDialog://显示 ...

  9. PHP-时间小结

    //获得本周(本天)时间戳的起始和结束//本周星期一时间戳$monday = mktime(0, 0, 0, date("m",strtotime("last Monda ...

  10. java.lang.UnsupportedOperationException:This parser does not support specification "null" version "null"

    java.lang.UnsupportedOperationException: This parser does not support specification "null" ...