Naknet blog

Nothing to believe, nothing else to believe.

WLI-TX4-G54HPをDD-WRT化

こんな記事は本当に久しぶりですね。
今回は宿舎で使っているWLI-TX4-G54HPをDD-WRT化してみました。
バージョンは2.4 RC4です。tftpでインストールしました。

そもそもなんで入れようと思ったかというと、それは現在の私の特殊なネット環境に原因があります。
現在私は某大学の宿舎に入居しており、そこではWireless Mesh Network:WMNが使えるようになっています。
学生なら無料で使えるので入居当初から使っているのですが、電波が弱い関係でノートPC内蔵の無線LANモジュールだと接続ができません。そこでBuffaloのイーサネットコンバータ「WLI-TX4-G54HP」を導入して今現在まで使ってきました。
が、外部の人間に勝手に使わせないようにするためのMACアドレス認証がかかっている関係で、何らかの原因でコンバータが自らのMACで通信をしてしまうと、それ以後は別のMACを持つPCなどの接続が拒否されてしまいます。
一応、無線アクセスに使うMACを、最初に通信した機器のアドレスに設定するというオプションがあるのですが、これを有効にしてもやはりうまく行かないことがあります。
最近はこれが頻繁に発生しまして、何だかんだで殆ど無線が使えていませんでした。で、そろそろいらいらしてきたので、今回導入となった次第です。

ここで問題なのは、

  • アクセスする機械がMACで制限されていて、DHCPでアドレスが取れるのはその機械に限られること。
  • コンバータの電源は常についているわけですから、原理的にMACを使用PCのものに常にしておくことはできないこと。
  • です。ならば、コンバータ自体をルーター(ゲートウェイ)にして、PCにはその上で動いているDHCPサーバーからIPを貰うようにし、WMN側からは同じ機械がずっと通信しているように見えるようにすればいいと。

更に、これはまた別の話になるのですが、そのMAC制限の関係で、コンバータには4つLANポートがあるにも関わらず、同時に1台しかネットにアクセスできません。これも不便でした。
ならば最初からルーターを買えばいいのではないかと思われるかもしれませんが、いわゆる無線ルーターというものは無線側をWAN扱いにすることはできません。無線部分にはAccess Point:APとしてではなくClientとして振舞ってもらう必要があったわけですから、その目的に合致する製品は自ずとこれに限定された次第です。

そんで導入作業に入ったわけです。電源を入れてからの数秒間で転送をするというのに少し手間取りましたが、一回成功してしまった後は普通に動いてくれました。
ところが、無線出力などの愉快な設定を色々といじって、さぁ接続となった時に問題発生。WAN側のDHCPサーバーからアドレスは貰えているのに、一切WAN側へはアクセスできません。変だなとパケットモニタなどを観察していると、WAN側へそもそもパケットを送信していないことが判明しました。そこでコンバータ改めルーターにtelnetしてルーティングテーブルを見てみると、デフォルトルートの設定がないじゃありませんかー……ということで route add default eth1 とやってあげると、きちんとWANへもアクセスできるようになりました。
あとはこれを毎回の起動時に設定してもらうだけなのですが、rc.dなどの「おなじみ」のファイルが見当たらないこと、そもそも書き換え可能なファイルシステムではないこと、などが立ちはだかりました。
マニュアルやQ&Aを読むと、Startup Scriptの作り方があったのですが、設定してもうまくいかない。どうやら、eth1がupになる前にコマンドを実行しているらしく、そこで無視されているようです。
Static Routing Entryを追加するなどもやりましたが、結局うまくいきません。

その後色々試行錯誤した結果、FirewallのStartup scriptとして登録すればOKでした。めでたしめでたし。
結局、DD-WRTがどうやらWAN側のInterfaceを勘違い(本当はeth1なのにeth2となっていた)しているのが原因だったみたいです。
まぁ実用上問題ないところまで出来たんでOKですね。

最後に感想ですが、メーカー製ファームと違って、色々細かいところがいじれるのがいいですね。
DDNSの更新やRadius認証などの機能も豊富で言うことなしです。
今はRC4なので、正式版が出たら一度ファームアップする予定です。

comments (0) | trackbacks (0)
1/1