实验1、Mininet 源码安装和可视化拓扑工具
一、实验目的
掌握 Mininet 的源码安装方法和 miniedit 可视化拓扑生成工具。
二、实验任务
使用源码安装 Mininet 的 2.3.0d6 版本,并使用可视化拓扑工具生成一个最简拓扑(1 台交换机连接 2 台主机)。
三、实验步骤
1. 实验环境
安装Ubuntu14系统的虚拟机
2. 实验过程
(1) 源码安装
- 若未安装GitHub,则先安装
- 安装并配置mininet
$ mkdir sdn #新建 sdn 目录 ( 名称) 可自定义) , 所有的应用安装在 该 目录下
$ sudo apt-get install git #安装 git
$ cd sdn #进入 sdn 目录
$ git clone git://github.com/mininet/mininet #下载 mininet 源码
$ cd mininet
$ sudo util/install.sh -a #在 在 mininet 目录下 执行, ,-a 表示完整安装
$ sudo mn --version #查看版本
若没有更换镜像,则安装时间也许会较长
注意:
如果执行上述命令提示:“Cannot find required executable ifconfig.”执行下
面的命令安装网络工具 net-tools。$ sudo apt install net-tools
(2) 使用可视化工具
使用一下指令
$ sudo ./mininet/examples/miniedit.py #在 在 Mininet 安装目录下执行
- 将 4 台 Host、2 台 Switch 和 1 台 Controller 拖出,并用 NetLink 连接,形成下图所示的网络拓扑:

- 鼠标右键点击 Host 和 Controller,选择设置属性(Properties):Host 部分主要是置主机 ip,以及 VLAN 等扩展设置。每台主机逐台操作;Controller 部分主要是设置控制器类型,此处可按默认设置,如果是外部控制器,要选择 Remote Controller,之后填上 Controller 的 ip,如果是本机则按照默认的 127.0.0.1 即可。
- 点击左上角的 Edit,进行全局设置,此时在默认设置的基础上,勾选
Start CLI
,将OpenFlow vSwitch
全部勾选。
系统的 Terminal 上会显示当前确认的设置。

输入pingall
执行连通性检测

- 点击左下角的
Run
,运行拓扑,由于开启了 CLI,可使用 pingall 命令测试主机的连通性,并做其他扩展操作。

- 拓扑生成并确认无误之后,可以点击 miniedit 左上角的
File
菜单,选择Export Level 2 Script
,将拓扑保存为Python
脚本,方便之后执行脚本一键生成。
-
在文件保存目录下执行Python脚本文件
$ sudo python minipp.py

注意:
如果出现以上情况,则有以下解决方案(大佬教我的,我也不知真么原理)
在根目录下执行
$ mn -c
回到py文件目录执行py文件
解决后得到如下结果
