OpenFlowを試したいからNOXを使ってみた
2012年3月 4日(日) 17:04 JST
閲覧数 4,291
OpenFlow 1.0 for OpenWRT を試す際に利用した OpenFlowコントローラ NOX をとりあえず動かせる状態にするまでの記録。
利用するコントローラは、Termaでもヨカッタのですが、個人的に C言語が一番慣れているという理由から NOX を試しました。
スクリプト言語の方がコンパイル不要なので適しているのかも知れませんが、僕はC言語以外は脳みそがついていきませんw
ベースに利用したのは、Ubuntu 10.04.2(i386)です。(手元にisoがあったので利用しただけです、バージョンにこだわりはアリマセン)
依存関係をUbuntuのリポジトリで解決した方が良いのですが、手っ取り早く使いたいので手抜き手順になります。
基本すべて一般ユーザで実施します。
1.NOX導入に必要になるコンポーネントの追加 手抜きして、apt-getで一気に追加してしまいます。
2.NOXをダウンロード
3.NOXビルド
4.動作確認
5.OpenFlow switchと繋いでの確認 NOXのサンプルとして、ハブ状態として動作させる為のモノがある為、それを利用し確認してみます。
サンプルは、~/nox/build/src/nox/coreapps/examples 以下に保存されており、6種類ありますが pyswitch を起動してみます。
両方動作した動きになります。この動かし方が正しいのかは不明ですが、動いている様に見える。
OpenFlowは勉強するには環境準備が面倒ですが、今迄に無いネットワークを体験できます。
まだ複数台での接続は、大した事も試せてないですが、経路を操作したりもしてみたいですね。
利用するコントローラは、Termaでもヨカッタのですが、個人的に C言語が一番慣れているという理由から NOX を試しました。
スクリプト言語の方がコンパイル不要なので適しているのかも知れませんが、僕はC言語以外は脳みそがついていきませんw
ベースに利用したのは、Ubuntu 10.04.2(i386)です。(手元にisoがあったので利用しただけです、バージョンにこだわりはアリマセン)
依存関係をUbuntuのリポジトリで解決した方が良いのですが、手っ取り早く使いたいので手抜き手順になります。
基本すべて一般ユーザで実施します。
1.NOX導入に必要になるコンポーネントの追加 手抜きして、apt-getで一気に追加してしまいます。
$ cd /etc/apt/sources.list.d $ sudo wget http://openflowswitch.org/downloads/debian/nox.list $ sudo apt-get update $ sudo apt-get install git-core $ sudo apt-get install nox-dependencies
2.NOXをダウンロード
$ cd ~ $ git clone git://noxrepo.org/nox
3.NOXビルド
$ cd nox $ ./boot.sh $ mkdir build $ cd build $ ../configure $ make
4.動作確認
$ cd src $ ./nox_core -V NOX 0.9.0(zaku)~full~beta (nox_core), compiled Mar 4 2012 02:32:54 Compiled with OpenFlow 0x01
5.OpenFlow switchと繋いでの確認 NOXのサンプルとして、ハブ状態として動作させる為のモノがある為、それを利用し確認してみます。
サンプルは、~/nox/build/src/nox/coreapps/examples 以下に保存されており、6種類ありますが pyswitch を起動してみます。
$ ./nox_core -v -i ptcp:6633 pyswitchパケットを可視化してくれる packetdump なんてものもありますので、以下の様に起動すると動きが分かりやすいでしょう。
両方動作した動きになります。この動かし方が正しいのかは不明ですが、動いている様に見える。
$ ./nox_core -v -i ptcp:6633 packetdump pyswitch
OpenFlowは勉強するには環境準備が面倒ですが、今迄に無いネットワークを体験できます。
まだ複数台での接続は、大した事も試せてないですが、経路を操作したりもしてみたいですね。