0x00 前言
Floodlight是我在学习SDN过程中最早接触的控制器,相比较于ODL和ONOS,它从安装到导入IDE再到使用都十分容易,官方文档也写的很清楚,对新手极其友好。
趁着最近给别人搭建SDN实验环境的机会,总结一下在Ubuntu上如何搭建一个Floodlight x Mininet的SDN环境。
0x01 目录
0x02 前期准备
- Git
- JDK
- Apache Ant
Git安装
sudo apt-get install git
JDK安装
Floodlight v1.2以后使用JDK8,这里选择Oracle的JDK8进行下载,在网上找到Oracle JDK8的linux压缩包进行下载并解压到home目录下,然后配置环境变量
# 配置环境变量
sudo gedit ~/.bashrc
# 在.bashrc文件末尾添加下面的内容,JAVA_HOME填JDK目录所在路径
export JAVA_HOME=/home/ubuntu/jdk1.8.0_141
export PATH=${JAVA_HOME}/bin:$PATH
# 查看配置是否成功,若显示java的版本,则配置成功
java -version
参考:https://blog.csdn.net/EahanZhang/article/details/88085561
Apache Ant安装
sudo apt-get install ant
0x03 Floodlight安装
源码下载
git clone git://github.com/floodlight/floodlight.git
源码编译
cd floodlight
ant
显示Build Successful,则说明编译成功
参考
0x04 Mininet安装
源码下载
git clone git://github.com/mininet/mininet
安装
cd mininet/util/
sudo ./install.sh
测试
sudo mn --test pingall
参考
0x05 测试环境
运行Floodlight
java -jar target/floodlight.jar
# 该命令要在floodlight目录下运行
运行Mininet
新开终端,运行命令创建如下拓扑:
h1 - sw1 - h2
sudo mn --controller=remote,ip=127.0.0.1 --mac --switch=ovsk,protocols=OpenFlow13
# 如果Floodlight和Mininet分别部署在不同主机上,则上面的IP地址改为Floodlight所在主机的IP地址
测试Floodlight和Mininet的连通性
在运行Mininet的终端上,输入
pingall
如果主机之间能够ping通,说明Floodlight与Mininet之间连通
此时还可以在浏览器中打开Floodlight Web GUI进行验证,若显示交换机、主机个数、拓扑,也能说明Floodlight与Mininet之间成功连通
http://localhost:8080/ui/pages/index.html
参考
0x06 在Eclipse中运行Floodlight
下载Eclipse
安装Eclipse
运行Eclipse
导入Floodlight源码
配置启动项
运行Floodlight
参考
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!