利用虚拟机配置SDN网络实验平台(virtual box+Ubuntu+jdk配置+mininet+floodlight/openDaylight)
一、安装Virtual Box步骤
至于VMware,当然也可以,二者都是虚拟机软件。但是VMware的安装文件很大,安装相对麻烦,而virtual box安装过程中,是中文的,安装较快且方便,比较适合新手学习使用。
安装过程:
- 下载virtual box安装程序,官网下载对应的版本,比如windows版本的。
- 安装过程基本就是fool式操作,按着提示直接默认安装就行,当然也可以修改安装的位置。
这里就不过多赘述virtual box的安装过程了。
二、在虚拟机中的Ubuntu安装步骤
1,点击新建,设置虚拟机的名字mininet,位置,以及版本等,由于我安装的是64位的Ubuntu系统,所有选择Linux和64bit,配置完成后点下一步。
2,分配运行内存,一般来说2G足够了,配置完成后点击下一步。
3,创建虚拟硬盘,选择VDI磁盘映像,然后选择动态分配,20G就可以,配置完成后点击创建。
4,这一步需要用到刚才下载的Ubuntu镜像,点击存储,选择第二IDE控制器主通道,然后选择刚才下载的Ubuntu镜像文件,配置完成后点击OK。
5,点击启动,开始启动安装过程,选择中文简体,如果其他语言对你来说so easy,那么完全没问题,然后选择安装Ubuntu,键盘模式选择美式键盘,配置完成后按提示继续。
6,根据个人习惯选择正常安装和最小安装都行,只不过最小窗口是在命令行模式下的,如果水平还可以,命令行模式充满了神秘感,我是一个小菜鸟所以我选择了正常安装,然后点击继续。
7,这一步需要配置系统的分区,选择其他选项,当然选择第一个也可以,根据个人配置需要,创建一个swap分区和一个/分区,如图的大小和选择进行,配置完成后点击下一步。
注意:在安装Linux系统的时候,由于虚拟机和本机的分辨率的不同可能造成界面显示不完全,看不见下一步等操作按钮,此时可以使用ctrl+鼠标左键拖动或win+鼠标左键拖动显示其余部分。
当出现键盘锁定在virtual box里面时,可以点右边的ctrl解除锁定。
8,时区选择,我们当然选择北京时间咯,也就是东8区,选择其他时间也许,比如美国时间。配置完成后,点击继续。
9,这一步,我们配置用户名,密码一类的,密码123456就行,不用过于复杂,带来一系列的麻烦,配置完成后,点击安装。
10,到这一步,恭喜你,接近成功啦,这时候休息一会吧,因为可能需要等上10分钟。安装成功后,会提醒重启,这时候重启就行,稍等片刻,linux系统安装成功,这时候一个虚拟机的Ubuntu就安装完成了。
三、Ubuntu环境下搭建SDN网络实验平台
1,首先根据步骤二,在虚拟机上安装两个Ubuntu操作系统,一个命名mininet用于安装mininet网络仿真器,一个命名FloodLight/openDaylight用于安装FloodLight/openDaylight控制器。
2,配置虚拟机网络,实现主机和虚拟机之间的网络通信,并做ping测试。首先,启动虚拟机后,我们进入命令行模式(ctrl+shift+t)输入ifconfig,我们可以看见配置网络之前的虚拟机网络。然后关闭虚拟机系统,在virtual box中进行配置,点击设置—>网络—>连接方式为NAT—>选择网卡2—>连接方式为仅主机(host-only)网络—>OK。
3,重启Ubuntu系统后,在Windows的命令行模式下输入ipconfig查看本机ip和虚拟机ip,可以看到本机的ip地址10.50.157.192,虚拟机的ip为192.168.56.1,要注意哟,我连的是无线网所以本机地址看无线局域网适配器,如果你用的网线就要看以太网适配器哟。
4,接下来,我们在命令行下看看是否可以和虚拟机通信,来ping一下吧。看图,有回复的,证明网络是正常的。
5,然后,在Ubuntu的命令行模式下,输入ifconfig可以查看虚拟机的IP网络配置,可以发现此时虚拟机有两个网卡,说明虚拟机的网卡2配置成功。注意,也许输入ifconfig命令,系统不能识别这个命令,那么就需要我们安装一下,在命令行使用sudo apt install net-tools。
6,接下来我们在虚拟机系统的命令行模式下,看看虚拟机系统是否可以和Windows主机连通,在命令行下ping一下。可以发现win主机有回复,到这一步,说明主机和虚拟机之间的虚拟网络配置成功。
四、在mininet虚拟机上本地安装mininet源码
1,首先,需要安装git,在GitHub上复制mininet,在Ubuntu的命令行模式下使用命令sudo spt-get install git。
2,在GitHub上获取源代码,命令git clone git://github.com/mininet/mininet。
3,获取源码成功后,在虚拟机上安装mininet,命令mininet/util/install.sh -nfv。
4, 安装成功之后,验证openvswitch-controller是否在运行,如果正在运行,应将其停止,以确保Mininet在启动时可以指定自己的控制器。
5,测试mininet是否安装成功,在Ubuntu命令行中输入命令sudo mn --test pingall。
五、在虚拟机上安装jdk和配置Java环境变量
(参考https://jingyan.baidu.com/article/25648fc1797a649191fd00ca.html)
1,由于floodlight或者openDaylight的使用需要提前配置jdk和Java环境变量,所以第一步我们需要在linux系统中配置好Java环境变量。首先,我们需要下载jdk,在命令行中输入sudo apt-get install openjdk-8-jdk。
2,配置环境变量JAVA_HOME 和PATH,使用命令sudo gedit /etc/environment在文本中配置环境,配置完成后保存。使用命令source /etc/environment使环境生效,然后可以查看环境,输入命令cat /etc/environment。
3,由于当虚拟机系统关闭后,可能再次打开会出现配置的环境变量无效,因此配置所有用户的环境变量,使用命令打开文本sudo gedit /etc/profile,在文本末尾添加截图所示代码。添加完成后保存,在命令行执行全局设置立刻生效命令source /etc/profile。
4,上述操作完成后,重启Ubuntu系统,并且在命令行输入命令java -version检查环境变量是否配置成功。
六、在虚拟机上安装floodlight控制器
1, 先安装 ant,命令行输入命令 sudo apt-get install ant。(Apache Ant,是一个将软件编译、测试 bai、部署等步骤联系在 一起加以自动化的一个工具,大多用于 daoJava 环境中的软件开发。)
2, 先安装 git,从中获取 floodlight,在命令行中输入命令 sudo apt-get install build-essentialpython-dev。执行完毕后,安装 git,在命令行输入命令 sudo apt-get install git。
3,安装curl,在命令行中执行命令sudo apt-get install curl。
4,从github克隆floodlight,输入命令git clone git://github.com/floodlight/floodlight.git,下载安装完成之后,进入floodlight,输入命令cd floodlight,最后验证ant。可能发现出现一系列的报错,然后根据提示下载安装thrift包。
5,运行floodlight,安装成功后(前提是装好了jdk并且成功配置了Java环境变量),执行命令java -jar target/floodlight.jar,此时可以看到一系列的输出,说明运行成功。
七、在虚拟机上安装openDaylight控制器
1,下载openDaylight,下载地址https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.6.4-Carbon/distribution-karaf-0.6.4-Carbon.tar.gz。
2,下载完成后将压缩包移动到/usr/local/openDaylight目录下,当然移动需要权限,首先我们输入命令sudo nautilus,此时看见系统进入一个有权限的文件管理上,这时候就可以在里面创建文件夹和移动文件。
3,需要对下载的openDaylight安装包进行解压,我们可以先确认文件夹内是否存在安装包,输入命令cd /usr/local/openDaylight,此时我们就进入了这个文件夹下,在命令行上输入命令ls,就可以查看此目录下的全部文件。由于我们的压缩包后缀为tar,所以输入命令sudo tar -xvf distribution-karaf-*.tar.gz进行解压。
4,解压完成后,我们进入解压的目录下,输入命令cd distribution-karaf-0.6.4-Carbon。然后输入命令sudo gedit etc/org.apache.karaf.management.cfg修改文件中的ip为127.0.0.1,方便本机测试使用。
5,接下来需要执行openDaylight,但是执行需要root权限,不然会提示权限不够,这时我们需要进入root,但是如果之前没有设置root密码,是无法进入,输入命令sudo passwd root,设置密码,注意Linux系统输入密码不会在屏幕显示。密码修改完成后,我们就可以进入root用户了,输入命令su root(注意:su就是用来切换用户,也可以su 用户名,切换已有的如何用户),再输入密码进入root用户,注意root用户和普通用户之间有明显的标志区别$和#。
6,执行openDaylight,先cd到安装openDaylight的目录下,然后输入命令./bin/karaf执行openDaylight。如下图表示执行成功。
7,安装各种openDaylight使用到的插件。
八、启动mininet,设置远程控制器,在openDaylight中查看拓扑图
1,启动在openDaylight虚拟机中启动openDaylight,具体操作先进入root用户,然后cd到openDaylight目录下,如第七节启动步骤。
2,打开mininet虚拟机,并启动mininet,由于设置topo需要root权限,所以首先我们进入root,然后构建自定义拓扑,输入命令mn - -topo single,3 - -controller=remote,ip=192.168.56.105,port=6633 - -switch ovsk,protocols=OpenFlow13。然后输入命令pingall,查看连接情况。
3,进入openDaylight虚拟机中,通过OpenDayLight控制器,查看网络拓扑;正在运行opendaylight虚拟机的IP是192.168.56.105,opendaylight的端口是8181,通过浏览器访问:http://192.168.56.105:8181/index.html,用户名和密码均为admin。
利用虚拟机配置SDN网络实验平台(virtual box+Ubuntu+jdk配置+mininet+floodlight/openDaylight)相关推荐
- sdn网络实验的搭建--mininet
sdn实验 第一章 sdn网络实验的搭建–mininet 文章目录 sdn实验 前言 一. mininet是什么? 二.搭建步骤 1.mininet安装 2.ovs安装 总结 前言 mininet搭建 ...
- 初涉网络实验-路由器端口的开启与配置
实验一:路由器端口的开启与配置 第一次做网络实验,感觉还是蛮新鲜的,以前只能看理论,对路由器.交换机只有个图像印象,今天终于看到其真面目了,爽! 今天的实验主要是用Packet Tracer 5.0来 ...
- 静态配置_【实验】华为静态路由基础配置
关注我,你的眼睛会怀孕 一.静态路由功能介绍 静态路由就是手工配置的路由,使得数据包能够按照预定的路径传送到指定的目标网络.当不能通过动态路由协议学到一些目标网络的路由时,配置静态路由就会显得十分重要 ...
- linux Ubuntu网卡配置,Windows 7下用VirtualBox安装Ubuntu网卡配置
Windows 7下用VirtualBox安装Ubuntu,要求Ubuntu能连上互联网,同时在Ubuntu中配置SSH.FTP.NFS服务,能从Win7进行访问. 此时Linux虚拟机需要两块网卡, ...
- virtual box Ubuntu 连接手机
引自:http://blog.163.com/squall_smile/blog/static/603498402013741005176/ ubuntu 12.10的vmware虚拟机中连接andr ...
- virtual box ubuntu鼠标点进去不反应
该贴不是记载的常规操作. 如果读者是刚刚使用virtual box鼠标不好使,那么点击设备->增强功能就好了() 如果还不行,设置改一下: 但是我是属于在系统里不知道搞了什么骚操作,导致看起来我 ...
- 华为模拟器eNSP配置NAT网络实验
NAT(Network Address Translation,网络地址转换) 首先了解现在IP地址的使用情况,私有 IP 地址是指内部网络或主机的IP 地址,公有IP 地址是指在因特网上全球唯一的I ...
- 微信公纵平台基本配置php_php微信公众平台开发(一) 配置接口
一.简介 微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的文字.图片.语音的全方位沟通.互动. 二.通讯机制 三.注册微信平台 ...
- 安装U盘版Ubuntu20.04(virtual box+Ubuntu安装光盘镜像文件)
转载自:https://zhuanlan.zhihu.com/p/365217744 成品效果: 可以通过U盘启动Ubunut,和安装在电脑硬盘的使用效果一样; 可以作为普通U盘使用,不影响Ubunt ...
最新文章
- 苹果曝光无人车新进展,这名华人工程师是主要贡献者
- 后端必备 Git 分支开发:规范指南
- flex(入门)之timer的使用,键盘,鼠标的监听
- .net 序列化与反序列化
- nextcloud icon_吉利ICON的提车日记,这是一个不错的选择
- DataX不支持Mysql8.x
- 题解报告:hdu1205吃糖果(插空法)
- BZOJ 1036 [ZJOI2008]树的统计Count (树链剖分 - 点权剖分 - 单点权修改)
- 完美破解nbsp;iPhone“一键解锁”新手教程
- win7主题破解_VM 15.5虚拟机安装win7系统的流程
- antDesign Drawer
- jBPM4的PVM实现解析
- Windows10常用快捷键+cmd常见命令码
- dos2unix install on mac_好用到叫出声!强烈推荐 10 款 Mac 软件!
- python 峰_python-如何在具有多个峰的数据集中查找FWH...
- shell去掉输出的末尾换行符
- 上古卷轴nmm_您在《上古卷轴》中认识的人
- 联邦学习中的non-iid总结
- java 移动支付_如何在java中使用J2ME实现移动支付
- 软件智能:aaas系统设计之一、A语言:默认逻辑家族置标语言中语义标记的标记-“除外”的名和“除内”的相 之1
热门文章
- jquery 入门(jquery是什么/与JavaScript的联系与区别/jquery版本/引包/入口函数)
- Blood Cousins (dsu on tree + 求第k级祖先)
- [QMT]01-我的第一个Python策略
- ssssssssss
- ssssssssssss
- matlab常用函数与常用指令大全
- TM1638快速开发教程(基于正点原子mini板stm32f103rc)
- TM1638模块驱动(stm32,可以显示led灯,数码管,按键操作)(包含全部功能)
- SAP770系统FI模块配置(给科目表分配公司代码)
- win10修改桌面图标大小