サードパーティー製ルーター・ファームウェアTomato

 お手持ちのルーターがBroadcomをベースとする広く使われているモデルなら、サードパーティー製ファームウェア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)を結びつける仕組み)がネイティブ・サポートされていると非常に便利だ。その種のルータはDynDNSNo-IPなど、サードパーティが提供するさまざまなダイナミックDNSサービスに対応している。Webインタフェースは、変更のたびにページ全体を書き換えなくても済むようAJAXを利用している。スタイルシートを変更すれば外観を変えることもできる。