2012年7月5日木曜日

OpenFlow環境をつくってみた

以前から気になっていたOpenFlow。
最近、「自宅ラック勉強会」にてbuffaloのwifiルータをOpenFlowスイッチ化するのが気になっていましたが、先日、とうとう衝動的にやってみました。
OpenFlowスイッチは簡単に設定できましたが、OpenFlowコントローラの方が手間取ったので、備忘録として残しておきます。


OpenFlowスイッチの準備

使ったスイッチは「WHR-G301N」。アマゾンで約2500円でした。



下記サイトの「OpenFlow 1.1 for WHR-G301N 作成手順v1.0」を参考に、OpenFlow1.1をinstall。数分で完了。感謝です。
http://www.srchack.org/index.php?topic=Network

OpenFlowスイッチのIPは192.168.1.1/24なので、PC側のIPを192.168.1.10/24など適切なものに設定し、PCからOpenFlowにtelnet(port:23)すると、、、



















無事接続できました!


OpenFlowコントローラの準備

次はコントラーラです。
上述の同じサイトで「NOX 1.1 Oflib を導入済みのVMwareイメージ」を用意してくれているので、これを使いました。(CentOSにNOX 1.1 Oflibのinstallを試しましたが、エラーがでて挫折しました。MacOSでも挫折しました。)


VMwareイメージのOSはUbuntuです。Ubuntuはほぼ初めてです。


使用した環境は下記の通りです。
WindowsVista
VMWare Player4.0.4

今回の構成は下記とします。PCと仮想マシンはブリッジ接続の想定。仮想マシン(192.168.1.11/24)     --+   PC LAN(192.168.1.10/24)         --+--  OpenFlowスイッチ間(192.168.1.1/24)

VMWare Playerから該当イメージを起動後の手順は下記の通り。

  1. 文字化け対応
    下記サイトを参考に~/.bashrcを変更します。http://hamamuratakuo.blog61.fc2.com/blog-entry-400.html
  2. ネットワーク設定実施「sudo vi /etc/network/interfaces」実施後、下記を参考にネットワークアドレスを設定。http://hamamuratakuo.blog61.fc2.com/blog-entry-400.html
     
  3. VMWare Playerのネットワーク設定VMWare Playerの[仮想マシン設定]-[ネットワーク アダプタ]の設定は下記のようにブリッジ設定としました。
  4. 物理PCと仮想マシンを再起動。
    上記1-3だけでは、ネットワークが正常に起動しない(ifconfigにてeth0が見えない)ので、再起動してみました。(ちょっと原因不明の疎通不可になったり。と不安定な感じですが、PCの電源を切って、起動したら疎通できたりしていました。しばらく様子をみたいと思います)
    ---
    2012/7/7 追記
    仮想マシン(NOX)から物理PCまたはOpenFlowスイッチへの疎通不可の時に、OpenFlowスイッチの電源は入れたまま、仮想マシンをshutdown・物理PC電源off後、再び物理PC電源on・仮想マシンを起動したら、疎通が復旧するようです。詳細原因究明には至っていませんが。。。
    ---
    ifconfig結果と、物理PC(NOX)からOpenFlowスイッチにtelnetした結果は下記の通りです。




    以上で、環境構築完了!
    次回、詳しく触ってみたいと思います。






このエントリーをはてなブックマークに追加