Tomato Firmware を使う

Buffalo WHR-G54SにTomato Firmware v1.25をインスツールして使う

Tomato Firmwareというのは市販の無線ルーターにインスツールして使えるフリーのファームウエアーです。
低機能ルーターが数万円する高機能ルーターに匹敵する高機能マシンに変身するという優れものです。
CPUは変わらないので処理速度は期待できませんが、高機能なのでいろいろ遊べそうです。


Tomatoホームページ http://www.polarcloud.com/tomato
TomatoVPN http://tomatovpn.keithmoyer.com/
TomatoWikibook http://en.wikibooks.org/wiki/Tomato_Firmware
無線 LAN ルータのファームウェアー入れ替え http://www.yya.homeip.net/~dankou/Prof.Gill/other/tomato/tomato.html

Buffalo WHR-G54Sに適用できるのは tomato.trx
ファーム書き換えに使うバッチファイル whr_install.bat も入っている


初期IPは 192.168.1.1
初期ID/PWは root/admin
以下いろいろな設定を試してみました。

-----------------------------------------------------------------------

【1.普通に無線つきブロードバンドルーターとして使う場合】

LAN側はデフォルトでOK
LAN側はDHCP ONで,ルーターのIPは192.168.1.1。機器のIPは192.168.1.100から割り振られる
DHCPを使いたくない場合は
Basic
 Network
  LAN
   DHCP Server のチェックを外す

WAN側の設定は必要
Basic
 Network で設定
DHCPの場合
 WAN/Internet
  TypeにDHCPを選択
PPPoEの場合
 WAN/Internet
   TypeにPPPoEを選択
  Username, Password を設定
WAN側IP固定で使用する場合
 WAN/Internet
  TypeにStaticを選択
  IP Address, Subnet Mask, Gateway を設定
 LAN
  Static DNS に親ルーターのIPを設定

無線もそのまま使えるがセキュリティーが全く設定されていないので設定が必要
-----------------------------------------------------------------------

【2.無線アクセスポイントとして使う場合】

Basic
 Network
  WAN/Internet
    Type をDisabledにする
    Use Wan port for LAN をチェック
 LAN
  Router IP Address に使いたいIPを設定---設定画面を開くとき使う
  Subnet Mask 普通は255.255.255.0
  Default Gateway 0.0.0.0 でOKだが本体の時刻の取得のためには親ルーターのIPを入れる
  Static DNS 0.0.0.0 でOKだが本体の時刻の取得のためには親ルーターのIPを入れる
 DHCP Server チェックを外す
 Wireless --- デフォルトのままでもOK
  EnableWirelessをチェック
  WirelessMode AccessPoint
  B/GMode Mixed
  SSID wireless 使う名前に変更
  Broadcast チェック -- チェックを外すとステルスモード
  Channnel 6 使うチャンネルに変更
  Security Disabled 変更するとそれぞれのダイアログボックスが表示されるので設定

-----------------------------------------------------------------------

【3−1.イーサネットコンバーターとして使う場合】

Basic
 Network
 Wireless
  WirelessMode を Wireless Ethrnet Bridge に変更すると WAN/Internet Type と LAN DHCP Server の項目が消える

  WAN/Internet
    Use Wan port for LAN をチェック(しなくてもOK チェックしてあるとWANポートもLANポートとして使える=5ポートになる)
 LAN
  Router IP Address に使いたいIPを設定---設定画面を開くとき使う
  Subnet Mask 普通は255.255.255.0
  Default Gateway 0.0.0.0でOKだが本体の時刻の取得のためには親ルーターのIPを入れる
  Static DNS 0.0.0.0でOKだが本体の時刻の取得のためには親ルーターのIPを入れる
  DHCP Server チェックを外す
 Wireless
  Wireless Mode を Wireless Ethrnet Bridge に(上で設定済み)
  SSID wireless* 親機の名前に変更
  Channnel 1-2.412Ghz など親機のチャンネルとあわせる、自動でスキャンなどはしない
  Security Disabled 変更するとそれぞれのダイアログボックスが表示されるので親機に合わせて設定
親機で MAC Address 制限をかけている場合は
 Wireless
  MAC Address に書かれているアドレスを親機に登録

