本篇记录OpenFlow的安装下载以及在 Mininet 上连接 floodlight踩过的坑。使用到vmware 16,ubuntu 22.04.
目录
一、下载floodlight(版本很重要)
1.使用git clone https://github.com/floodlight/floodlight.git进行下载:
可能会报错:
解决方案:(原因大概是访问github.com用中国服务器会连接不到)打开软件更新服务;把下载源从位于中国区修改为主服务器:
接着用sudo apt-get update进行更新:
这样即可完成最新版的floodlight的下载:
二、jdk环境搭建
1.在官网上下载jdk版本,这里我下的是jdk-8u361-linux-x64版本。我在物理机上下载,通过使用SecureFX软件上传到虚拟机上,如下:
官网链接:Java Archive Downloads - Java SE 8 (oracle.com)
2.使用tar xvf jdk-8u361-linux-x64.tar.gz进行解压:
3.解压后会得到jdk1.8.0_361的文件:
4.使用 mkdir /usr/local/java 接着使用 cp jdk1.8.0_361 /usr/local/java(复制到java目录):
5.使用cd /usr/local/java进入java目录后,使用gedit ~/.bashrc 设置jdk的环境变量,注意版本要一致:
$ sudo gedit ~/.bashrc
export JAVA_HOME=/usr/local/java/jdk1.8.0_361
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
6.配置完成后,使用java -version查看版本:
7.进入floodlight文件:使用git tag列出标签,接着使用git checkout v1.2选择1.2版本,最后使用ant进行编译,如下所示:(选择1.0以上版本,低于1.0不兼容)
ant编译完成如下:
8.使用 java -jar target/floodlight.jar启动floodlight,最后在火狐浏览器中输入http://localhost:8080/ui/index.html 即可看到floodlight的管理界面:
三、连接Floodlight
1.安装好后,查看IP为:192.168.112.128:
2.在mininet目录下的example目录下使用vim命令写一个mytopo.py并且ip修改为与虚拟机的ip一样,如下:
3.在 Mininet 上连接 floodlight
1.使用以下命令连接到 floodlight 控制器(注意路径)
tank@tank-virtual-machine:~/mininet/custom$ sudo mn --custom mytopo.py --topo mytopo --controller=remote,ip=192.168.114.128,port=6653
4.打开浏览器刷新,可以看到已经连接上 floodlight:
5.查看拓扑生成的信息
四、报错
①操作异常:jdk环境部署报错
解决方案:jdk一要在官网下,而且不要带openjava
②操作异常:floodlight可以正常打开,但Uptime显示unknown
解决方案:使用cd命令进入floodlight文件夹然后使用git tag命令列出已有的标签;再使用git checkout v1.2版本(选则1.0以上的版本,低于1.0的版本不兼容),使用ant进行编译
最后使用 java -jar target/floodlight.jar启动 floodlight ,在火狐浏览器中输入:http://localhost:8080/ui/index.html 即可看到Uptime,证明成功部署。