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

一、安装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 网卡配置(如图所示)

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

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

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

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

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

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

sudo apt-get install openssh-server

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

三、在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

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

至此,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

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

  • 安装 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
VirtualBox 虚拟机下搭建SDN实验平台(安装mininet网络仿真器 + OpenDayLight控制器)_第7张图片
此时输入用户名和密码会出现无法登录情况(即:unable to login)
VirtualBox 虚拟机下搭建SDN实验平台(安装mininet网络仿真器 + OpenDayLight控制器)_第8张图片
此问题是因为缺乏依赖的features,执行如下命令问题即可解决

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

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

你可能感兴趣的:(ubuntu,SDN)