Linux
 Computer >> コンピューター >  >> システム >> Linux

OpenWrtとは?ルーターにLinuxを導入するメリットと活用術を徹底解説

パソコンやスマートフォンのOSを自分好みのものに入れ替えた経験はあっても、ルーターのOSを入れ替えたことはありますか?もし「ルーターをSSHサーバーやVPN、トラフィック制御システム、BitTorrentクライアントに変身させたい」と思ったことがあるなら、ぜひOpenWrt(オープンダブリュアールティー)を検討してみてください。

OpenWrtは、さまざまなルーターにインストールできる組み込みLinuxディストリビューションです。Webブラウザから操作できる管理画面を備えており、メーカー純正のファームウェアよりも安定して動作することもあります。数日おきにルーターが重くなって再起動せざるを得ない——そんな悩みを抱えているなら、OpenWrtは有力な選択肢になるでしょう。

クラウドコンピューティングやIoTの普及に伴うプライバシーへの関心の高まりを受け、OpenWrtコミュニティは成長を続け、プロジェクト専用のサミットがこれまでに2回開催されるほどになりました。次にルーターのカスタマイズに夢中になるのは、あなたかもしれません。

OpenWrtでできること

ルーター上で動くモジュール型Linuxという発想にワクワクしない人はいないはず。ここでは、ルーターとしての基本機能以外に、OpenWrtで実現できる便利な活用例を紹介します。

  • SSHサーバーによるSSHトンネリング:OpenWrtにはSSHサーバーが含まれており、ターミナルへアクセスできます。SSHサーバーをインターネットに公開する場合は、脆弱なパスワードではなく必ず鍵認証で保護しましょう。リモートから接続し、暗号化された経路経由で通信を転送すれば、公衆Wi-Fiからでも安全にWebサイトへアクセスできますし、海外旅行中でも自国からしか閲覧できないサイトを利用できるようになります。
  • VPNサーバーの構築:SSHトンネリングも多くの点でVPNと似た働きをしますが、OpenWrtルーター上に本格的なVPN環境を構築することも可能です。
  • BitTorrentクライアントとして利用:NASやUSBポート内蔵のルーターにUSBストレージを接続すれば、ルーター本体をBitTorrentクライアントとして動かせます。
  • サーバーソフトウェアの稼働:OpenWrtのソフトウェアリポジトリには、Webサーバー、IRCサーバー、BitTorrentトラッカーなどとして機能させるパッケージが揃っています。すでにルーターを使っているなら、その同じ機器をサーバー代わりにしてみては?そもそもルーターはパソコンより消費電力がはるかに少ないのが強みです。
  • トラフィックシェーピングとQoS制御:ルーターを通過するパケットに対してトラフィックシェーピングやQoS(サービス品質制御)を行い、特定の種類の通信を優先できます。特定のパソコン宛ての通信を優先させ、他の端末の通信を後回しにするといった細かな制御も可能です。
  • ゲストネットワークの作成:OpenWrtの公式Wikiには、メインネットワークとは独立した来客用ワイヤレスネットワークの設定手順が掲載されています(ゲストネットワークの速度制限まで設定できます)。ゲストネットワークを設けるメリットは実にたくさんあります。
  • ネットワークトラフィックのキャプチャと解析:tcpdumpを使えば、ルーターを通過するすべてのパケットをネットワーク共有先に記録でき、そのファイルをWiresharkなどのツールで開いてトラフィックを詳細に分析できます。

これはほんの一例にすぎません。OpenWrtは多彩なソフトウェアパッケージを利用できる組み込みLinuxシステムであり、多くの面でLinuxマシン並みの柔軟性を持ちます。ただし、ハードウェアの制約はパソコンよりはるかに厳しい点には注意が必要です。

OpenWrtのインストール方法

OpenWrtはもともとLinksys WRT54G向けに開発されましたが、現在では対応ルーターのモデル数は大幅に増えています。対応ハードウェアの一覧はOpenWrt公式サイトで確認できます。

