清水理史の「イニシャルB」

PCを自宅ルーターに! x86版OpenWrtのインストール手順を解説

ルーターとして利用できるOpenWrt

 汎用的な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を利用する必要がある。

今回利用したファンレスのミニPC。2.5Gbps対応の有線LANポート×4を搭載している

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」をダウンロードした。

x86用向けのext4、EFI向けイメージをダウンロードした

Step 2:イメージをストレージに書き込む

 イメージをダウンロードしたら、インストール先のPCのストレージに書き込む。このイメージはインストーラーではなく、OpenWrtの実体そのものなので、インストール先に「直接」書き込む必要がある。

 もちろん、USBメモリに書き込んで起動することもできるので、お試しで動かしたいならUSBメモリでもかまわない。

 インストール先のPCからストレージ(今回はSATA 250GBを使用)を取り出し、USB接続のケースなどに入れ、別のPCに接続してツールを使ってイメージを書き込む。

 書き込み用のツールはいろいろあるが、今回はWindows環境を使って書き込むため、広く利用されている「Rufus」を使って書き込んだ。

▼Rufusのインストール
Rufus(Microsoft Store)

 Rufusは、標準ではUSB接続のHDD/SSDが書き込み先として表示されないので、[詳細なドライブプロパティ]で[USB接続のHDDを一覧表示]にチェックを入れておくのがポイントとなる。ほかの設定は標準のまま、ダウンロードしたOpenWrtのイメージを指定して書き込めばいい。

Rufusを使って書き込み

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のアドレスが割り当てられていた。

LANはブリッジされたEth0で、WANがEth1となっていた

 このため、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が自動構成されるはずだ。

DS-Liteの場合は、パッケージを追加後、再起動するとWAN側で選択可能になる

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]からストレージ容量を確認すれば容量が増えているはずだ。

GPartedでルートのサイズを拡張する

Dockerなどを追加して楽しむこともできる

 以上、OpenWrtをPCにインストールする方法を紹介した。ルーターとして利用できるのはもちろんだが、Dockerをインストールして各種サーバーアプリケーションを同時に利用することもできるので、汎用的なサーバーとしても活用できるだろう。

 市販のルーターと違って設定に苦労するかもしれないが、そこも楽しみの一つと言える。余ったPCなどがある場合は、試してみるといいだろう。

清水 理史

製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できるWindows 11」ほか多数の著書がある。