Mininet+ODL+Wireshark实验环境搭建
因为写小论文需要测试路由算法运行情况,搭建了一个小型的SDN实验环境。本文用到的软件及其版本如下:
- VMware Workstation 12.1.1
- Mininet镜像:mininet-2.2.1-150420-ubuntu-14.04-server-amd64
- OpenDaylight Lithium SR4(虚拟机Ubuntu 12.04)
一、 Mininet镜像的安装
Mininet可以使用Python语言自定义拓扑,实验平台也内置了一些基本的拓扑结构,能够方便地满足测试的需要。在虚拟机内自行安装mininet比较麻烦,可以直接选择加载内置Mininet的虚拟机镜像。
进入虚拟机后,用户名和密码都是mininet(密码不会显示出来)。至于Mininet的使用教程,官方网站的Walkthrough写得就很好,对入门者很有帮助。
二、 JDK的安装
本文介绍的Lithium(锂)版本基于Ubuntu12.04进行安装,需要Java7.0以上的环境来运行(如果已经有了可以进入下一步)。Java7已经不更新了,本文选择直接安装Java8:
sudo apt-get install oracle-java8-installer
安装时会提示你同意oracle的服务条款,选择ok然后yes即可。
接下来两条语句分别是设置系统默认JDK、和测试JDK是否安装成功:
sudo update-java-alternatives -s java-8-oracle
java -version
三、 ODL的安装
OpenDaylight具有可视化的拓扑结构,最新的铍版本还不稳定,氦版本亲测与Java8又不兼容,因此选择了锂版本。
-
官网下载对应的安装包到虚拟机,解压获取到的安装包文件,并进入解压目录运行:
unzip distribution-karaf-0.3.4-Lithium-SR4.zip
distribution-karaf-0.3.4-Lithium-SR4/bin/karaf
出现下图界面,表示安装正确:
-
ODL由很多功能组件组成,例如Web UI组件,需要另外安装DLUX web接口才能查看ODL的Web界面。安装DLUX步骤如下:
feature:install odl-restconf
feature:install odl-l2switch-switch
feature:install odl-openflowplugin-all
feature:install odl-dlux-all
feature:install odl-mdsal-all
feature:install odl-adsal-northbound
-
访问web页面
以上步骤都成功后就可以进入登陆页面,用户名和密码都是admin:http://localhost:8181/index.html
不过这时候还看不到拓扑,因为还没连接Mininet呢。
先分别在Mininet和ODL所在的虚拟机中查看一下ip地址并记下来(记为IP1和IP2,替换下面命令中的地址):
ifconfig
在OpenDaylight虚拟机ssh进Mininet:
sudo ssh -Y mininet@IP1
输入权限密码、Mininet的用户名和密码。建立一个简单的拓扑,连接控制器:
sudo mn --controller=remote,ip=IP2 --topo tree,3
再刷新ODL的web页面就能看到拓扑了。
四、Wireshark的安装
Wireshark最好装新版,直接支持OpenFlow。网上有些旧版安装插件的教程亲测不可行,源码中的函数已经被Wireshark官方废弃了。
-
卸载旧版,安装依赖包:
sudo apt-get install bison flex libpcap-dev gcc
- 在Wireshark官网中选择对应的安装包下载,进入压缩包目录,解压并进入文件夹:
tar -vxjf wireshark-2.2.5.tar.bz2
cd wireshark-2.2.5
- 配置、编译、安装:
./configure
make
make install
- 打开Wireshark:
sudo wireshark &
如果刚刚Mininet建立的那个拓扑没有关掉的话,选择适当的端口(不确定就选any)就能看到OpenFlow的数据包了。
如果什么包都抓不到的话重启一下网卡再试试:
sudo /etc/init.d/networking restart
</br>
至此环境的搭建就完全结束啦,写完发现还真是个大工程,配环境什么的就得要有耐心啊。