前回は、Redmi路由器 AC2100 (以下Redmi AC2100)にOpenWRTをインストールしました。今回は、OpenWRTでWi-Fiアクセスポイント(AP)の設定を行います。なお、今回はルーターとしてではなく、あくまでWi-Fiアクセスポイントとしての設定を進めていきます。ルーター(PPPoE)としての設定については、Seeed Studio LinkStar-H28Kで作る超小型OpenWRTルーターの記事で紹介しています。
前回は、Xiaomiの純正ファームウェアの管理画面からエクスプロイト (exploit) を用いてSSHを有効化し、OpenWRTをインストールしました。この作業では、XiaomiのルーターのデフォルトIPアドレスである192.168.31.1にアクセスするため、192.168.31.0/24ネットワーク上の環境で作業を行いました。前回の手順が完了し、システムがOpenWRTのファームウェアに書き換わった後、デフォルトIPアドレスは192.168.1.1に変更されているため、作業を続けるには192.168.1.0/24ネットワークに接続する必要があります。PCとRedmi AC2100のLANポート (LAN1~LAN3のいずれか) をネットワークケーブルで接続し、以下の設定を行います:
- IPアドレス:192.168.1.2~192.168.1.254
- サブネットマスク:255.255.255.0
- デフォルトゲートウェイ:192.168.1.1
- DNS:設定不要
この設定により、PCが192.168.1.0/24ネットワークに参加できるようになります ("/24"はサブネットマスクのビット数を示し、2進数で11111111111111111111111100000000、ドット付き10進数で255.255.255.0に対応します)。

Redmi AC2100がOpenWRTで起動すると、ログイン画面が表示されます。OpenWRTのデフォルトのUsernameは「root」、パスワードは「password」です。「Log in」ボタンをクリックしてログインします。

セキュリティ上、初期パスワードを使用し続けるのは危険です。そのため、新しい管理者パスワードを設定します。黄土色の警告ボックスに「No password set!」と表示されているので、右側の「Go to password configuration...」をクリックしてパスワード設定画面に移動します。

「Router Password」にはOpenWRTの新しい管理者パスワードを設定します。第三者に推測されにくいユニークなパスワードを2回入力し、右側の「Save」ボタンをクリックして保存します。

パスワードの設定が完了すると、くすんだシアン色のボックスに「The system password has been successfully changed」と表示されます。「Dismiss」ボタンをクリックします。「No password set!」の警告表示は残っていますが、無視して問題ありません。

次に、Redmi AC2100を既存のLANに接続します。今回は192.168.0.0/24ネットワークに接続し、IPアドレスを192.168.0.xに設定します。
OpenWRTの初期設定では、デバイスのIPアドレスは192.168.1.1/24に設定されています。このため、ネットワーク設定を変更する必要があります。最上部メニューの「Network」タブをクリックし、「Interfaces」を選択します。
Redmi AC2100の初期状態では、インターフェースとして「lan」、「wan」(IPv4)、「wan6」(IPv6)の3つが表示されます。今回はWi-Fiアクセスポイントとしてのみ使用するため、「wan」と「wan6」の設定は変更せず、使用しません。
LAN設定を変更するため、「lan」の行の右側にある「Edit」をクリックします。

設定画面の下部にある「IPv4 address」の項目でRedmi AC2100のIPアドレスを変更します。例えば、192.168.0.64のように設定します。サブネットマスクは初期値で255.255.255.0になっているので、多くの家庭や小規模なオフィス環境では多くの場合は変更の必要はありません。「IPv4 gateway」はLAN内の他のルーター(インターネット接続しているルーター等) のIPv4アドレスに設定します。今回はRedmi AC2100はアクセスポイント専用のデバイスとするため「IPv4 gateway」にRedmi AC2100のIPアドレスを入力しないようにします。
「IPv4 broadcast」にはLAN内の最大アドレスを指定します。LANのサブネットマスクが255.255.255.0の場合、アドレスの最後は255で終わります。例えば、192.168.0.0/24のネットワークでは192.168.0.255を指定します。設定が完了したら、右下の「Save」ボタンをクリックして保存します。

「Interfaces」画面に戻りますが、この時点では変更は保留されています。設定を反映するには、必ず「Save & Apply」ボタンをクリックします。

黄色のポップアップが表示されるので「Apply and keep settings」をクリックします。
Redmi AC2100の背面にあるLANポート(LAN1〜LAN3のいずれか)を、ネットワークのLANに接続します(通常はLANのL2スイッチに接続します)。PCのネットワークケーブルをRedmi AC2100のLANポートから外して、ネットワークのLANに接続します(通常はLANのL2スイッチに接続します)。
PCのブラウザでRedmi AC2100のIPアドレスを入力して、管理画面にログインします。

