汎用的なPCや組み込み機器をルーターとして利用することが可能になる「OpenWrt」。最近では仮想環境にインストールして利用する人が多く、筆者も最終的にはProxmoxのLXCで使うつもりだが、今回は実機へのインストール方法を紹介する。
通常のLinuxと比べると、面倒で、注意点もあるが、余ったPCなどで遊ぶのにお勧めだ。
PCをルーターとして動かす
OpenWrtは、オープンソースで開発が進められている組み込みデバイス向けのLinuxディストリビューションだ。一時期、LEDEとOpenWrtの2つのプロジェクトに分かれる状況だったが、2018年に統合され、OpenWrtとして統一されることになった。
一般的なLinuxディストリビューションと異なり、主にネットワークやWi-Fi関連の機能を中心に実装されており、PCや組み込み機器にインストールすることで、市販のWi-Fiルーターの代わりとして利用できる。
Wi-Fiの利用に関しては、使い方によっては法的に問題になるケースがあるため、おすすめしないが、PCなどにインストールすることで、高機能かつ高性能な有線ルーターを手軽に構築できる。
今回は、AliExpressで購入したN5105+2.5Gbps×4搭載のファンレスPCにインストールしてルーターにする方法を紹介するが、OpenWrtの場合、WANとLANの2つのポートが必要なので、ネットワークポートが2つ以上あるPCを利用する必要がある。
OpenWrtを実機にインストールする場合の課題
OpenWrtをPCの実機にインストールする場合、一般的なLinuxディストリビューションと異なり、インストールにひと工夫必要になる。そのポイントを押さえながら、インストールの手順を紹介する。
Step 1:OpenWrtイメージをダウンロードする
今回は、x86環境にインストールするので、x86用のイメージをOpenWrtのサイトからあらかじめダウンロードしておく。
以下のダウンロードサイトに、過去のバージョンやプラットフォームごとにイメージが保存されているので、x86用の最新版をダウンロードする。
▼OpenWrtイメージのダウンロード
Index of (root) / releases /(downloads.openwrt.org)
本稿執筆時点(2023年3月)では最新版が22.03.3なので、「22.03.3」→「targets」→「x86」→「64」を開き、環境に合わせたイメージをダウンロードしておく。今回は、UEFI環境でext4フォーマット向けのイメージとなる「generic-ext4-combined-efi.img.gz」をダウンロードした。
Step 2:イメージをストレージに書き込む
イメージをダウンロードしたら、インストール先のPCのストレージに書き込む。このイメージはインストーラーではなく、OpenWrtの実体そのものなので、インストール先に「直接」書き込む必要がある。
もちろん、USBメモリに書き込んで起動することもできるので、お試しで動かしたいならUSBメモリでもかまわない。
インストール先のPCからストレージ(今回はSATA 250GBを使用)を取り出し、USB接続のケースなどに入れ、別のPCに接続してツールを使ってイメージを書き込む。
書き込み用のツールはいろいろあるが、今回はWindows環境を使って書き込むため、広く利用されている「Rufus」を使って書き込んだ。
▼Rufusのインストール
Rufus(Microsoft Store)
Rufusは、標準ではUSB接続のHDD/SSDが書き込み先として表示されないので、[詳細なドライブプロパティ]で[USB接続のHDDを一覧表示]にチェックを入れておくのがポイントとなる。ほかの設定は標準のまま、ダウンロードしたOpenWrtのイメージを指定して書き込めばいい。
Step 3:ストレージを取り付けて起動する
書き込みが完了したら、USBケースからSSDを取り出して、OpenWrtとして稼働させるPCに接続し直す。
必要に応じてPCのUEFIでブートなどの設定を整えたら、電源を入れて起動すれば、SSDに書き込まれたOpenWrtのイメージでPCを起動できる。
Step 4:ネットワーク経由でLuCIにアクセスする
起動が完了したら、ネットワーク経由でOpenWrtの管理画面にアクセスして、動作を確認する。
環境によって異なるので、一概には言えないが、今回のPCの場合、4つあるLANポートのうち、Eth0がLAN、Eth1がWANとして構成され、LAN側に192.168.1.1のアドレスが割り当てられていた。
このため、Eth0にPCを接続し、ウェブブラウザーで「https://192.168.1.1」にアクセスすることで、ウェブ管理画面となる「LuCI」にアクセスできた。
OpenWrtでは、管理者アカウントである「root」のパスワードが標準では空に設定されているので、そのままサインインできる。サインイン後、[System]の[Administration]からすみやかにパスワードを設定しておこう。
Step 5:ルーターとして構成する
起動後は、自宅の環境に合わせて設定すればいい。インターネット接続などの設定は[Network]の[Interface]にあるので、IPv4関連の設定は[WAN]で、IPv6の設定は[WAN6]で、DHCPサーバーなどのLAN側の設定は[LAN]から変更できる。
なお、IPv6 IPoE環境で、MAP-EやDS-LiteなどのIPv4 over IPv6接続方式を利用している場合は、追加のパッケージが必要になる。
筆者はDS-Lite環境でしか動作確認をしていないので、MAP-Eで確実に動作するとは言えないが、基本的には[System]の[Software]から「MAP-E」や「DS-Lite」などのパッケージを追加し、再起動すると、[Interface]の[WAN]で接続方式として選択可能になるので、接続設定をすればいい。
もちろん、IPv6が正しく構成されていることが前提だが、通常は、標準設定でIPv6が自動構成されるはずだ。
Step 6:ルートのストレージ容量を増やす
上記の設定でそのまま使ってもかまわないのだが、標準のイメージではルートのパーティションが100MBほどしか確保されていない。
装着したストレージがもったいない上、パッケージのインストールなどで容量が欲しいので、今回はルートの容量を拡張しておく。
といっても、OpenWrt上からストレージを拡張することはできないので、オフラインにした状態で別のツールを使ってパーティションをリサイズする。
これも方法はいろいろあるが、今回は「GParted」を利用した。
▼GNOME Partition Editor(GParted)のダウンロード
GNOME Partition Editor
上記サイトからイメージをダウンロードし、Step 2で紹介したのと同様に、Rufusを利用してUSBメモリに書き込んでおく。
このUSBメモリをOpenWrtをインストールしたPCに装着。UEFIでUSBメモリから起動するように設定を変更して起動すると、キーマップと言語の選択後、画面のメッセージに従って「0」でブートを継続すれば、GUIのパーティション管理ツールが起動する。
画面上でルートのパーティション(通常はsdb)を選択後、メニューの[パーティション]-[リサイズ]を選択し、好みの容量に拡張すればいい。
最後に、ツールバーの緑のチェックマークとなる[全ての操作を適用します]を選択し、設定を書き込んでから、再起動すればいい。
OpenWrt起動後、[Status]からストレージ容量を確認すれば容量が増えているはずだ。
Dockerなどを追加して楽しむこともできる
以上、OpenWrtをPCにインストールする方法を紹介した。ルーターとして利用できるのはもちろんだが、Dockerをインストールして各種サーバーアプリケーションを同時に利用することもできるので、汎用的なサーバーとしても活用できるだろう。
市販のルーターと違って設定に苦労するかもしれないが、そこも楽しみの一つと言える。余ったPCなどがある場合は、試してみるといいだろう。