ラズベリーパイで有線LANを無線に 小型ルータ作成
先日ラズベリーパイを購入しました。(ラズベリーパイのOSインストール等はこちらで紹介しています。)単体でグラフィカルなOSも稼働させることができるものなのですが、ほかにも有効な使い道はないかと考えています。
それで一つ思いついたのが、有線LANを無線に変換するアダプターです。これは市販もされていますが、ラズベリーパイで作る利点はMicroSDカードの差し替えれば他の用途にも使えるということです。有線LANを無線にしたいケースは旅行時など限られます。必要な時だけWi-Fiアダプタとして使い、他の時はPCとして使います。
今回はRaspberry Pi 3 BとOpenWrtという無料(オープンソース)のルーターOSを使用します。
もしRaspberry Pi OSをルーター化したいという場合は、DebianOSをルーター化のページを参考にしてください。Raspberry Pi OSはほぼDebianと同じように使えます。ただし、suで管理者権限をとる部分では、sudo su とする必要があります。もしくはsudoで管理者権限の必要なコマンドを実行してください。
ラズベリーパイにOpenWRTをインストールする際に、気にかけておいてほしいのは電波法です。日本では技術基準適合証明(技適)を受けていない無線機器を利用できません。技適を受けた商品は、パッケージや基盤にマークがついています。
本体やパッケージに技適マークが印字されている必要があるのはもちろんなのですが、技適を受けている商品でも改造して使うことは許されていないという事です。
コンシューマー向けのルーターはファームウェア書き換えを想定しておらず、これをOpenWRTに書き換えてしまうことは改造にあたるといえます。一方、ラズベリーパイはOSをインストールして利用するコンピュータです。そしてOpenWRTはラズベリーパイで稼働するOSの一つです。
この方法での利用がいいのか悪いのか判断が難しいところです。法律的な判断は筆者にはできませんので利用される場合は自己責任でお願いします。
基本的に現役でWindowsPCを使用している前提で話を進めます。加えてPCでもスマホでもいいですがWi-Fiにつなげてブラウザを使える機器がないと設定できません。またIPv4のみの取り扱いです。
ルーターOSのダウンロード
OpenWrtの公式ページにRaspberry Piのページが設けてあります。そのページのダウンロードリンクに従ってOSをダウンロードします。
今回筆者が作業したところリンクされている「安定リリース版」の次の「リリース候補版(RC)」がありました。なのでそちらを使うことにしました。
ルーターOSのインストール
ルーターOSはWindows等のPCからMicroSDカードに直接書き込みます。もし、Raspbian等のラズベリーパイのOSをすでに使っているようならそれらは消えてしまいます。必要ならSDカードを別にしましょう。
まず、SDカードをフォーマットします。フォーマットにはSDメモリカードフォーマッターを使います。
使い方はドライブを選択して(くれぐれも間違わないようにしてください)、フォーマットボタンを押すだけです。クイックフォーマットで問題ないと思われます。
次に、ダウンロードしたファイルは圧縮されているので展開します。展開するとと1つのイメージファイル(.img)となっています。展開は7-Zip等でできます。(インストール後ファイル右クリックから「7-Zip」→「ここに展開」で展開されます)
そして、イメージファイルをライティングアプリを使って書き込みます。使用したライティングアプリはWin32DiskImagerです。
書き込みたいイメージと書き込むディスクを指定して実行してください。こちらも書き込み先を間違えると、致命的な損害がでますので注意してください。
書き込みが終了すると、WindowsがSDカードの一部を認識できなくなります。これはディスクの中身がOpenWrt仕様になった事を意味しますので問題ありません。「フォーマットされていません、フォーマットしますか?」と聞かれてもキャンセルして、ディスクを停止状態にして取り外してください。
インストールは以上で終了です。書き込みが終了したMicroSDカードをラズベリーパイにセットして、電源を入れてください。
OpenWrtの設定
OpenWrtの設定方法はこちらに書かれています。(クイックスタート ガイド - LEDE リリースのインストール)
まず、ルーターに接続します。使っているPCをルーターに接続するとこのページが見られなくなりますので、スマホなどてアクセスしなおしておくと後が便利です。別のPCがあればそちらから操作するのをお勧めします。
ここから先はルーターをインストールしたラズベリーパイの事を「ルーター」と表記します。
- PCのアドレス取得方法を自動にして、ルーターとPCを有線LANで接続します。
- ブラウザからhttp://192.168.1.1にアクセスします。
- 管理者用のパスワードを設定します
ログイン時に管理者パスワードの設定を求めらるので入力してください。次回以降はここで入力したパスワードが必要になります。
- ローカルエリアのネットワークアドレスを変更します
上部タブ「network」「interface」からLANの「Edit」を押します。
「IPv4 address」を変更します。192.168.1.1/255.255.255.0のネットワークは重なりやすいので、172.16.123.1/255.255.255.0(任意ですがローカルネットワークのIPルールに従ってください)と変更します。下段の「save」を押すと画面が戻ります。設定はまだ反映されていない状態なので次に進みます。
- ワイヤレスネットワークを有効化します
上部タブ「network」「wireless」「SSID:OpenWrt」の「Edit」を選択してください。
「Device Configureation」の「Advanced Settings」より「CountryCode」を「JP-Japan」にして下部の「save」を押してください。
同じページの下部にある「Interface Configureation」の「General Setup」より「Wireless Secury」を「WPA2-PSK」にして「key」の欄にパスワードを設定。最後に「save」を押します。
「Device Configureation」の「Wireless network is enabled」より「Enable」を押します。
おそらくこのタイミングでルーターの設定変更が自動で始まります。待っていると、切断されましたという内容のメッセージが出ます。設定変更が完了したあとは先に設定したIPアドレスでアクセスをする必要がありますので、アクセスするアドレスを先に設定したアドレスに変更してください。また、設定変更に対して警告が表示されたら「Apply unchecked」を押します。
- ルーターのLANアダプタをWAN用に変更します
ルーターの機能により、設定変更後30秒以内に疎通確認ができないと設定が元に戻ってしまうので、ここから先は無線経由で行う必要があります。有線で接続していたら無線接続に変更してください。
上部タブ「network」「interface」「LAN」から「Edit」「fisical interfaces」タブの最下段にある「interfaces」の「eth0」を押すとチェックボックスがでるのでチェックを外すとインターフェースが消えます。その状態で「save」ボタンを押してください。
遷移後のページから、「Add new interface」のボタンを押します。「name」を「wan」「Protocol」を「DHCP Client」「interface」を「eth0」にして「Create interface」を押します。遷移後のページを「save」で終わらせます。
戻ってきたページより「Save & Apply」を押すと設定の反映が始まります。設定変更に対して警告が表示されたら「Apply unchecked」を押します。
設定の変更が終わると、ルーターのLANポート側にDHCPでインターネットにつながる回線があれば、ルーター経由の無線通信でインターネットに接続できるようになります。
ちなみにルーターOSではなく、LinuxOSでhostapdを使ってAP化する方法もあります。公式のRaspberry Pi OS Liteはリンク先で紹介しているDebian系の操作(APT)でアプリがインストールできるので、同様の操作でAP化が可能です。