今天意外的看见一个 poxdesk 的图形化的界面, 准备搭建起来玩玩, 发现还蛮不错的~
首先, 必须得承认 github 是一个很不错的开源组织, 里面有许多的源代码, 一般新技术都会在里面找到相对应的文档. 特别是对于学习 SDN 新技术的同时, 要习惯查看里面的英文文档.
具体操作如下:
- sudo apt-get install git // 安装 git
- git clone https://github.com/noxrepo/pox // 安装 pox 控制器
- git clone https://github.com/MurphyMc/poxdesk/wiki/Getting-Started // 安装 poxdesk
会发现安装不了 poxdesk, 但这个时候进入网站就会发现操作如下:
- git clone https://github.com/noxrepo/pox // 已安装
- cd pox
- git checkout betta
- cd ext
- git clone https://github.com/MurphyMc/poxdesk
- 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
- cd poxdesk
- ./generate.py
- cd ../../..
./pox.py samples.pretty_log web messenger messenger.log_service messenger.ajax_transport openflow.of_service poxdesk
按照以上的步骤即可安装完 poxdesk!
接下来安装 mininet:
git clone git://github.com/mininet/mininet
然后就是应用:
1, 打开 pox 和 poxdesk
./pox.py samples.pretty_log web messenger messenger.log_service messenger.ajax_transport openflow.of_service poxdesk openflow.discovery poxdesk.tinytopo poxdesk.terminal
其中如果想要显示 TopoViewer, 还需要加载 openflow.discovery 和 poxdesk.tinytopo 两个组件. 想要运行 terminal(window 环境除外), 还需要加载 poxdesk.terminal 组件.
2, 接下来就是运行 mininet, 即:
sudo mn -controller=remote,ip=127.0.0.1,port=6633 --topo=tree,n,m
3, 打开浏览器: 输入:
http://127.0.0.1:8000/poxdesk
即可看到相应的效果:(点击左下角的 pox 按钮).
提醒: 默认是没有开启 l2_learning 组件的, 所以默认情况下主机之间是 ping 不通的.
来源: https://blog.csdn.net/jk19920523/article/details/40347497