实验一:SDN 环境搭建
- Mininet+OVS 安装
- Ryu 安装
- Floodlight 安装
- Eclipse 安装,导入Floodlight
Mininet + OVS 安装
1. 安装依赖
git
sudo apt-get update
sudo apt-get install git
2. 下载源码
~ 目录下操作
git clone git://github.com/mininet/mininet
3. 进入 mininet 的 util 文件夹
cd mininet/util
4. 查询安装选项
./install.sh –h
5. 安装Mininet + OVS 2.3.0
./install.sh -n3V 2.3.0
6. 测试Mininet
sudo mn --test pingall
结果如下:安装成功
7. 查看 Mininet 版本
mn --version
安装完Mininet,可边安装Ryu,边开启一个终端进行实验二的实验
Ryu 安装
1. 安装依赖
如遇[Y/n],输入 Y 回车
sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip
sudo apt-get install python-eventlet python-routes python-webob python-paramiko
2. 下载源码
返回到~目录:
cd \~
git clone git://github.com/osrg/ryu.git
3. 进入 ryu 文件夹
cd ryu
4. 安装 ryu 需要的工具
sudo pip install -r tools/pip-requires
如果出现问题:ImportError:No module named _internal
sudo rm -f /usr/local/bin/pip
返回ryu文件夹:cd ~/ryu
重新执行命令
5. 安装 ryu
sudo python setup.py install
6. 测试 ryu
在 ryu 文件夹下
ryu-manager
成功安装结果如下:
7. Ryu GUI 使用
① 启动 GUI 应用
启动应用时添加 --observe-links 启动拓扑发现
ryu-manager --observe-links ryu/app/gui_topology/gui_topology.py
② 创建 mininet 拓扑,可以用最简单的拓扑(sudo mn 生成1台OVS交换机2台主机单控制器)
sudo mn --controller=remote
③ 打开浏览器,输入 http://127.0.0.1:8080
Ryu 的GUI做得不完善,只能显示交换机
Ryu 安装过程如遇一下问题:
问题一:SSLError: The read operation timed out
解决方法:网络原因,重试几次即可
问题二:six 版本问题
解决方法一:sudo pip install --upgrade six
解决方法二:步骤①:sudo pip uninstall six 步骤②:sudo pip install six
问题三:webob>=1.2
解决方法:sudo easy_install webob==1.2.3
问题四:oslo.config>=1.2.0
解决方法:sudo easy_install oslo.config==3.0.0
问题五:lxml未安装
解决方法:apt-get install libxm12-dev libxslt1-dev python-dev python-lxml
问题六:The ‘routes’ distribution was not found an is required by ryu
解决方法:sudo easy_install routes
问题七:The ‘ovs’ distribution was not found an is required by ryu
解决方法:sudo pip install -r tools/pip-requires
问题八:stevedore未安装或者版本不足
解决方法:sudo pip install stevedore
问题九:debtcollector未安装或者版本不足
解决方法:sudo pip install debtcollector
Floodlight 安装
1. 安装依赖
1) JDK 安装
JDK 下载地址:http://www.oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html
相关软件里有8u144版本的压缩文件(jdk-8u144-linux-x64.tar.gz),可直接拷贝到Home目录解压
① 解压:
tar zxvf jdk-8u144-linux-x64.tar.gz
② 解压后的文件夹转移到/usr/local目录
sudo mv jdk1.8.0_144/ /usr/local
③ 配置profile文件,添加环境变量
实验课给的终端是ZSH,修改zprofile
sudo vim /etc/zsh/zprofile
如果是bash的终端,修改/etc/profile
sudo vim /etc/profile
④ 添加内容:
export JAVA_HOME=/usr/local/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
⑤ 保存并退出:
按ESC 输入:wq
如果是zsh,如下图:
如果是bash,如下图:
⑥ 生效配置文件
ZSH 生效
source /etc/zsh/zprofile
BASH 生效
source /etc/profile
⑦ 验证JDK安装是否成功
java -version
2) 安装其余依赖
sudo apt-get install build-essential ant python-dev
2. 下载 Floodlight
git clone git://github.com/floodlight/floodlight.git
git 的速度如果太慢,从实验课的文件夹内把floodlight文件夹直接拷贝到home目录
3. 编译 Floodlight
进入 Floodlight 文件夹
cd floodlight
编译 Floodlight
ant
编译成功:
4. 启动 Floodlight
java -jar target/floodlight.jar
启动结果:
5. Floodlight Web GUI
① 创建 mininet 拓扑,可以用最简单的拓扑(sudo mn 生成1台OVS交换机2台主机单控制器)
sudo mn --controller=remote
② 打开浏览器,输入 http://127.0.0.1:8080/ui/pages/index.html
③ 查看拓扑图
Eclipse 安装,导入Floodlight
在分配 1G 内存情况下,运行 Eclipse 会非常的卡。建议在自己的电脑分配更高内存,尝试使用
实验室的相关安装包里有:eclipse-inst-linux64.tar.gz,拷贝到Home目录下
Eclipse 安装
1. 解压 Eclipse
tar zxvf eclipse-inst-linux64.tar.gz
2. 安装 Eclipse
进入解压后的文件夹「eclipse-installer」,运行eclipse-inst进行安装
cd eclipse-installer
./eclipse-inst
3. 根据引导完成安装
① 选择Eclipse IDE for JAVA EE Developers
② 安装
③ 弹出窗,选择接受
④ 等待下载安装完成
启动后,选择工作空间
Eclipse 导入 Floodlight
1. 编译
开启新终端,进入到 Floodlight 目录,执行
ant eclipse
若出现错误:BUILD FAILED: setup_eclipse.sh error=13,Permission defined
chmod +x set_eclipse.sh, 再重新运行
成功显示:
BUILD SUCCESSFUL
2. 启动 Eclipse
进入文件夹:~/eclipse/jee-oxygen/eclipse
./eclipse
3. Eclipse 中导入 Floodlight 工程
菜单选择导入
选择General-Existing Projects into Workspace
选择 Floodlight
4. 配置 Floodlight 的运行配置
下拉运行键 - 选择Run Configurations
>
选择Floodlight—Default
选择 Run 运行
运行:
5. 运行 Floodlight
以后下拉运行键选择 Floodlight-Default-Conf运行即可
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。