follow me

OpenWrt Buildsystem 構築

Buffaloルータで OpenFlow 1.0 for OpenWRT を動作させる為に、OpenWrtのビルド環境を構築してみました。
クロスビルド環境を準備する事になるので、面倒な作業になると思っていたのだが、自動でクロス環境を用意してくれる仕組みになっている為、予想以上に呆気なく構築できる事が判明。
僕は Debian 5.0 環境を利用しましたが、openSuSE、Ubuntu、Fedoraでも可能な様子。MacOS Xは面倒そうなのでお勧めしない。

1.開発環境の導入
# apt-get install build-essential gawk ncurses-dev unzip binutils flex bison autoconf gettext texinfo sharutils subversion libncurses5-dev ncurses-term zlib1g-dev git-core
2.trunk版のコード一式をダウンロード
# mkdir ~/openwrt
# cd openwrt
# svn co svn://svn.openwrt.org/openwrt/trunk/
# cd trunk
3.install feeds?
必要無いと思うけど本家ドキュメントに書いてあるので念のため実行。
# ./scripts/feeds update -a
# ./scripts/feeds install -a
4.OpenWrtコンフィグ
ここで Targetデバイスを選択し、必要なパッケージを選択します。
# make defconfig
# make prereq
# make menuconfig
kernelのコンフィグをする場合は、以下コマンド。
# make kernel_menuconfig
5.OpenWrtビルド
必要なクロスビルド環境をネットからダウンロードしたりする為、ネットにつながった環境で実行する必要があります。
一度、ダウンロードされると次回からはネット接続は不要。
# make
follow me

WHR-G301N をDD-Wrt化してみた

現時点で入手しやすい安ルータ Buffalo WHR-G301N をDD-Wrt化してみた。
FreeT だと2,450円。

個人的にはOpenWrt派なのですが、OpenWrt化する際に DD-Wrtを経由した方がラクだったりするので、数分しか起動しない DD-Wrt化をした訳です。
本当は、TFTPでputしてファームを書き換える方法が存在するらしいのですが、僕は成功した試しが無いので DD-Wrtを経由する方法を愛用しています。
DD-Wrtを利用する利点は、Buffalo純正ファームの管理画面から DD-Wrt化するイメージが提供されている事です。
で、管理画面でポチポチ操作するだけでDD-Wrt化できる筈でした。。。
が、何故かファームを受け付けてくれませんでした。(日本のモデルは失敗するなんて情報もあったりなかったり)

で仕方なくイロイロ試した結果、Hard Reset すれば DD-Wrtファームウェアを受け付けてくれる事が判明。
本体裏側にあるResetスイッチを30秒以上押しするとルータが再起動し、その後に DD-Wrtファームウェアを管理画面からアップデートします。
他の機種でも同様の現象が確認できたので、おそらく日本で入手できる機種はほぼ Hard Reset が必要と予想しています。

ちなみに利用するファームイメージは、WHR-G301Nで探すのではなく、WHR-G300N Rev.2になります。
WHR-G301Nは日本でのモデルであり、海外では同等品としてQHR-G300N Rev.2が存在し、ハード構成が似ている為動作する模様。
follow me

AX2430S-48T(パスワードリセット)

ヤフオクで安く出ていたので入手しておきました。
L2だけど、NetBSDベースだし遊べるかなぁとか。。。AX2430S-48Tです。
設定どころかパスワードもリセットされていなかったので、大丈夫かなぁと心配していたのですが、operatorアカウントは生きていたので何も問題ありませんでした。
アカウント名がわからないとゴミと化す様なので注意を。


follow me

OpenFlow 1.0 for OpenWRT 動作確認機種報告(2012/02/19)

OpenFlow 1.0 for OpenWRTの動作が確認できた機種は以下になります。
(あくまで僕個人が検証した結果であり、動作を保障するモノではありません)

・Buffalo WZR-HP-G301NH
OpenWrtで用意されているtrunk版からのビルドで対応可能。(OpenWrtではG300NHとして判別)
設定例は、以前紹介させて頂いた際に記載。
※WZR-HP-G300NHと同様、すべてのリビジョンで同じハード構成となっているかは不明の為、動かない可能性もあり。

・Buffalo WZR-HP-G300NH
所有しているハードが、WZR-HP-G301NHと同等チップ構成のリビジョンであった為、動作したと思われる。
発売初期頃のG300NHでは Ethernet Switch のチップがG301NHとは異なる為、挙動は異なると思われる。
(チップのドライバ自体はPortVLANにも対応済みであり、動作する確立は高いと思われる)
※ハードが入手できれば確認したいと思っているが、中古でもG301NHとの価格差が無い為、手を出すのを躊躇っている。。。

・Buffalo WZR-HP-AG300H
OpenWrtは、trunk版のみ存在。
trunk版に含まれるAR8316のEthernet Switchドライバでは一部機能が足りない為、ドライバに手を加えなければ動作しない。
修正内容は、纏めしだい情報アップする予定です。
※CPU周波数が高速かつ、メモリ128MB搭載と、ハードスペック自体はOpenWrt動作機種としては最高レベルの為、玩具化には適していると思われる。
(個人的には、この筐体でVXLANも対応させれないかと画策中。)
follow me