管理画面にログインすると、OpenWRTではまずステータス画面が表示されます。画面上部の「Network」タブから「Wireless」(Wi-Fi)項目をクリックします。

画面の上半分に「Wireless Overview」が表示され、ここにはWi-Fiの2.4GHz帯と5GHz帯の状態および設定ボタンが表示されます。「802.11b/g/n」は2.4GHz帯、「802.11ac/n」は5GHz帯を指します。画像はWi-Fi設定済みで通信中の状態ですが、OpenWRTの初期設定では「Wi-Fi無効」になっているため、最初はWi-Fiのステータスは空の状態のはずです。2.4GHz帯と5GHz帯のどちらを先に設定しても構いませんが、今回は2.4GHz帯から設定します。「802.11b/g/n」側の「Edit」ボタンをクリックします。

2.4GHz帯のチャネル設定を行います。日本では2.4GHz帯で1〜14chが利用可能ですが、14chは日本独自のためハードウエアが非対応なことも多く、Redmi AC2100では使用できません。また、OpenWRTでは国指定を行わないと、利用する国で使用が許されないチャネルも選択できてしまいます。国指定は次の段落で。
画面下半分のInterface Configurationで「General Setup」タブを開き、モードが「Access Point」(初期値)であることを確認します。ESSID(SSIDとも呼ばれ、アクセスポイントの識別名)を入力し、スマートフォンなどのデバイスで表示される名前を入力します。使用可能な文字は半角英数字、記号(ASCII)、および空白(最初と最後を除く)で、32文字以内です。アクセスポイントをリプレイスする場合、交換前のアクセスポイントと同じSSIDとパスワードを設定すると、接続するデバイス側の設定を変更することなく接続ができます。

画面上半分のDevice Configurationに戻り、「Advanced Settings」タブを選択します。
「Country Code」から「JP - Japan」を選択します。これにより、使用できるチャネルが日本で許可されている範囲内に制限されます。2.4GHz帯ではこの設定は重要ではありませんが、後の5GHz帯の設定では必要です。
また、OpenWRTでは未確認ですが、国指定を行うことで、日本で許可された電波強度に調整し適切なDFSに対応するかもしれません。

2.4GHz帯の暗号化設定を行います。
「Wireless Security」タブを選択し、「Encryption」で「WPA2-PSK (strong security)」または「WPA2-PSK/WPA3-SAE Mixed Mode (strong security)」を選択します。接続するすべてのデバイスがWPA3-SAE対応の場合は「WPA3-SAE」を推奨しますが、家庭用なら「WPA2-PSK」で十分でしょう。「Key」にSSIDに対応するPSKを入力します。所謂Wi-Fiのパスワードのことです。
右下の「Save」をクリックします。

Wireless Overview画面に戻ります。次は5GHz帯の設定を行います。「802.11ac/n」の「Edit」ボタンをクリックします。

5GHz帯のチャネル選択を行います。5GHz帯にはW52(36, 40, 44, 48ch)、W53(52, 56, 60, 64ch)、W56(100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144ch)があり、今回はDFS(動的周波数選択)の影響を受けないW52帯の36chを選択します。
Redmi AC2100は中国向け製品なので、Xiaomi純正ファームウェアでは日本で利用可能なW53帯とW56帯が使用できず、代わりにW58帯のチャネルが利用できますがそれは日本では使用できません。OpenWRTをインストールすることで、Redmi AC2100でも日本のW53帯およびW56帯が利用できるようになります。また、国指定を行うことで中国向けW58帯のチャネルは選択肢から消えるため、日本国内で間違ってW58帯を使用してしまうというミスがなくなります。
ただし、Redmi AC2100とOpenWRTを使用する場合にW53, W56帯でDFSが適切に動作するかは不明です。
画面下半分のInterface Configurationで「General Setup」タブを開き、モードが「Access Point」(初期値)であることを確認します。ESSID(SSIDとも呼ばれ、アクセスポイントの識別名)を入力し、スマートフォンなどのデバイスで表示される名前を入力します。使用可能な文字は半角英数字、記号(ASCII)、および空白(最初と最後を除く)で、32文字以内です。アクセスポイントをリプレイスする場合、交換前のアクセスポイントと同じSSIDとパスワードを設定すると、接続するデバイス側の設定を変更することなく接続ができます。これは、2.4GHzで設定したときと同じです。

