在ubuntu上使用Virtual-Box安装Mininet
使用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的更多相关文章
- 在 Virtual Box 安装 Mac Os 并安装 Qt 开发应用
导读 由于 Beslyric-for-X 项目开发需要,开始尝试在 Mac Os 下开发 Qt 应用.尝试成功后,记录于此,希望对有类似需求的人有所帮助. 本文以开发 Beslyric-for-X 为 ...
- 解决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"问 ...
- 在 Ubuntu 上使用源码安装 OpenResty
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 本文将介绍如何在 Ubuntu 上使用源码安装 OpenResty. 目标 Ubuntu 18.04 OpenResty 1.19.3.2 安装依 ...
- virtual box 安装centos min
2018-4-19 22:20:40 星期四 之前不小心把用了很久的centos镜像删掉了.....这里记录下安装最小版centos的步骤 1. 安装centos 2. 开启网络, 并设置为随机启动 ...
- Ubuntu上 配置Eclipse:安装CDT
在最新的 Ubuntu Kylin 16.04 中安装了eclipse,在纠结了很久的网络问题之后,开始了eclipse的配置以便在上面运行ns3. 在官方网站上安装完 eclipse LUNA 之后 ...
- Ubuntu上配置Eclipse:安装CDT【转】
本文转载自:http://www.linuxdiyf.com/linux/23519.html 在最新的 Ubuntu Kylin 16.04 中安装了eclipse,在纠结了很久的网络问题之后,开始 ...
- fedora 21下Virtual Box安装Windows XP SP3
Installing Virtual Box and Windows XP SP3 during Fedora 21 The first step:Download and Install Virtu ...
- virtual box 安装虚拟机如何全屏
最近由于要进行微信小程序的开发.可恶的腾讯狗没有提供linux版的开发工具!不得以安装虚拟机!暗号虚拟机后发现win10的界面实在是太小,于是乎去解决这个问题!其实很简单,一般来是说直接点虚拟机面板上 ...
- virtual box 安装 centos 7 不能上网问题解决总结
http://blog.csdn.net/u013264730/article/details/51146359 1.设置virtualbox 网络选项 [root@centos1 ~]# cat / ...
- ubuntu上源码编译安装mysql5.7.27
一.查看操作系统环境和目录结构,并创建mysql用户和组,以及规划安装mysql所需要的目录. #cat /etc/issue 查看发行版本信息: #cat /proc/version 查看正在运行 ...
随机推荐
- spring的@Async异步使用
pring的@Async功能,用的时候一定要注意: 1.异步方法和调用类不要在同一个类中. 2.xml里需要加入这一行 <task:annotation-driven/> 下面的可以直接粘 ...
- Android获取apk的版本及包名等信息
import android.app.Activity; import android.content.Context; import android.content.pm.ApplicationIn ...
- hive删除列
hive中删除列时没有与mysql语句alter table <table> drop column <col>对应的语句. 然而依然可以完成此功能:使用ALTER TABLE ...
- error: commit is a merge but no -m
https://segmentfault.com/q/1010000010185984 执行git cherry-pick commitID操作时报错,如题 原因是合并的commitID做过merge ...
- 一、Hello Spring Boot
package com.ld.controller; import org.springframework.web.bind.annotation.RequestMapping; import org ...
- 对自助提卡系统EDLM的一次代码审计
前言 并非有意愿要审计该站,前面的走的黑盒没有过于精彩部分就不在贴上了,对于此系统站你们懂的,多说无益,这套程序是开源的,像这种自助提卡系统相信大家已经不在陌生了,很多违法网站通过这种平台方式提卡密的 ...
- Linux内核开发者峰会照的全家福
刚才看到一张Linux内核开发者峰会照的全家福,有历史价值,给大家分享一下.上面有Torvalds(大致在中间).Andrew Morton(目前的内核主要维护者,第二排右数第二个).Alan Cox ...
- STL容器简介
stl不是面向对象的编程,而是一种不同的编程模式————泛型编程 我们常用到的STL容器有vector.list.deque.map.multimap.set.multiset 顺序性容器:vecto ...
- [Functional Programming ADT] Adapt Redux Actions/Reducers for Use with the State ADT
By using the State ADT to define how our application state transitions over time, we clear up the ne ...
- mysql结构相同的三张表查询一条记录\将一张表中的数据插入另外一张表
将一张表中的数据插入另外一张表 1.两张表结构相同 insert into 表1名称 select * from 表2名称 2.两张结构不相同的表 insert into 表1名称(列名1,列名2,列 ...