Raspberry Pi に OpenWrt 19.07.0 をインストールする
※OpenWRTの最新リリースは 2020年5月リリースの 19.07.3ですので、下記記事のURLは19.07.3のものに差し替えてご利用ください。
OpenWrt 19.07.0 がリリースされましたので、手持ちのRaspberry Piで早速試すことにします。 downloads.openwrt.org
イメージのダウンロード
ここからダウンロードできます。 新規インストールは factory, アップグレードや sysupgrade です。
18.04.x からのアップグレードは Luci の Web UI から行えます。既存の設定は保持されるはずですが、追加インストールしたopkgは手作業で別途追加インストールします。
新規インストールは次の手順で行います。
イメージを microSD に焼く
dd などで普通に焼いてください。
macOSの方は下記記事のスクリプトを使うと書き込み先デバイスの検出、ddの実行、ejectを自動で行ってくれます。
基本設定をバッチで流し込むためのファイルを作る
基本設定をバッチで流し込むためのファイルを作る
こんな設定をGUI操作なしに投入しようと思います
- 動作時のタイムゾーンは Asia/Tokyo
- 管理UI (ssh、Web) は LAN 側アクセスのみ許可
- WANはイーサネット、DHCPクライアント
- LANは無線LAN、固定IPアドレス 192.168.4.1
- LAN側ではDHCPサーバも有効化しておく
- 無線設定は日本向け、電波出力は10dBmに制限
- KRACKs対策設定を有効化
管理UIのパスワードはバッチ投入しないほうがよいだろうと思うので、これはインストール完了後にGUIから変更してください。
このような設定は、次の内容をスクリプトとして保存・実行することで投入できます。 initialconfig.sh のような名前で保存して OpenWRTの microSD に入れておきます。WiFi のSSIDやパスフレーズはご自身が使うものに変えてください。
#!/bin/sh -x uci set system.@system[0].zonename='Asia/Tokyo' uci set dropbear.@dropbear[0].Interface=lan uci set dhcp.lan.ra_management='1' uci set network.lan.ipaddr='192.168.4.1' uci set network.lan.ifname='wlan0' uci set network.wan=interface uci set network.wan.proto='dhcp' uci set network.wan.ifname='eth0' uci set wireless.radio0.disabled='1' uci set wireless.radio0.country='JP' uci set wireless.radio0.txpower='10' uci set wireless.default_radio0.encryption='psk2' uci set wireless.default_radio0.network='lan' uci set wireless.default_radio0.ssid='[設定するSSID名]' uci set wireless.default_radio0.key='[WPA-PSKのパスフレーズ]' uci set wireless.default_radio0.wpa_disable_eapol_key_retries='1' uci delete wireless.radio0.disabled='1'
パッケージの追加:最初から日本語UIで使いたい場合の追加パッケージをインストールする
OpenWrtのUIは英語で表示されますが、luci-i18n-base-ja をインストールすれば、最初から日本語UIで使えます。OpenWrtの起動後にLuCiのUIから追加インストールしても良いのですが、英語が得意ではない方は予め microSD にコピーしておきます。
http://downloads.openwrt.org/releases/19.07.0/packages/arm_cortex-a7_neon-vfpv4/luci/luci-i18n-base-ja_git-20.008.69804-de34495-1_all.ipk
パッケージの追加:Pi, Pi2 向けのWiFi USBドングル向けドライバ
PI, Pi2 などでWiFi USBドングルを使う場合はインストール後にLuCiのUIで必要なドライバをインストールします。
BUFFALO WLI-UC-GNM2 の場合は次のパッケージをダウンロードしてインストールしておくと、最初から使えるようになります。
http://downloads.openwrt.org/releases/19.07.0/packages/arm_cortex-a7_neon-vfpv4/base/usbutils_007-10_arm_cortex-a7_neon-vfpv4.ipk http://downloads.openwrt.org/releases/19.07.0/packages/arm_cortex-a7_neon-vfpv4/base/libusb-1.0-0_1.0.22-2_arm_cortex-a7_neon-vfpv4.ipk http://downloads.openwrt.org/releases/19.07.0/targets/brcm2708/bcm2709/kmods/4.14.162-1-2911c85b0fe34f5899879f41e832a894/kmod-rt2800-usb_4.14.162%2b4.19.85-1-1_arm_cortex-a7_neon-vfpv4.ipk http://downloads.openwrt.org/releases/19.07.0/targets/brcm2708/bcm2709/kmods/4.14.162-1-2911c85b0fe34f5899879f41e832a894/kmod-mac80211_4.14.162%2b4.19.85-1-1_arm_cortex-a7_neon-vfpv4.ipk http://downloads.openwrt.org/releases/19.07.0/targets/brcm2708/bcm2709/kmods/4.14.162-1-2911c85b0fe34f5899879f41e832a894/kmod-rt2x00-lib_4.14.162%2b4.19.85-1-1_arm_cortex-a7_neon-vfpv4.ipk http://downloads.openwrt.org/releases/19.07.0/targets/brcm2708/bcm2709/kmods/4.14.162-1-2911c85b0fe34f5899879f41e832a894/kmod-rt2x00-usb_4.14.162%2b4.19.85-1-1_arm_cortex-a7_neon-vfpv4.ipk http://downloads.openwrt.org/releases/19.07.0/targets/brcm2708/bcm2709/kmods/4.14.162-1-2911c85b0fe34f5899879f41e832a894/kmod-rt2800-lib_4.14.162%2b4.19.85-1-1_arm_cortex-a7_neon-vfpv4.ipk http://downloads.openwrt.org/releases/19.07.0/packages/arm_cortex-a7_neon-vfpv4/base/rt2800-usb-firmware_20190416-1_arm_cortex-a7_neon-vfpv4.ipk
パッケージの追加:Pi Zero向け(確認中)
焼いたmicroSDを装着してRaspberry Pi を起動し、パッケージインストールと初期設定の投入を行う
初期段階では NIC には LAN ケーブルを刺さずに作業します。(Pi Zero W は USB NIC だけ装着し、ケーブルは刺しません)。OpenWrt のデフォルトのIPアドレスは 192.168.1.1 が NIC に設定され、さらにDHCPも有効のため、既存のLANに接続して起動すると接続先ネットワークに影響が出るおそれがあります。
行う作業はこんな内容です。
- 起動したらシェルから
cd /boot/作業ディレクトリ
を実行 - パッケージをインストールする。
opkg install *.ipk
- 初期設定の投入
./initialconfig.sh
- 初期設定をコミット
uci commit
- 再起動
reboot
ここまでくれば、有線LAN側がDHCPクライアントに設定されたWiFiルータになっています。あとは管理UIのパスワード設定を行い、さらに必要なカスタマイズを加えていきます。
内容的には、過去バージョンのインストールと基本的に違いはありませんでした。