本文内容来自opendaylight wiki网站
实验环境的框架和构成:opendaylight(controller)+mininet(虚拟网络环境)
一、opendaylight的安装
1、 配置java环境(ubuntu下):OpenDaylight Controller 是 java 程序,首先要配置java 的环境。本文选用的jdk-7u45-linux-i586.tar.gz(下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)
1首先从官网上下载地址,放入主文件夹下。
2在/usr目录下面新建java文件夹
# cd /usr # sudo mkdir java |
3 回到存放jdk压缩包的的文件目录下,使用以下的命令将jdk解压到/usr/java目录下
# sudo tar xzvf jdk-7u45-linux-i586.tar.gz -C /usr/java |
4 配置java的环境变量,打开/etc/profile文件,在其中添加以下的环境变量
# sudo gedit /et/profile |
/etc/profile文件中添加的内容如下:
#set java envitonment JAVA_HOME=/usr/java/jdk1.7.0_45 JAR_HOME=/usr/java/jdk1.7.0_45/jre export CLASSPATH=.:$JAVA_HOME/lib:$JAR_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JAR_HOME/bin:$PATH |
5 完成之后运行以下命令让配置文件生效或者直接重启ubuntu系统
# source gedit /et/profile |
2、opendaylight安装
由于opendaylight已经发布了Hydrogen版本,可以直接下载即可,http://www.opendaylight.org/software/downloads。此版本为已经编译好的不需要我们编译可以直接使用,将下载包解压到你的运行系统下(windows和ubuntu都可以,这里推荐ubunt),在opendaylight下有run.bat(win)和run.sh(ubuntu)文件在命令终端运行。
二、mininet的安装
在ubuntu下安装virtualbox,然后建立mininet的虚拟机。
1. 运行Virtualbox中的虚拟主机
a) 安装Virtualbox
b) 打开新的终端窗口,启动Virtualbox
c) 添加第2块网卡(此网卡用于与物理主机上运行的opendaylight控制器通信)
d) 加载mininet镜像文件
e) 虚拟主机处于待运行状态
f) 观察第1块网卡(NAT)
g) 设置第2块网卡的连接方式(Host-Only) 注意一定要在虚拟主机运行前配置好第2块网卡
h) 启动虚拟机
i) 观看当前网络配置
mininet@mininet-vm:~$ ifconfig –a
第1块网卡名为eth0
第2块网卡一般名为eth1,此时无IP地址
j) 为第2块网卡采用DHCP方式分配IP地址
mininet@mininet-vm:~$ sudo dhclient eth1
mininet@mininet-vm:~$ ifconfig –a
2. 产生网络拓扑
a) 进入mininet环境
b) 产生网络拓扑
c) 退出mininet并清除拓扑
mininet>quit
mininet@mininet-vm:~$sudo mn –c
d) 产生默认拓扑,指向远端控制器
mininet@mininet-vm:~$ sudo mn --controller=remote,ip=[运行opendaylight的主机IP],port=6633
登陆http//:localhost/8080,查看网络拓扑(此时opendaylight和mininet同时运行中)
三、使用opendaylight中的simple forwarding application
opendaylight内含有一个简单转发的应用程序,通过web界面进行配置使用。
opendaylight+mininet保持运行中,打开web界面:
1、点击 Add Gateway IP Address 按钮并且增添子网IP:10.0.0.254/8
2、 此时主机处于同一网段,互相可以ping通,在mininet的命令终端上
mininet> h1 ping h3 //会出现数据的流通这是通过web控制mininet的简单案例。
注:本篇的安装过程可作为参考,不可作为技术指导,其中的过程细节部分已省略。