一、安装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)配置虚拟机配置网络链接,实现主机与虚拟机、虚拟机间的通信。
主机会虚拟出一块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/util/install.sh -a
mininet/util/install.sh -nfv
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环境
sudo apt-get install openjdk-8-jdk
source /etc/environment
2.安装Opendaylight
tar -xvf distribution-karaf-*.tar.gz
cd distribution-karaf-*
./bin/karaf
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