POX安装和部分配置
来源:互联网 发布:tcp网络编程linux 编辑:程序博客网 时间:2024/06/12 18:44
最近在学习OpenFlow,看网上看到很多关于POX的安装和部署教程,但是大部分都有点问题,于是就将自己全程的安装和部署过程记录下来了,现在发出来跟大家分享。
1 部署情况
在本文中设备使用的都是基于Ubuntu12.04版本的Linux操作系统,在此系统的基础上进行POX控制器的安装及部分配置。IP地址为10.20.218.18的设备作为安装POX的控制器,IP地址为10.20.215.51的设备作为安装Open vSwitch的OpenFlow交换机(以下简写为OvS),用于实验安装部署。因为是在学校实验室配置的,所以IP都是局域网IP。
2 POX的安装
POX基于Python2.7的环境运行,官方版本的POX可以运行在Windows、Mac OS、以及Linux操作系统中。POX源码已在github发布,可将POX的源码下载到本地机器进行安装使用,具体操作命令如下:
在10.20.218.18上直接下载pox源码:
# git clone http://github.com/noxrepo/pox
获取源码之后,直接启动POX控制器的命令如下:
# cd pox/
# ./ pox.py openflow.of_01 –address=10.20.218.18 –port=6633 py
pox.py是程序的入口,需要openflow.of_01库解释后面的参数。POX默认开启6633端口监听,控制器启动后会有POX>输入提示。
以下结果显示POX正确启动:
在10.20.215.51主机上(装有OVS的主机)发起消息主动连接控制器:
root@zero-All-Series:zero# ovs-vsctl set-controller br2 tcp:10.20.218.18:6633
root@zero-All-Series:zero# ovs-vsctl set-controller br1 tcp:10.20.218.18:6633
root@zero-All-Series:zero# ovs-vsctl set-controller br0 tcp:10.20.218.18:6633
每一条命令的作用就是将一个OVS交换机与指定的控制器相连,在我的主机上创建了三个OVS交换机,所以就用到三条命令。
同时在装有控制器的主机上可以看到三个ovs交换机都已经连接上显示如下:
在10.20.215.51上可以查看到连接已启动的POX的OVS状态:
3 POX系统配置
本小节主要讲POX的两个配置,一是如何修改POX监听端口,二是如何配置POX的可视化Web界面。
3.1 修改监听端口
POX的监听端口默认是6633,修改监听端口的方式有以下两种:
1)临时修改方法
每次启动POX时指定监听端口,如指定的端口为6636,则在命令行中将-port后面的参数修改为6653,命令如下:
# ./ pox.py openflow.of_01 –address=10.20.218.18 –port=6653 py
2)修改控制器的默认端口方法(永久性修改)
修改/pox/openflow/of_01.py文件,如指定的端口为6653,则将文件中所有的port=6633改为port=6653。
3.2 配置Web界面端口
POX支持GUI,通过POXDesk等工具实现,本小节介绍如何配置POX的GUI。具体操作如下:
1. 获取POXDesk
进入POX主目录下面的ext目录:
# cd ./pox/ext
# git clone https://github.com/MurphyMc/poxdesk
2. 获取qooxdoo
下载qooxdoo代码压缩包,然后把解压后文件夹名字改成qx
# cd poxdesk
# wget http://downloads.sourceforge.net/qooxdoo/qooxdoo-2.0.2-sdk.zip
# unzip qooxdoo-2.0.2-sdk.zip
# mv qooxdoo-2.0.2-sdk qx
3. 初始化poxdesk
进入poxdesk目录,执行命令./generate.py,然后再进入POX主目录
# cd poxdesk
# ./generate.py
# cd ../../..
4. 启动POXDesk
# ./pox.py samples.pretty_log web messenger messenger.log_service messenger.ajax_transport openflow.of_service poxdesk
运行结果显示如下:
5. 访问Web
用浏览器访问http://pox-ip:8000/poxdesk,默认端口8000,POX的Web访问界面如下图所示。如果在本地,则pox-ip为127.0.0.1
4 总结
启动POX时,需要运行pox.py 或debug-pox.py。前者是在一般的情况下运行POX,后者主要用于调试POX控制器,因此如果要在POX中做开发,通常会选用debug-pox.py来启动POX。POS启动命令中的可选参数主要包括verbose、no-cli、no-openflow,具体描述信息及其他参数可以借助命令./pox.py --help查看。
- POX安装和部分配置
- 安装 mininet + pox + poxdesk
- pox
- Maven2 pox.xml 配置实践
- 安装大型 Linux 集群,第 4 部分: 节点安装和 GPFS 集群配置
- 根据pox和pyretic的例子,写自己的firewall
- apache和tomcat的下载、安装和配置(包括部分出错)
- 安装大型 Linux 集群,第 1 部分: 简介和硬件配置
- 安装大型 Linux 集群,第 1 部分: 简介和硬件配置
- pox.xml
- pox.xml
- 第四部分 MyEclipse的安装配置
- 第二部分 OpenStack安装与配置
- 【部分转+总结】MySQL5.6.15免安装版安装配置
- 使用 XForms 和 Ruby on Rails 开发小型门诊管理系统,第 1 部分: 安装配置 IBM DB2 9 pureXML
- 第一部分:Linux安装和登陆命令
- Maven的安装和应用(部分转载)
- Maven的安装和应用(部分转载)
- [Android 硬件] Eclipse错误:Conversion to Dalvik format failed with error 1
- 第9章 异常
- Spatial Pyramid Matching for Recognizing Natural Scene Categorie(阅读)
- 【Code Forces 320A】【二进制拆分】Raising Bacteria 细胞繁殖 每天倍增
- 面试总结
- POX安装和部分配置
- c语言小工具
- HDU 4424 - Conquer a New Region(最大生成树)
- 前端笔试题
- Redis学习10之Jedis连接redis和使用
- Dev-C++制作dll文件供Visual Basic调用程序
- 光线追踪技术 第二章
- jQuery404秒倒计时
- Python C++ interoperability