*SSIDでハマってしまって最初接続できなかった。
無線親機としての設定から始めたのでSSIDはデフォのwirelessのままでやっていたが、
イーサネットコンバーターは子機なのでここでのSSIDは当然親機のSSIDを指定しなければならないに決まっている。
思い込みと勘違いというのは恐い。

-----------------------------------------------------------------------
WirelessMode の Wireless Client というのがよく解らなかったが以下のようだ

【3−2.イーサネットコンバーター+ルーターとして使う場合】

Basic
 Network
 Wireless
  WirelessMode を Wireless Client に変更すると WAN/Internet Type と LAN DHCP Server の項目が復活

 WAN/Internet
  Typeに DHCP または Static を選択。設定は【1.】を参照
  WAN/Internet
    Use Wan port for LAN をチェック
 この項目は【1.】では出てこない。つまりここではWANポートは必要ない(使わない)ということ。
 5つのポートは等価なLANポートとして機能する。

 LAN
  Router IP Address に使いたいIPを設定---ルーターとして機能するので親のサブネットとは違える必要がある
  Subnet Mask 普通は255.255.255.0
  Static 親ルーターのIPを入れる
  DHCP Server 使うならチェック、使わないならチェックを外す

 Wireless
  Wireless Mode を Wireless Client に(上で設定済み)
  SSID wireless* 親機の名前に変更
  Channnel 1-2.412Ghz など親機のチャンネルとあわせる、自動でスキャンなどはしない
  Security Disabled 変更するとそれぞれのダイアログボックスが表示されるので親機に合わせて設定
親機で MAC Address 制限をかけている場合は
 Wireless
  MAC Address に書かれているアドレスを親機に登録

WAN側が無線のルーター もしくは イーサネットコンバータの下にルーターをつないだような機能といった感じか。
-----------------------------------------------------------------------

【4.リピーターとして使う場合】

Basic
 Network
  WAN/Internet
    Type をDisabledにする
    Use Wan port for LAN をチェック(しなくてもOK チェックしてあるとWANポートもLANポートとして使える=5ポートになる)
 LAN
  Router IP Address に使いたいIPを設定---設定画面を開くとき使う
  Subnet Mask 普通は255.255.255.0
  Default Gateway 0.0.0.0でOKだが本体の時刻の取得のためには親ルーターのIPを入れる
  Static DNS 0.0.0.0でOKだが本体の時刻の取得のためには親ルーターのIPを入れる
  DHCP Server チェックを外す
 Wireless
  Wireless Mode を Access Point + WDS または WDS
  SSID wireless 使う名前に変更
  Broadcast チェック -- チェックを外すとステルスモード
  Channnel 6 相手のチャンネルとあわせる
  Security Disabled 変更するとそれぞれのダイアログボックスが表示されるので相手に合わせて設定
  WDS を Link With...
  MAC Address に相手のMACアドレスを設定

WDSの場合接続相手にもこちらの情報を設定する必要がある
 Wireless
  MAC Address に書かれているアドレスを相手に登録

この設定は無線でブリッジするための設定。メインルーターとして使用するときは、WANやDHCPの設定が必要
-----------------------------------------------------------------------
-----------------------------------------------------------------------

その他の設定

【WAN側からのアクセスを有効にする】
Administration
 Admin Access
  RemoteAccessをDisabledからHTTPに変更
  Portのダイアログが現れるので80に設定

【WAN側からのPingに返答する】
Advanced
 Firewall
  Respond to ICMP ping をチェック

【無線のセキュリティー設定】
[SSIDの変更]
Basic
 Network
  Wireless
   SSID のテキストボックスに記入
[ステルスモード]
Basic
 Network
  Wireless
   SSID
    Broadcast のチェックを外す
[暗号化]
Basic
 Network
  Wireless
   Security のコンボボックスを変更すると下に必要な項目が出てくる
    初期値はDisabledで誰でもアクセスできる状態。せめてWEPぐらいはかけましょう。
    なおWEPのキーは16進表記しかサポートしないので、文字列を16進に直して設定する必要がある。
    単純にASCIIコードを並べただけなのでASCIIコード表を見ながら変換すればいい。
   (例)TEST → 54455354
