Raspberry Pi 3をOpenWrtで無線LANルータ化した

 Raspberry Pi 3 Model BのWi-Fiを使ったことなかったので、Raspberry Pi無線LANルータとして使えるようにしてみた。
 無線LANルータのOSとして有名なOpenWrtから派生したLEDERaspberry Pi版があるんだけど、2018年にOpenWrtがLEDEベースになって統合されていた。

インストール

 OpenWrt公式サイト(日本語)からダウンロード安定リリース ビルド18.06.2(現時点の最新版)→targetsbrcm2708Raspberry Piを含むカテゴリ)→bcm2710Raspberry Pi 3)→rpi-3-ext4-factory.img.gzの順に選択してダウンロードしたものをbalenaEtcher等でmicroSDカードに書き込む。

初回設定

 初期状態ではWi-Fiが無効で、LAN端子はDHCPサーバが動作しているので、既存のネットワークには接続せず、PCとLANケーブルで直結して設定を行う。

  1. Raspberry PimicroSDカードを取り付けて電源を入れて、しばらく待つ
  2. Raspberry PiとPCをLANケーブルで直結して、PCの電源を入れる
  3. PCからWebブラウザhttp://192.168.1.1 を開く(この状態でSSH接続してパスワード無しのrootユーザーでログインも可能)
  4. Authorization Requiredが出たら、Login

Wi-Fiの有効化

  1. Network→Wireless
  2. Wireless OverviewのSSID: OpenWrtから、Edit
  3. Device ConfigurationのAdvanced Settings→Country CodeからJP - Japanを選択
  4. Save & Apply
  5. Wireless OverviewのSSID: OpenWrtから、Enable

 この後、PCとRaspberry Piを繋ぐLANケーブルをはずして(PCとの直結をやめる)、PCからWi-FiのOpenWrtに接続し、PCからWebブラウザhttp://192.168.1.1 を開き、Authorization Requiredが出たら、Loginを行う。

LAN端子をWANポートに設定

 下記手順でLANポートをWi-FiのみにしてLAN端子をはずし、WANポートを新規作成してLAN端子を加え、DHCPクライアントに設定する。

  1. Network→Interfaces
  2. InterfacesのLANから、Edit
  3. Physical Settings→Common ConfigurationのInterfaceからeth0→Ethernet Adapter: "eth0"のチェックをはずす
  4. Save & Apply
  5. Interfacesから、Add new interface
  6. Name of the new interfaceにwanを入力
  7. Protocol of the new interfaceからDHCP clientを選択
  8. Submit
  9. Save & Apply

IPアドレスの変更

 既存のネットワークのルータのIPアドレスが192.168.1.1の場合は、IPアドレスがバッティングしないように変更する必要がある。

  1. InterfacesのLANから、Edit
  2. Common Configuration→General Setup→IPv4 addressを192.168.1.1から任意に変更
  3. Save & Apply
  4. Configuration has been rolled back!が出たら、Apply unchecked
  5. Device unreachable!が出たら、Webブラウザを閉じる

 この後、Wi-Fiで接続中のOpenWrtから切断する。

日本語化

 Raspberry PiのLAN端子を既存のネットワークに接続(インターネットに接続)し、PCからWi-FiのOpenWrtに接続したら、PCからWebブラウザhttp://192.168.1.1 (もしくは任意に変更したIPアドレス)を開き、Authorization Requiredが出たら、Loginを行い、下記の手順で日本語パッケージをインストールする。

  1. System→Software
  2. Actions→Update lists
  3. Actions→Filterにluci-i18n-base-jaを入力して、Find Package
  4. Available packages→luci-i18n-base-jaから、Install
  5. Install "luci-i18n-base-ja" ?が出たら、OK
  6. System→System
  7. 言語とスタイル→言語がauto(もしくは、日本語 (Japanese))になっていることを確認する

USB LANアダプタの追加

 USB LANアダプタのPLANEX UE-200TX-G2を繋いでみる。UE-200TX-G2はASIX AX88772らしい。ドライバ(カーネルモジュール)が必要になるので、Kで始まるパッケージからASIXもしくはAX88772等で検索してインストールした後、LANポートとして使えるように追加する。

  1. システム→ソフトウェア
  2. リストの更新
  3. インストール可能なパッケージ→K→kmod-usb-net-asixから、インストール
  4. ネットワーク→インターフェース
  5. LAN→編集
  6. バイス設定→インターフェースからwlan0に加えてイーサネットアダプタ: "eth1"にもチェックを入れる
  7. 保存 & 適用

USB無線LANアダプタの追加

 USB無線LANアダプタのPLANEX GW-USValue-EZを繋いでみる。GW-USValue-EZはRealtek RTL8188CUSらしい。ドライバ(カーネルモジュール)が必要になるので、Kで始まるパッケージからRTL8188CU等で検索してインストールした後、SSID等を設定して有効化する。

  1. システム→ソフトウェア
  2. リストの更新
  3. インストール可能なパッケージ→K→kmod-rtl8192cuから、インストール
  4. ネットワーク→無線
  5. radio1のSSID: OpenWrtから、編集
  6. 詳細設定→国コードがJP - Japanであることを確認
  7. 一般設定→ESSIDをOpenWrtから任意に変更
  8. 一般設定→ネットワークにlanが選択されていることを確認
  9. 無線LANセキュリティ→暗号化モードをNo Encryptionから任意(WPA2-PSK等)に変更
  10. 無線LANセキュリティ→暗号キーを任意に設定
  11. 保存 & 適用
  12. radio1のSSID: OpenWrtから、有効