自分だけのルーターを作る:OpenWrt、R2S Plus

自分だけのルーターを作る:OpenWrt、R2S Plus

この記事は他の言語でも読めます。

ルーターは、私たちが使っているほとんどのコンピューターと大差ありません。ネットワーク処理に特化したハードウェアとソフトウェアで構成された、特殊なコンピューターにすぎません。なので理論上は、一般的なコンピューターをルーターとして使うことも、ルーターを一般的なコンピューターとして使うこともできます。

しかし、市販のルーターはメーカー独自の OS(ファームウェア)でしか使えないようになっています。こうした OS は一般の人でも使いやすく作られているという長所がありますが、付加機能が少なく、長期的なセキュリティアップデートも期待しにくいです。

そのため、以前からオープンソース陣営では、メーカーの OS の代わりに使えるさまざまなルーター用 OS をリリースしてきました。その代表が OpenWrt プロジェクトです。OpenWrt は、対応している市販ルーターの OS の代わりにインストールすることも、市販ルーターでなくても好きなハードウェアにインストールして使うこともできます。

私は OpenWrt を使ってみるために、オープンソースハードウェアの NanoPi R2S Plus を購入しました。FriendlyElec という会社が OpenWrt での利用を想定して設計した小さなコンピューターです。この記事では、このハードウェアに OpenWrt をインストールして使ってみた経験をお話しします。


ハードウェア:NanoPi R2S Plus

私が購入した、FriendlyElec のオープンソースハードウェア R2S Plus です。

スペックは次のとおりです。

  • CPU: Rockchip RK3328 (4 Cores, ARM)
  • RAM: 1GB DDR4
  • Storage: 32GB eMMC
  • Network: 2x Gigabit Ethernet

スペックだけ見ると、コンピューターとしては本当にささやかなものに見えます。しかし、同じくらいの価格の市販ルーターの RAM がわずか 256MB であることを考えると、実はかなりの高スペックです。ルーターはネットワーク処理だけをするコンピューターなので、私たちが使うパソコンのような高スペックのハードウェアである必要はありません。

ところが写真のとおり、Wi-Fi もなく、有線 LAN ポートも 2 つしかありません。とはいえ、私は既存のルーターを「ブリッジ」モードで一緒に使うつもりだったので、十分だと考えました。ブリッジモードとは、簡単にいえば、追加の LAN ポートと Wi-Fi の送受信は既存の市販ルーターが担当し、実際のネットワーク処理は R2S Plus が担当するという意味です。(R2S Plus の購入時に Wi-Fi モジュールを追加することもできます。)

このモデルの大きな長所は電力効率です。R2S Plus は USB Type-C で給電でき、PC の USB ポートの電力でも動くほど消費電力がとても少ないです。ルーターを常時つけっぱなしにする人や、ノートパソコンと一緒に持ち歩いて使う人に向いていると思います。

最後に、NanoPi の製品は OpenWrt の公式サポートを受けられる可能性が高く、そうでなくてもメーカーが OpenWrt の配布を続けてくれます。これは、ソフトウェアのアップデートが継続的に行われ、安定して使えるということです。市販ルーターよりハードウェアのスペックも高いので、より長期的なサポートが期待できると考えて決めました。

💡 FriendlyElec が配布している OpenWrt は、FriendlyWrt という名前で提供されています。R2S Plus の OpenWrt は、まだ公式にはサポートされていません。


OpenWrt はどうですか?

OpenWrt のインストールはとても簡単でした。FriendlyElec のサイトからダウンロードした OpenWrt のイメージを microSD カードに書き込んで本体に挿し、電源をつなげば終わりです。その後は、ブラウザから普通のルーターと同じように手軽に操作できました。

ユーザーインターフェースにも、慣れるのに大きな苦労はありませんでした。パスワード設定、DHCP の IP 固定、DDNS 設定といった一般的な機能は、市販ルーターと大きな違いはないと感じました。私にとって重要な機能である VLAN も、難なく設定できました。私が設定したネットワークの簡単な構成図は次のとおりです。

R2S Plus の WAN はインターネットプロバイダーに直結し、LAN は既存のマネージドスイッチにつないで、用途ごとに VLAN グループを割り当てました。スイッチのおかげでポート数が少ない問題を解決でき、VLAN の分離によるセキュリティも確保できました。もしスイッチがなかったら、普通のルーターをブリッジモードでつないでいたと思います。

それまで使っていたルーター OS は OPNsense です。FreeBSD ベースの、本当にさまざまな機能を備えたルーターソフトウェアです。これだけで私の要件は十分満たせましたが、必ず x64 ベースのハードウェアが必要で、設定が複雑という短所がありました。

それに比べて OpenWrt は比較的簡単な設定で済み、私には十分な機能を提供してくれると感じました。VPN や DNS のようなサービスはサーバークラスタで動かしているので、付加機能はほとんど使いませんでした。最後に、サーバーラックの OS が Linux に統一されたことに、なんとも言えない安心感がありました。


性能は十分ですか?

ホームサーバー用としては十分です。

私にとって家は遊び場であり研究室でもあります。なので、ネットワークの使用量は一般家庭より少し多めです。ホームサーバーにさまざまなサービスを載せて知人たちと一緒に使っていて、特に Nextcloud を外出先からよく使うので、大容量のトラフィックもちゃんと処理できるか気になっていました。

結果は、以前使っていたはるかに強力な x64 ルーター(Intel N100)とほとんど変わりませんでした。実は予想どおりでした。私のホームサーバーは同時接続数が多くても 30 人を超えず、付加サービスはすべてサーバーラックで動かしているので、ルーターに負荷がかかることはほとんどなかったからです。唯一の問題は、インターネットの料金プランによる速度制限でした。

特にベンチマークは取っていませんが、一般家庭や個人のホームサーバー用途なら十分だと思います。実際、これより性能の低いルーターもたくさん使われているので、オーバースペックともいえます。ただ、Wi-Fi モデルの送受信性能についてはよくわかりません。

必要であれば、ほぼ同じスペックのモデルの R2S のレビュー を参考にしてください。


買う価値はありますか?

私にとってはよかったです。でも、誰にでも向いている製品ではありません。

私が R2S Plus を買ったのは、それまでのファンレス x64 ルーターを置き換えるためでした。その製品の N100 は低消費電力・低発熱の CPU なのに、電源を入れておくだけで本体の表面が触れないほど熱くなっていました。

それでも、ちゃんと動いてさえいれば、なんとなく使い続けていたと思います。ところが夏になって気温が上がると、ラックのルーターが強制終了する問題が起きました。わざわざファンレスで買ったコンピューターにファンを付けたくはなかったので、結局ルーターを交換することにしました。

そんな状況で、R2S Plus は私にぴったりの製品でした。ファンレス、低消費電力、低発熱、安い価格、十分な性能と、私が求める条件をすべて満たしていたからです。それで、Wi-Fi を追加したモデルをもう 1 台買いました。

ただし、x64 ベースのルーターには、R2S Plus のような ARM ベースのルーターに比べて大きな長所があります。一般的な汎用 OS がすべて動くことです。OpenWrt だけでなく、pfSense や OPNsense のような強力なファイアウォールソリューションが必要なら、x64 ベースのルーターを選ぶほうがよいと思います。

これで記事を終わります。おすすめのルーターや OS があれば、コメントで教えてください。ありがとうございました。

author profile
winetree94

ウェブフロントエンドエンジニア兼、自室の DevOps エンジニアです。
コツコツ書くブロガーになりたいのですが、そうするには怠けすぎています。