OpenWrtの導入は、ルーターの純正ファームウェアをLinuxシステムで置き換える作業です。イメージとしては、スマートフォンにカスタムROMを書き込むのに近いでしょう。公式Wikiでは、4つの異なるインストール方法が詳しく解説されています。

運が良ければ、ファームウェアファイルを選んで「アップグレード」ボタンを押すだけで完了します。そうでない場合は、イーサネットポートやシリアルポート経由でブートローダーにアクセスし、より手作業の多い手順を踏む必要があります。

ターミナルとWebインターフェース

OpenWrtをインストールしたら、WindowsならPuTTYなどのSSHクライアント、LinuxやMacなら標準搭載のsshコマンドを使って、BusyBoxシェルにアクセスできます。BusyBoxは組み込みLinuxシステムで広く使われているシェルで、OpenWrtにはviテキストエディターなどのおなじみのツールも収録されています。他のLinuxシステムと同様に、さまざまなスクリプトを実行したり、cronジョブを設定して定期的に処理を実行したりすることも可能です。

パッケージの管理にはopkgパッケージマネージャーが使われ、リポジトリには数千ものパッケージが登録されています。システムの設定にはUCI(Unified Configuration Interface)が採用されており、詳しい情報はすべてOpenWrt公式Wikiで確認できます。

OpenWrtとは?ルーターにLinuxを導入するメリットと活用術を徹底解説

とはいえ、コマンドラインの知識がなくても心配いりません。OpenWrtにはLuCIというWebベースの管理画面が標準搭載されています。LuCIには多様な設定ページが用意されており、パッケージマネージャーのページからは、利用可能なパッケージの閲覧・検索・インストールが行えます。

インストールできるパッケージの数は、ルーターの空きストレージ容量次第です。すべてを入れる余地はまずありません。しかしOpenWrtのモジュール構造のおかげで、必要な機能だけを選び、自分だけのルーター用OSを組み立てられるのです。

一部のソフトウェアパッケージにはLuCI用の設定ページも用意されており、インストール後に簡単に設定できます。ただし、OpenWrt向けの全ソフトウェアがLuCIインターフェースを持つわけではないため、一部の設定ではターミナルでの作業が必要になる点は覚えておきましょう。

あなたのルーターにOpenWrtは必要?

OpenWrtが万人にとって最適解というわけではありません。大多数の人は、純正ファームウェアで十分満足できるはずです。また、DD-WRTのような「置き換えるだけで使える」代替ファームウェアを好む人もいます。OpenWrtはより柔軟性が高い反面、単に多機能なWeb管理画面が欲しいだけであれば、別の代替ファームウェアの方が向いているかもしれません。

画像クレジット:Mayuree Moonhirun via Shutterstock.com

  1. Flutterとは何か?2020年に学ぶべき理由を徹底解説

    近年、モバイルアプリケーションの人気はますます高まっています。幸いなことに、開発者向けには数多くのプログラミングツールが用意されており、その中でも最近特に注目を集めているのがFlutterです。 Flutterとは? Flutterは、Googleが開発し2017年5月にリリースした、無料のオープンソースモバイルUIフレームワークです。一言でいえば、単一のコードベースでネイティブモバイルアプリを作成できるフレームワークです。つまり、1つのプログラミング言語と1つのコードベースを使って、iOSとAndroidという2つの異なるプラットフォーム向けアプリを同時に開発できるのです。 Flutt

  2. Flutterとは何か?2020年に学ぶべき理由を徹底解説

    近年、モバイルアプリケーションの人気はますます高まっており、それに伴い開発者向けのツールも数多く登場しています。その中でも、ここ最近特に注目を集めているのがGoogle製のフレームワーク「Flutter」です。本記事では、Flutterの基本概要から、2020年に学ぶ価値のある理由までを詳しく解説します。Flutterとは?Flutterは、Googleが2017年5月にリリースした無料のオープンソース・モバイルUIフレームワークです。最大の特徴は、たった1つのコードベースでネイティブアプリを作成できるという点です。つまり、1つのプログラミング言語と1つのコードベースを使って、iOSとAndr