あなたのRaspberry PiをキャプティブポータルWi‐Fiアクセスポイントに変える方法

あなたがすべての顧客に無料のWi-Fiを提供するビジネスオーナーであるか、キャプティブオーディエンスがいてWi-Fiネットワークへのアクセスを販売する予定があるか、あるいはゲストに家庭ネットワークの使用マナーを思い出させたい場合、ここではあなたのRaspberry PiをキャプティブポータルWi-Fiアクセスポイントに変える方法を学びます。
関連記事: Raspberry Pi 4にWindows 11をインストールする方法
なぜキャプティブポータルが必要なのか?
カフェ、レストラン、ホテル、ジムなどの一見オープンなWi-Fiネットワークにアクセスしようとした際、情報(通常はメールアドレス)を入力しない限り先に進めないログイン画面に出くわしたことがあるでしょう。これがキャプティブポータルに既に馴染みがある理由です!
キャプティブポータルとは、ユーザーのデフォルトブラウザで自動的に開くか、ウェブページを訪れようとした際に表示されるウェブページのことです。通常、ユーザーはキャプティブポータルから進む前にアクションを完了する必要があります。
キャプティブポータルはビジネスでよく使われますが、家庭ネットワークにも役立つ追加機能となることがあります。たとえば、お子様のために別のネットワークを作成し、親の管理機能を備え、責任を持ってウェブを利用することをお子様に思い出させるキャプティブポータルを設けることができます。
関連記事: Raspberry PiでArduinoをプログラムする方法
必要なもの
このチュートリアルを完了するために必要なものは:
- Raspberry Pi(Raspberry Pi OSが稼働しているもの)
- Raspberry Piに適した電源ケーブル
- 外部キーボードとそれをRaspberry Piに接続する手段
- Raspberry Piのモデルに応じたHDMIまたはmicro HDMIケーブル
- 外部モニター
- Ethernetケーブル。Raspberry Piを無線アクセスポイントに変えるためには、Wi-FiではなくEthernetで接続する必要があります。これは、Raspberry Pi 2やRaspberry Pi ZeroにはEthernetポートまたは無線カードがないため、動作しないことを意味します。
始める: Raspberry Piを更新する
外部キーボード、モニター、Ethernetケーブルを接続し、次にPiを電源につなげます。起動したら、ターミナルを開いて次のコマンドを入力して更新します:
sudo apt update && sudo apt -y upgrade次のコマンドを実行してRaspberry Piを再起動します:
sudo rebootRaspberry Piが再起動すると、すべてが最新の状態になります。
Raspberry Piの無線アクセスポイントを設定する
Raspberry Piを完全に機能するアクセスポイントに変える方法はいくつかありますが、このチュートリアルでは設定が簡単なRaspAPを使用します。
RaspAPソフトウェアをインストールするには、ターミナルウィンドウを開いて次のコマンドを実行します:
curl -sL https://install.raspap.com | bash
次に、次のコマンドを使用してRaspberry Piを再起動します:
rebootRaspberry Piが再び稼働したら、Wi-Fiアクセスポイントは次の設定で構成されます:
- IPアドレス: 10.3.141.1
- ユーザー名: admin
- パスワード: secret
- DHCP範囲: 10.3.141.50から10.3.141.255
- SSID: raspi-webgui
- Wi-Fiパスワード: ChangeMe
アクセスポイントをテストするために、Wi-Fi対応デバイスを手に取り、ネットワーク設定を確認してください。「raspi-webgui」という新しいネットワークに接続するオプションが表示されるはずです。

このネットワークに接続すると、パスワードの入力を求められます。RaspAPのデフォルトパスワードは「ChangeMe」であるため、これをネットワーク構成ボックスに入力し、「接続」をクリックすると、新しいRaspberry Piアクセスポイントに接続されます!
Wi-Fiアクセスポイントを保護する
さらに進む前に、RaspAPのウェブインターフェースを介して「ChangeMe」をより安全なものに変更します:
まだの場合はウェブブラウザを起動してください。
アドレスバーに次の内容を入力します: 10.3.141.1。
プロンプトが表示されたら、ユーザー名「admin」とパスワード「secret」を入力します。これで、RaspAPウェブインターフェースのメイン画面が表示されます。

