RaspberyPi3で携帯用のWiFiのアクセスポイントを作るためにOpenWRT互換のLEDEをインストールしてみる
以前にこういう記事を書いていたのですが、このときは WPA2-EAP向けのパッケージが見当たらなかったので、一旦はLEDEの導入を断念しています。
まあしかし、LEDEが動くなら、出張の際にホテルのLANにつける携帯用WiFiアクセスポイントに仕立ててみるのはアリなので、あらためて設定してみることにします。
使うのは当然ながらRaspberry Pi3ですので、本体やmicroSDなどの必要な部材は揃えておいた上で作業にとりかかります。
なお、Raspberry Pi Zero W でもイケるとは思いますけど、手元に機材が無いので未検証です。
イメージの入手とmicroSDへの焼きこみ
2017/5/14時点では以下のURLからRaspberryPi3向けのイメージが入手できます。 https://downloads.lede-project.org/releases/17.01.1/targets/brcm2708/bcm2710/
gzip 形式で圧縮されていますから、gunzip などを使って展開します。シェル上でやるならこんな感じ。
$ cd Downloads/ $ ls lede-17.01.1-brcm2708-bcm2710-rpi-3-ext4-sdcard.img.gz lede-17.01.1-brcm2708-bcm2710-rpi-3-ext4-sdcard.img.gz $ gunzip lede-17.01.1-brcm2708-bcm2710-rpi-3-ext4-sdcard.img.gz $ ls lede-17.01.1-brcm2708-bcm2710-rpi-3-ext4-sdcard.img lede-17.01.1-brcm2708-bcm2710-rpi-3-ext4-sdcard.img
その他、7-zip などで展開してもよいでしょう。展開後のイメージは dd などで microSDHC に焼きます。
microSDからの起動
microSDをRaspberryPi3に装着して起動させるだけです。なお、RaspberryPiのNICは設定用のPCに接続しておいてください。既存のLANに接続してはダメです。LEDEの初期状態では、IPaddress = 192.168.1.1 かつ DHCPサーバが有効な状態となっていますので、既存のLANに接続すると問題を引き起こします。したがって、設定用のPCと直結しておく必要があるのです。
パスワード設定
LEDEへのブラウザからのログインは http://192.168.1.1/ にアクセスします。 するとインストール直後の状態ではパスワードなしでログインできるようです。
そこでまずはパスワードを設定することにしましょう。ログイン後の画面で System → Administraton を選択します。
するとパスワード設定用の画面が出ているかと思いますので、ここでパスワードを入力します。
画面の最下部の Save & Apply をクリックするとパスワードが設定されます。
無線LANの有効化
今回の設定ではNICはWAN側にして出張先のホテルのLANに繋ぐ想定です。
従って以下のような設定を作ります。 - WiFiをLAN側に収容し、LAN側はDHCPサーバとする。 - NICはWAN側に収容し、WAN側はDHCPクライアントとする。
しかしLEDEの初期状態ではWiFiは有効化されていません。これはセキュリティのことを考えると極めて正しい設定なのですが、NICはあくまでWANポートのつもりなので、いつまでもNICから設定を行うわけにもいきません。
そこで、さっさとWiFiを有効化してしまうことにしましょう。
この設定は Network→Wireless から行います。
すると SSID = LEDE というエントリがありますが、これは無効化されています。そこでまずは無線側の設定を調整します。
国設定を日本にして、Wireless Security で WPA2-PSK を選択します。また、Key も設定します。SSIDをデフォルトのLEDEから変更したい場合も適切に設定します。設定が済んだら Save & Apply して、Back to Overview します。
あとは Enableをクリックすれば無線が有効になりますので、実際に接続できることを確認します。
NIC を WAN 側に割り当てる
WiFI側から接続できるようになったら、NICをWAN向けの設定に変更します。
まずは Network → Interfaces を選びます。
初期状態では LAN だけが存在していますので、Add New Interface を選択します。
インタフェース名は wan で DHCP client にしておきます。また、following interface として eth0 を選択しておきます。
なお、インタフェース lan には eth0 が含まれていますので、lan の設定から eth0 を外しておきます。
LAN側ネットワークアドレスを変える
さらに LAN 側のIPアドレスをデフォルトの192.168.1.1 から別のネットワークアドレスに変えておきます。たとえばフレッツ光のレンタルルータは内部アドレスが192.168.1.0/24 と LEDE のデフォルトのアドレスと同じネットワークアドレスを使っています。これでは通信が正しく行えませんので、全く別のアドレスに変えます。
ここでは 192.168.4.1 に変更してみました。新しい設定は Save & Apply を押したらすぐに有効になります。
管理UIの言語を日本語にする
英語が不得意な方にとって、管理UIが英語であることは非常にストレスになります。OpenWRTヤLEDEは管理UI向けの日本語リソースも配布されていますので、これをインストールすることで日本語のUIになります。
まずは System→Softwareを選択し……
LEDE向けのソフトウェアパッケージのリストをダウンロードします。
なお、このリストは LEDE をシャットダウンやリブートすると消えてしまうので、ソフトウェアメンテナンスを行う度にパッケージリストのダウンロードが必要です。
パッケージリストのダウンロードが完了したら、Filter に “luci-l18n-base-ja” と入力して Find Package します。
そして Available packages から luci-l18n-base-ja を選んで install します。
インストールが完了したら、System→Systemより言語を日本語に変更します。
これで LEDE を日本語で利用できるようになりました。
WAN側からの管理ポートへのアクセスを禁止する
ここまでの作業で最低限の要件を満たす設定が出ています。しかし、実際に運用する前に、WAN側に不要なポートが開いていないかどうかを念のために確かめます。
まず、OpenWRT/LEDE では ssh サーバ機能が生きていますので、これは LAN 側だけに制限しておきます。
さらに、WAN側の HTTP が開いていないことも念のために確かめまsす。WAN側のIPアドレスはインタフェース設定から確認できますので、WAN側に繋いだ別の機器から、このアドレスの 80/TCP にブラウザで接続できないことを確認してください。
ssh と http が閉じていたら、基本的には安全と考えてよいはずです。なお、ここまでの設定では、LEDE は以下のようなポートで daemon が動いた状態です。
より厳密に確認したい場合は、これらのポートにWAN側から繋がらないことを確実にチェックしておきます。