OpenWrt VLAN設定(WZR-HP-AG300H)

Buffalo WZR-HP-AG300HでのPortVLAN設定について。
OpenWrtはまだtrunk版しか提供されていませんので、switchドライバのバージョンにより設定が異なる可能性があります。
WZR-HP-AG300Hは、Ethernet SwitchにAR8316が採用されており、Linux Kernel内ではAR8216のドライバを利用し動作させる形になります。
OpenWrtのサポートハード一覧では、tagVLANとPortVLANを区別して明記していない為、PortVLAN対応状況が判断しにくいのですが、Buffalo(現行機種)のOpenWrt対応機種はほぼ対応している様にみえる。

swconfigで設定できるのは、enable_vlanだけで、RTLチップ搭載機とは異なっています。
AR8316自体には、他にも設定できそうな項目はみられるが、ドライバは対応していない模様。
root@OpenWrt:/etc/config# swconfig dev eth0 help
switch0: eth0(Atheros AR8316), ports: 5 (cpu @ 0), vlans: 128
     --switch
	Attribute 1 (int): enable_vlan (Enable VLAN mode)
	Attribute 2 (none): apply (Activate changes in the hardware)
	Attribute 3 (none): reset (Reset the switch)
     --vlan
	Attribute 1 (int): vid (VLAN ID (0-4094))
	Attribute 2 (ports): ports (VLAN port mapping)
     --port
	Attribute 1 (string): link (Get port link information)
	Attribute 2 (int): pvid (Primary VLAN ID)
follow me

HOWTO open SSH port for WAN (OpenWRT)

OpenWRTでOpenFlowを愉しんでいる今日この頃。
WAN側のNICを利用してポートを節約したい為、とりあえず必要なのがWAN側からSSH接続する方法。
LuCIを導入している場合は、Web管理画面から簡単にできるのですが、メモリを節約したいので設定ファイルを弄って直します。

修正する設定ファイルは、/etc/config/firewall だけです。
つまり、ssh自体は全インタフェースで上がってしまいます。(/etc/config/dropbear で制御は可能)
癖で/etc/ssh/~なんて探してみますが見つかりません。。。
以下の設定を追加してiptablesの設定を変更します。
#Allow SSH
config rule
        option src              wan
        option proto            tcp
        option dest_port        ssh
        option target           ACCEPT
follow me

念願の NEC IP8800

念願の NEC IP8800 入手しました。
やはりこれぐらい欲しいですよね。おそらく所有しているネットワーク機器では一番高価だったと思われる。。。
ちなみに昼飯2ヶ月分超えたかな。。。
これであんな事やそんな事が出来るぞー。


follow me

安価にOpenFlow環境を入手する(OpenFlow 1.0 for OpenWRT)

OpenFlowを試してみたいが、OpenFlowスイッチが高くて手が出せない技術者さんは多いのではないだろうか。会社が買ってくれる方は良いとして買ってくれない人達には辛い。
そこで紹介したいのが、OpenFlow 1.0 for OpenWRT である。
OpenWRTとは、市販ルータで動作するLinuxをベースとしたカスタムファームとして有名なので説明は不要と思いますが。
OpenFlow 1.0 for OpenWRT は、このOpenWRT上でOpenFlowを動作させる為の実装です。
この実装は、ユーザスペースでの動作の為、パフォーマンスは期待すべきではありません。あくまで学習目的などと考えた方が良いでしょう。
もともと利用できるルータのポート数が少ないので学習程度にしか利用できないとは思いますがw

この方法は、おそらく安価にOpenFlowを試す方法としては少ない選択値ではないだろうか。
こんなルータで動作してしまうので試したい人は今すぐ対応ルータの入手ですね。(秋葉原の FreeT さんに積んであった機種も動作する様な気もする。)


follow me

OpenWrt(10.03.1)でもNICが認識しない。。。

OpenWrtのBackfire 10.03.1-rc6にこんな事が書いてあるから試しました。
Merged WZR-HP-G300NH and -G301NH images
おそらく、Backfire 10.03.1なら問題なくNICが認識するだろうと思いきや。。。
Backfire 10.03.1では認識せず。。。UART経由で再度ROM焼きしなくてはならなくなりました。

仕方なく、trunk版を入手し最新までアップしました。 利用している機器は、WZR-HP-G300NHだがG301NH同等品の為、以前はG301NHのイメージを利用する必要がありましたが、現在はG300NHのイメージで認識する様に変更されていました。
G301NHユーザが Backfire を利用するにはもう少し待つ必要がありそうです。

やっと、G300NHとして正常に認識してくれる様になってウキウキ。
follow me

Cisco AS 2509 入手しましたよ!

トランシーバ、Octal Cableとセットで入手しましたよ。
複数台のメンテナンスには、やはり便利です。
シリアル複数繋げるのは面倒ですよね。