2023年3月9日木曜日

Raspberry Pi 3 B+にOpenWrtを入れて無線ルータ化

 出張用にホテル用のトラベルルータを持っていたが、気付いたらメーカーのサポート期限が切れてファームウェアの更新も止まっていた


とはいえトラベルルータがないのも困るのでAmazonで色々と物色していたが、ふと手元にラズパイがあることを思い出した


これにルータOS入れたら使えるんじゃないだろうかと調べてみたらNanoPiにも入れてるOpenWrtがイケそうな情報を発見


早速Zabbix入れてたRaspberry Pi 3 B+を引っこ抜いてmicroSDカード選別

カード入れ替えてOS変えられるのはこの手のシングルボードコンピュータの強みでもあるな


手持ちの余りで良さそうなのだとトランセンドのクラス10の16GBがあった

8GBとか4GBでも足りる様なので十分だろう



OSのイメージはopenwrt.orgにラズパイ用で置いてあったのでそれを利用

作成時点でのバージョンは【 22.03.3 】

3B+用のgzファイルをダウンロードして適当なツールで解凍してRaspberry Pi ImagerでmicroSDカードへ書き込み

https://openwrt.org/toh/raspberry_pi_foundation/raspberry_pi


microSDカードをラズパイに入れて起動すると、以下の状態で立ち上がる

・有線LAN:192.168.1.1 /24

 ブリッジインターフェース、DHCPサーバ無効

・Wi-Fi:無効

・初期ID:root、PW:無し

・LuCiのWebインターフェースはインストール済み


なので他の端末から有線ポートにケーブルを繋いで固定IP設定した上でブラウザからアクセス
PWは未設定なのでこのままLogin


【 No Password Set! 】と黄色く警告が出ている状態でログイン確認
ひとまず問題なく起動はできた


ひとまず【 System 】>【Administrator】からRuter Passwordを変更して【Save】

次に【 System 】 > 【 System 】の【 General Settings 】タブから【 Timezone 】を【 Asia/Tokyo 】に変更して【Save】


次にWi-Fiを有効化する
【 Network 】 > 【 Wireless 】を開くと【 SSID:OpenWrt 】が無効化されているので【 Enable 】で有効化
ただ、ラズパイのこのイメージだと5GHzしか使えないので、2.4GHzも使いたい場合は、別途USBのWi-Fiドングルを買ってきてドライバインストールしてやる必要がある


有効化したら【 Edit 】を押下してWi-Fiの基本設定
【 General Setup 】タブで以下設定
 ESSID: <任意のSSID>
 Network: lan


次に【 Wireless Security 】タブで以下設定
 Encryption: WPA2-PSK(strong)
 Key: <任意のパスワード>

【 Save 】して画面戻って、【 Save & Apply 】で保存して適用




最後にインターフェイスを設定する
1つずつ【 Save & Apply 】せずに最後にまとめてやる


【 Network 】 > 【 Interface 】から【 Add new Interface 】でWANとLAN用に新規インターフェースを以下設定で作成
WANインターフェース
 Name: wan<任意の名前>
 Protocol: DHCP client
 Device: eth0

LANインターフェイス
 Name: wlan<任意の名前>
 Protocol: static
 Device: wlan
 
 
作成したインターフェイスの設定を【 edit 】で編集する


WANインターフェース
【 General Settings 】タブ
 Device: eht0

【Firewall Settings 】タブ
 Create / Assign firewall-zone: wan(enpty)

【 Save 】で設定保存


LANインターフェース
【 General Settings 】タブ
 Device: wlan
 IPv4 address: <LAN側のIPアドレス> 今回は192.168.8.1
 IPv4 netmask: 255.255.255.0

【Firewall Settings 】タブ
 Create / Assign firewall-zone: lan(wlan:)
【DHCP Server】タブの【 Advanced Settings 】タブ
 Dynamic DHCP: チェック

【 Save 】で設定保存


初めから存在している【LAN br-LAN】を削除した上で、【 Save & Apply 】で設定反映

PC等から設定したWi-Fi経由で接続して、wlanに設定したIPアドレスにアクセスできることを確認する


このままでも使えるが、一応言語を日本語へ変更する
【 System 】 > 【 Software 】を開いて、update listsでリストを更新
Filter:に【luci-i18n-base-ja】と入れて検索するとパッケージが出てくるので【 install 】


これでGUIの表示も日本語に設定された


ひとまずこれで、有線からDHCPでIP受けてWi-Fi飛ばす無線ルータになった
FWはステートフルインスペクションで動いているので、必要であれば別途設定を追加すればいい
その他、SSHでログインできるインターフェイスや公開鍵、root login無効等設定した方がいい項目もあるが、とりあえず使えるようにはなった


ちょうど出張があって某東横インの6Fに泊まったので、Wi-Fi Analyzerで電波測定
2.4GHzは混線しまくっているが、5GHzはスカスカだったので快適に利用できた


使った感じこれで十分な気がする
他に必要な機能を思いついたらパッケージから追加してみよう