[MACアドレス制限]
Basic
 Wireless Filter
  Permit only the following clients をチェックして
  MACアドレスを登録する

【本体パスワードの変更】
Administration
 Admin Access
  Password
   Password
   (re-enter to confirm)

【バンド幅のグラフを表示する】
FAQに書いてあるが、使用しているブラウザによって
Firefox や Operaを使っているなら最新版にアップグレード
Internet Explorerを使用しているならAdobe SVG Viewerをインスツール
http://www.adobe.com/svg/viewer/install/main.html

【NAT/IPマスカレードのON/OFF】
Advanced
 Routing
  Miscellaneous
   Mode を GatewayでON RouterでOFF だと思う(自信なし)

【CFE.binのダウンロード】
Administratiom
 Debugging
  Download CEF
をクリックするとCFE.binがダウンロードできる

-----------------------------------------------------------------------
【おまけ】
アスキーコード表(キャラクタコード表)
表組みが崩れているのでメモ帳にコピペして使ってください

00 10 20 30 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0
00 NL DE SP 0 @ P ‘ p       ー タ ミ    
01 SH D1 ! 1 A Q a q     。 ア チ ム    
02 SX D2 ” 2 B R b r     「 イ ツ メ    
03 EX D3 # 3 C S c s     」 ウ テ モ    
04 ET D4 $ 4 D T d t     、 エ ト ヤ    
05 EQ NK % 5 E U e u     ・ オ ナ ユ    
06 AK SN & 6 F V f v     ヲ カ ニ ヨ    
07 BL EB ’ 7 G W g w     ァ キ ヌ ラ    
08 BS CN ( 8 H X h x     ィ ク ネ リ    
09 HT EM ) 9 I Y i y     ゥ ケ ノ ル    
0A LF SB * : J Z j z     ェ コ ハ レ    
0B HM EC + ; K [ k {     ォ サ ヒ ロ    
0C CL → , < L ¥ l |     ャ シ フ ワ    
0D CR ← − = M ] m }     ュ ス ヘ ン    
0E SO ↑ . > N ^ n  ̄     ョ セ ホ ゛    
0F SI ↓ / ? O _ o DL     ッ ソ マ ゜    
-----------------------------------------------------------------------
【おまけ2】
WEPキー文字列→16進文字列変換スクリプト
VB Script で作成してあります
メモ帳(notepad.exe)を起動して、以下の指定範囲をコピーします。
ファイル→名前を付けて保存のダイアログを開いて
ファイル名:WEP文字列16進変換.vbs (名前は何でもいいのですが拡張子は大切)
ファイルの種類:全てのファイル (←重要!)
にして保存します。
出来たファイルをダブルクリックすると動くはずです
13文字のWEPキーを入力すると、16進表記に変換して、同じフォルダーに
WEP_Key.txtという名前で保存します。

'-------------↓ここから--------------------------------------------------------
'文字列16進変換.vbs
'入力された文字列を16進文字列に変換する '結果を表示した後 WEP_Key.txt に結果を書き出す

Mojiretu=inputbox("WEP_Key文字列を入力してください"+Chr(13)+"13文字です")

if Len(Mojiretu)<>13 Then
  gbox "文字数が13文字ではありません。"
  WScript.Quit 1
End If

dim a
dim b
dim c
b=""
c=""
For I=1 To Len(Mojiretu)
  a=Mid(Mojiretu, I, 1)
  b=b+CStr(Hex(Asc(a)))+" "
  c=c+CStr(Hex(Asc(a)))
Next

if MsgBox(Mojiretu+Chr(13)+"↓"+Chr(13)+b+Chr(13)+"結果をファイルに保存します",vbOKCancel) = vbCancel Then
  WScript.Quit 1
End If

Set fso = CreateObject("Scripting.FileSystemObject")
Set fl = fso.CreateTextFile("WEP_Key.txt", true)
fl.WriteLine Mojiretu + "→" + c
fl.close
'---------------↑ここまで---------------------------------------------------

【おまけ3】
どうでもいいことですが、Tomato Firmware のWEB設定画面を開くと、アイコンが「トマト」になります。
設定画面に表示されるペンギンとトマトもかわいいです。



TOPに戻る

2010/3/10