画面上半分のDevice Configurationに戻り、「Advanced Settings」タブを選択します。
「Country Code」から「JP - Japan」を選択します。これにより、使用できるチャネルが日本で許可されている範囲内に制限されます。5GHz帯は国によって利用可能なチャネルが大きく異なるためこの設定は非常に重要となります。日本ではW52, W53, W56のチャネルだけが選択肢に表示されるようになります。また、OpenWRTでは未確認ですが、日本で許可された電波強度に調整し適切なDFSに対応するかもしれません。
5GHz帯の暗号化設定を行います。
「Wireless Security」タブを選択し、「Encryption」で「WPA2-PSK (strong security)」または「WPA2-PSK/WPA3-SAE Mixed Mode (strong security)」を選択します。接続するすべてのデバイスがWPA3-SAE対応の場合は「WPA3-SAE」を推奨しますが、家庭用なら「WPA2-PSK」で十分でしょう。「Key」にSSIDに対応するPSKを入力します。所謂Wi-Fiのパスワードのことです。
ここまで入力したら右下の「Save」をクリックします。(上の画像では「Save」ボタンは見えていません。)

Wireless Overview画面に戻ります。ここで「Save & Apply」ボタンをクリックします。2.4GHzと5GHzの両方で設定が即時に反映され、再起動せずに使用できます。

画面一番上の「System」タブから「System」項目をクリックします。
「General Setting」タブ(初期値)が選択された状態で、一番下の「Timezone」を設定します。プルダウンメニューから「Asia/Tokyo」を選びます。

「Time Synchronization」タブを選択します。
「Enbale NTP client」にチェックします。これでLAN内またはインターネットのNTPサーバで時刻合わせするようになります。
「Provide NTP server」にチェックします。これでLAN内でNTPサーバになり、LAN内の他のホストから時刻参照を受け付けます。
「NTP server candidates」にLAN内またはインターネットのNTPサーバを登録します。IPアドレスでもFQDNでも良さそうですが、基本的にはLAN内のNTPサーバを参照するようにします。なお、Redmi AC2100のIPアドレスを登録して自身を参照することは避けるべきでしょう。
ここまで設定したら右下の「Save & Apply」ボタンをクリックします。これをしないと設定が反映しません。

画面一番上の「System」タブから「Startup」項目をクリックします。
Startupではシステム起動時に開始するサービスを設定します。家庭用ブロードバンドルーターとして使用する場合、変更する必要はないでしょうが、Wi-Fiのアクセスポイント(AP)として使用する場合は、DNSサーバとDHCPサーバの機能は必要ありません。OpenWRTではそれぞれ「dnsmqsq」「odhcpd」がそのサービスを担っています。この2つのサービスは不要なのでサービスを停止します。それぞれの緑の「Enabled」(有効化済み)と表示されているボタンをクリックして赤の「Disabled」(無効化済み)にします。それぞれその前に「Stop」をクリックするとさらに良いでしょう。

画面一番上の「Status」タブから「Overview」項目をクリックします。
現在の状況を確認します。
メモリの利用率は2/3以下なのでまだ余裕はあるようです。ストレージは使用中が180KiBと表示されているため、これはOpenWRTと(動いてはいませんがXiaomiの純正ファームウエアが入っている)にも関わらず使用量が少なすぎで、明らかに間違っています。

さらに下にスクロールします。
「Active DHCP Leases」は、Redmi AC2100のDHCPサーバがリースしているIPアドレスを表示する項目です。Redmi AC2100に接続しているWi-Fiデバイス等が表示されるようであれば、DHCPサーバが停まっていません。1つのLANでDHCPサーバが複数動作している状態は問題があるためRedmi AC2100のDHCPサーバをもう一度停止/無効化しなおします。
その下の「Wireless」はしっかり確認します。2.4GHz帯と5GHz帯の両方でそれぞれ指定したチャネルが使用されていること、暗号化設定が指定通りであることを確認します。間違ってもOpen Networkなどになっていないようにします。SSIDも指定したものが正しく表示されていることも確認しておきます。
Redmi AC2100にOpenWRTをインストールすることで、日本国内での5GHz帯でW53およびW56帯域の利用が可能になります。これはXiaomi純正ファームウェアでは不可能なため、オープンソースファームウェアであるOpenWRTのインストールが持つ大きな利点といえるでしょう。OpenWRTはルーター機能のカスタマイズ性やセキュリティ機能も向上させ、ユーザーに柔軟なネットワーク設定の環境を提供します。家庭内のWi-Fiネットワークの強化に加え、ネットワークセキュリティの向上も期待できます。また、Xiaomi純正ファームウエアでは家庭用エントリーWi-Fiルーターにも劣る低機能でしたが、OpenWRTの使用により、Redmi AC2100が高機能なWi-Fiルーター/アクセスポイントへと進化し、さらに自分好みのWi-Fi環境を整備できるようになります。
今回はアクセスポイントということでネットワーク設定は殆ど不要で簡単でしたが、ルーターとして設定する場合は、ネットワークの知識が無い方にとっては扱いが難しい面があります。詳細な設定はウェブのUIでは行えないこともあり、sshでの設定はハードルが高くなります。