- 左側のメニューで「ホットスポット -> セキュリティ」を選択します。

「PSK」セクションを見つけ、Wi-Fiアクセスポイントに使用したいパスワードを入力します – 必ず安全なものにしてください!
「設定を保存」をクリックします。
Nodogsplashを使ってキャプティブポータルを作成する
アクセスポイントが稼働中になったので、キャプティブポータルでそれを保護する準備が整いました。
キャプティブポータルはNodogsplashキャプティブポータルソリューションを使用して構築されますが、まずlibmicrohttpd-devパッケージをインストールする必要があります。これはNodogsplashをコンパイルするために使用するコードが含まれています。
Raspberry Piで次のコマンドを実行します:
sudo apt install git libmicrohttpd-devlibmicrohttpd-devパッケージがインストールされたら、Nodogsplashのコードを含むリポジトリをクローンできます:
cd ~
git clone https://github.com/nodogsplash/nodogsplash.gitRaspbianがこのコードのクローンを完了したら、Nodogsplashソフトウェアのコンパイルとインストールの準備ができました:
cd ~/nodogsplash
make
sudo make installNodogsplashは今やRaspberry Piにインストールされています。
キャプティブポータルを構成する
次に、Nogdogsplashをローカルネットワークに接続されたルーターインターフェースであるゲートウェイアドレスに向ける必要があります。RaspAPのデフォルトでは10.3.141.1を使用しているので、Nogdogsplashの設定ファイルを編集してこのアドレスでリスニングするようにします。
ゲートウェイアドレスを編集するには、Nogdogsplashの設定ファイルを開きます:
sudo nano /etc/nodogsplash/nodogsplash.conf次の内容を追加します:
GatewayInterface wlan0
GatewayAddress 10.3.141.1
MaxClients 250
AuthIdleTimeout 480これらの変更を行ったら、Ctrl + Oを押してファイルを保存し、次にCtrl + Xを押します。
次のコマンドを実行してキャプティブポータルを起動します:
sudo nodogsplashこれでキャプティブポータルが稼働しています。テストするために、Wi-Fiホットスポットに接続してみてください。

これでNodogsplashのデフォルトキャプティブポータルが表示されるはずです。
ポータルが常にオンラインであることを確認する
キャプティブポータルが正しく機能していることを確認したので、Nodogsplashがブート時に自動的に起動するようにする必要があります。
「rc.local」ファイルを編集してNodogsplashを自動起動するように設定します。Raspberry Piのターミナルで次のコマンドを実行します:
sudo nano /etc/rc.local次の行を見つけます:
exit 0そのすぐ上に次の内容を追加します:
nodogsplashCtrl + Oを押して変更を保存し、次にCtrl + Xを押します。
キャプティブポータルをカスタマイズする方法
ここまででキャプティブポータルで保護されたWi-Fiホットスポットが完成しました。しかし、まだデフォルトのNodogsplashページを使用しているため、この最終セクションでは、キャプティブポータルページを制御するコードにアクセスし、いくつかの簡単な編集を行う方法を見ていきます。
デフォルトのNodogsplashページをカスタマイズするには、「splash.html」ファイルを開く必要があります:
sudo nano /etc/nodogsplash/htdocs/splash.htmlこれでポータルに画像やテキストを追加したり、既存のコンテンツを削除したりできます。たとえば、下の画像ではキャプティブポータルの一部として表示されているテキストが変更されています。

編集が完了したら、Ctrl + Oを押して変更を保存し、次にCtrl + Xを押します。
Wi-Fiホットスポットに再接続を試みると、リニューアルされたキャプティブポータルが表示されるはずです。

オペレーティングシステムやウェブブラウザによっては、更新されたキャプティブポータルを見るためにブラウザキャッシュをクリアする必要があるかもしれません。
Wi-Fiアクセスポイントの他にも、Raspberry Piを広告ブロッカーまたは個人用ウェブサーバーにすることもできます。
あなたは新しく作成したキャプティブポータルをどのように使用していますか?人々を家庭ネットワークに歓迎するために、いくつかのルールを設定するため、あるいはビジネスを促進するツールとして?コメントで教えてください!