サードパーティー製ルーター・ファームウェアTomato
ほとんど知られていないが、LinksysファームウェアのコードはLinuxベースの完全なオープンソースだ。したがって、ファームウェアをカスタマイズし新しい機能を組み込むことで、ルータの機能を拡張することができる。Tomatoはそうしたサードパーティー製ファームウェアの一つで、Linksysのファームウェアはもとより、DD-WRTなどの同種のオープンソース・ファームウェアと比べても優れた機能を備えている。Tomatoをサポートしているルータは多く、Asus、Buffalo、Linksysなどのモデルが対応している。完全なリストはWikipediaと開発者が用意したFAQにある。
インストールは簡単だ。LinuxベースでTomatoに対応しているLinksysのルータの場合は次のようにする。まず、Webインタフェースを開き、AdministrationタブでFirmware Upgradeを選択する。適切なファームウェアをアップロードして再度ログインする。Administrationタブで、Configuration→Restore Default Configurationの順に選択し、デフォルトを再設定する。このとき、必ず、Erase all data in NVRAM (thorough)を選択すること。ルータに再度ログインしTomatoの設定を行う。そのほかのルータについては、Tomatoのダウンロード・パッケージに同梱されているテキスト・ファイルに説明がある。
ルータにインストールしたTomatoには、Web、SSH、Telnetを介してアクセスする。コマンドラインにも対応しているので、WebブラウザやGUIがなくてもBusyBox(GNU Core Utilitiesパッケージに似た標準Unixツール・セット)とDropbear(メモリーが少ない環境向きのSecure Shell互換インタフェース)を使ってリモートからアクセスしルータを管理することができる。その際、ダイナミックDNS(動的IPアドレスと静的ドメイン名(kurtsrouter.dynamicdnsservice.comのようなURL)を結びつける仕組み)がネイティブ・サポートされていると非常に便利だ。その種のルータはDynDNSやNo-IPなど、サードパーティが提供するさまざまなダイナミックDNSサービスに対応している。Webインタフェースは、変更のたびにページ全体を書き換えなくても済むようAJAXを利用している。スタイルシートを変更すれば外観を変えることもできる。
さて、Tomatoが備える、ネットワークの管理と制御を容易にする高度な機能を紹介しよう。その一つ、Wake-on-LANはルータに特別なパケットを送ることでネットワーク上のコンピュータの電源を入れる機能で、スイッチが切ってあるコンピュータにリモートからアクセスするときに便利だ。
ファイアウォール機能もある。これはiptables(ネットワーク・パケットを受け入れるかブロックするかを決めるルールを設定するアプリケーション)を使って管理する。ルータのQuality of Serviceでは、設定可能なルールとフィルタ数の上限が緩和される。QoSを利用すると、プロトコルやユーザーやアプリケーションに応じてデータに優先順位を付け、所望のトラフィックをそうではないデータよりも高速にネットワークに流すことができる。これは、BitTorrentやインスタント・メッセージングなどのサービスが動作しているときにゲームを楽しみたい場合に特に便利だ。
特定のポートから到着するデータを適切なネットワーク機器に転送するポート転送機能では、Universal Plug and Play(UPnP)やDemilitarized Zone(DMZ)などの高度なオプションが追加される。UPnPがサポートされることで、ネットワーク上のデバイスが自分でポート転送情報を設定できるようになる。つまり、デバイスを容易に外部アクセス可能にできるようになる。ただし、UPnPを扱えるトロイ型ウィルスに対してネットワークが脆弱になる点に注意。DMZは、データ・パケットをネットワーク上にありファイアウォールの外にある特定のマシンに送る機能だ。もちろん、そのマシンが安全であることに確信が持てなければ、この機能を使ってはならない。
また、特定のマシンやプロトコルやユーザーをブロックするアクセス保護機能も種々備えており、たとえば大学でワイヤレス・ルータがファイル共有などの望ましくない接続を行わないようにしたい場合に活用できる。
ルータをイーサネット・ブリッジにするのも簡単だ。ブリッジを設置すれば、同じエリア内にあるワイヤレス・ネットワークの信号を強化し、接続性を改善し受信可能エリアを拡大することができる。サポートしているのは802.11bとg。Afterburnerを設定すると、ほぼすべてのワイヤレス機器との互換性は保ちながら、gプロトコルを125Mbpsにまで高速化することができる(一部のルータにあるg+と同じもの)。
Tomatoの特徴はルータ機能だけではない。GUIでは、利用状況に関するグラフをさまざまな時間スケールで表示することができる。グラフの形式は拡大縮小が可能なベクター・グラフィックスだ。ただし、Mozilla FirefoxとApple SafariではそのままでSVGを表示できるが、Internet Explorerの場合はプラグインが必要なので注意。この機能では、過去10分間の利用状況をグラフにして見ることができる。データは2秒ごとに更新される。過去24時間の状況や、日単位、月単位で見ることもできる。組み込みのCommon Internet File SystemクライアントでWindowsやSambaの共有ディスクをマウントし、利用状況のログを保存することもできる。
Tomatoは優れたファームウェアだ。インストールするだけで、ルータを買い換えずにアップグレードすることができる。すべてのルータで使えるわけではないが、Linuxを採用した組み込み型機器が持つ柔軟性を示している。
Kurt Edelbrock 学生にして、技術ジャーナリストでありブロガー。オープンソースに関するさまざまな文章を出版公開。規模の大きい公立大学のための技術コンサルタントとしても活躍。