您的位置:首页 > 理论基础 > 计算机网络

VirtualBox 虚拟机下搭建SDN实验平台(安装mininet网络仿真器 + OpenDayLight控制器)

2017-04-20 15:22 891 查看
一、安装VirtualBox 虚拟机,并安装ubuntu

1)安装虚拟机

sudo apt-get install virtualbox-5.1


2)虚拟机安装ubuntu操作系统

参考how to install ubuntu on virtualBox?

二、ubuntu系统下搭建SDN实验平台

1)首先根据步骤一,在虚拟机上安装两个ubuntu操作系统,一个命名mininet用于安装mininet网络仿真器,一个命名OpenDayLight用于安装OpenDayLight控制器;

2)配置虚拟机配置网络链接,实现主机与虚拟机、虚拟机间的通信。

启动虚拟机选择File –> preferences –> Network –> Host-only Networks–>点击添加按钮(会出现vboxnet0)

关闭虚拟机,为虚拟机添加虚拟网卡,Setting –> Network –> Adapter 2 –> Enable Network Adapter - Attached to: (选择Host-onlyAdapter) - Name(选择1中新建的vboxnet0).

然后启动虚拟机,打开命令行,输入ifconfig,多出enp0s8 网卡配置(如图所示)



主机会虚拟出一块vboxnet0网卡,虚拟出192.168.56.*/24 网段



至此,虚拟机与主机互相通信已经实现,互相之间可以 ping 通



为虚拟机安装openssh-server,允许远程登陆 (ssh命令: ssh username@remote-host ip)

sudo apt-get install openssh-server




三、在mininet虚拟机上本地安装mininet源码,步骤如下

1、安装需要软件

sudo apt-get install git


2、获取需要Mininet源代码

git clone git://github.com/mininet/mininet


3、获取mininet源代码之后即可安装mininet

以下命令将安装Mininet VM 中的所有安装工具,包括Open vSwitch 、Wireshark抓包工具和POX,默认情况下这些将安装在用户的主目录下

mininet/util/install.sh -a


以下命令默认安装Mininet、user switch 和Open vSwitch:

mininet/util/install.sh -nfv


以下命令用可以将Mininet 安装在指定目录下,而不是默认主目录(推荐)

mininet/uitl/install.sh -s mydir -a
mininet/util/install.sh -s mydir -nfv


4、安装成功之后,验证openvswitch-controller是否在运行,如果正在运行,应将其停止,以确保Mininet在启动时可以指定自己的控制器

server openvswitch-controller stop
update-rc.d openvswitch-controller disable


5、测试Mininet是否安装成功,测试命令如下

sudo mn --test pingall




至此,Mininet安装测试成功。学习mininet简单命令行 and API 详解

四、在OpenDayLight虚拟机上安装OpenDayLight控制器(参考博客),步骤如下:

1、首先安装Java环境

安装jdk

sudo apt-get install openjdk-8-jdk


配置环境变量JAVA_HOME 和PATH,在/etc/environment 中加入java目录,cat 查看配置后的信息如下



用source 命令启动生效

source /etc/environment


2.安装Opendaylight

下载OpenDayLight,官网下载预编译版https://www.opendaylight.org/downloads (推荐),也可一下载opendaylight源码自己编译(此过程比较麻烦)

解压下载的opendaylight

tar -xvf distribution-karaf-*.tar.gz


启动opendaylight

cd distribution-karaf-*
./bin/karaf




安装 OpenDaylight features

opendaylight-user@root> feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-all


五、启动mininet,并设置远程控制器,命令及效果图如下:

1)mininet启动自定义拓扑

sudo mn --custom ~/mininet/custom/test1.py --topo mytopo --mac
--controller=remote,ip=192.168.56.102,port=6633 --switch ovs,protocols=OpenFlow13




测试连通性



2)OpenDayLight控制器,查看网络拓扑;

正在运行opendaylight虚拟机的IP是192.168.56.102,opendaylight的端口是8181

浏览器访问:http://192.168.56.102:8181/index.html

用户名和密码均为admin



此时输入用户名和密码会出现无法登录情况(即:unable to login)



此问题是因为缺乏依赖的features,执行如下命令问题即可解决

opendaylight-user@root> feature:install odl-dlux-all odl-restconf-all odl-l2switch-switch


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