pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


RaspberyPi3で携帯用のWiFiのアクセスポイントを作るためにOpenWRT互換のLEDEをインストールしてみる

以前にこういう記事を書いていたのですが、このときは WPA2-EAP向けのパッケージが見当たらなかったので、一旦はLEDEの導入を断念しています。

pslabo.hatenablog.com

まあしかし、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/ にアクセスします。 するとインストール直後の状態ではパスワードなしでログインできるようです。 f:id:pslabo:20170515225815p:plain

そこでまずはパスワードを設定することにしましょう。ログイン後の画面で System → Administraton を選択します。 f:id:pslabo:20170515230555p:plain

するとパスワード設定用の画面が出ているかと思いますので、ここでパスワードを入力します。 f:id:pslabo:20170515225844p:plain

画面の最下部の Save & Apply をクリックするとパスワードが設定されます。 f:id:pslabo:20170515230654p:plain

無線LANの有効化

今回の設定ではNICはWAN側にして出張先のホテルのLANに繋ぐ想定です。

従って以下のような設定を作ります。 - WiFiをLAN側に収容し、LAN側はDHCPサーバとする。 - NICはWAN側に収容し、WAN側はDHCPクライアントとする。

しかしLEDEの初期状態ではWiFiは有効化されていません。これはセキュリティのことを考えると極めて正しい設定なのですが、NICはあくまでWANポートのつもりなので、いつまでもNICから設定を行うわけにもいきません。

そこで、さっさとWiFiを有効化してしまうことにしましょう。

この設定は Network→Wireless から行います。 f:id:pslabo:20170515230712p:plain

すると SSID = LEDE というエントリがありますが、これは無効化されています。そこでまずは無線側の設定を調整します。 f:id:pslabo:20170515230737p:plain

国設定を日本にして、Wireless Security で WPA2-PSK を選択します。また、Key も設定します。SSIDをデフォルトのLEDEから変更したい場合も適切に設定します。設定が済んだら Save & Apply して、Back to Overview します。 f:id:pslabo:20170515230805p:plain

あとは Enableをクリックすれば無線が有効になりますので、実際に接続できることを確認します。 f:id:pslabo:20170515230828p:plain

NIC を WAN 側に割り当てる

WiFI側から接続できるようになったら、NICをWAN向けの設定に変更します。

まずは Network → Interfaces を選びます。 f:id:pslabo:20170515230947p:plain

初期状態では LAN だけが存在していますので、Add New Interface を選択します。 f:id:pslabo:20170515231035p:plain

インタフェース名は wan で DHCP client にしておきます。また、following interface として eth0 を選択しておきます。 f:id:pslabo:20170515231055p:plain f:id:pslabo:20170515231123p:plain

なお、インタフェース lan には eth0 が含まれていますので、lan の設定から eth0 を外しておきます。 f:id:pslabo:20170515231142p:plain f:id:pslabo:20170515231148p:plain

LAN側ネットワークアドレスを変える

さらに LAN 側のIPアドレスをデフォルトの192.168.1.1 から別のネットワークアドレスに変えておきます。たとえばフレッツ光のレンタルルータは内部アドレスが192.168.1.0/24 と LEDE のデフォルトのアドレスと同じネットワークアドレスを使っています。これでは通信が正しく行えませんので、全く別のアドレスに変えます。

ここでは 192.168.4.1 に変更してみました。新しい設定は Save & Apply を押したらすぐに有効になります。 f:id:pslabo:20170515231430p:plain

管理UIの言語を日本語にする

英語が不得意な方にとって、管理UIが英語であることは非常にストレスになります。OpenWRTヤLEDEは管理UI向けの日本語リソースも配布されていますので、これをインストールすることで日本語のUIになります。

まずは System→Softwareを選択し…… f:id:pslabo:20170515231841p:plain

LEDE向けのソフトウェアパッケージのリストをダウンロードします。 f:id:pslabo:20170515232021p:plain

なお、このリストは LEDE をシャットダウンやリブートすると消えてしまうので、ソフトウェアメンテナンスを行う度にパッケージリストのダウンロードが必要です。

パッケージリストのダウンロードが完了したら、Filter に “luci-l18n-base-ja” と入力して Find Package します。 f:id:pslabo:20170515232322p:plain

そして Available packages から luci-l18n-base-ja を選んで install します。

インストールが完了したら、System→Systemより言語を日本語に変更します。 f:id:pslabo:20170515232436p:plain

これで LEDE を日本語で利用できるようになりました。 f:id:pslabo:20170515232529p:plain

WAN側からの管理ポートへのアクセスを禁止する

ここまでの作業で最低限の要件を満たす設定が出ています。しかし、実際に運用する前に、WAN側に不要なポートが開いていないかどうかを念のために確かめます。

まず、OpenWRT/LEDE では ssh サーバ機能が生きていますので、これは LAN 側だけに制限しておきます。

f:id:pslabo:20170516070749p:plain

f:id:pslabo:20170516070801p:plain

さらに、WAN側の HTTP が開いていないことも念のために確かめまsす。WAN側のIPアドレスはインタフェース設定から確認できますので、WAN側に繋いだ別の機器から、このアドレスの 80/TCP にブラウザで接続できないことを確認してください。 f:id:pslabo:20170516070431p:plain

ssh と http が閉じていたら、基本的には安全と考えてよいはずです。なお、ここまでの設定では、LEDE は以下のようなポートで daemon が動いた状態です。

f:id:pslabo:20170516071136p:plain

より厳密に確認したい場合は、これらのポートにWAN側から繋がらないことを確実にチェックしておきます。