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

Wifi Captive Portal Raspberry Pi Raspap

あなたがすべての顧客に無料の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 reboot

Raspberry Piが再起動すると、すべてが最新の状態になります。

Raspberry Piの無線アクセスポイントを設定する

Raspberry Piを完全に機能するアクセスポイントに変える方法はいくつかありますが、このチュートリアルでは設定が簡単なRaspAPを使用します。

RaspAPソフトウェアをインストールするには、ターミナルウィンドウを開いて次のコマンドを実行します:

curl -sL https://install.raspap.com | bash

RaspAPを使用して簡単にWi-Fiホットスポットを作成できます

次に、次のコマンドを使用してRaspberry Piを再起動します:

reboot

Raspberry 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」という新しいネットワークに接続するオプションが表示されるはずです。

Wi-Fi対応デバイスのネットワーク設定を開くと、新しいネットワークが表示されるはずです!

このネットワークに接続すると、パスワードの入力を求められます。RaspAPのデフォルトパスワードは「ChangeMe」であるため、これをネットワーク構成ボックスに入力し、「接続」をクリックすると、新しいRaspberry Piアクセスポイントに接続されます!

Wi-Fiアクセスポイントを保護する

さらに進む前に、RaspAPのウェブインターフェースを介して「ChangeMe」をより安全なものに変更します:

  1. まだの場合はウェブブラウザを起動してください。

  2. アドレスバーに次の内容を入力します: 10.3.141.1。

プロンプトが表示されたら、ユーザー名「admin」とパスワード「secret」を入力します。これで、RaspAPウェブインターフェースのメイン画面が表示されます。

RaspAPのウェブコンソールはウェブトラフィックに関する情報を表示します。

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

公開されているデフォルトよりも安全なパスワードに変更することをお勧めします!

  1. 「PSK」セクションを見つけ、Wi-Fiアクセスポイントに使用したいパスワードを入力します – 必ず安全なものにしてください!

  2. 「設定を保存」をクリックします。

Nodogsplashを使ってキャプティブポータルを作成する

アクセスポイントが稼働中になったので、キャプティブポータルでそれを保護する準備が整いました。

キャプティブポータルはNodogsplashキャプティブポータルソリューションを使用して構築されますが、まずlibmicrohttpd-devパッケージをインストールする必要があります。これはNodogsplashをコンパイルするために使用するコードが含まれています。

Raspberry Piで次のコマンドを実行します:

sudo apt install git libmicrohttpd-dev

libmicrohttpd-devパッケージがインストールされたら、Nodogsplashのコードを含むリポジトリをクローンできます:

cd ~  
git clone https://github.com/nodogsplash/nodogsplash.git

Raspbianがこのコードのクローンを完了したら、Nodogsplashソフトウェアのコンパイルとインストールの準備ができました:

cd ~/nodogsplash  
make  
sudo make install

Nodogsplashは今や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ホットスポットに接続してみてください。

Wi-Fiホットスポットに接続すると、Nodogsplashのデフォルトキャプティブポータルが表示されるはずです。

これでNodogsplashのデフォルトキャプティブポータルが表示されるはずです。

ポータルが常にオンラインであることを確認する

キャプティブポータルが正しく機能していることを確認したので、Nodogsplashがブート時に自動的に起動するようにする必要があります。

「rc.local」ファイルを編集してNodogsplashを自動起動するように設定します。Raspberry Piのターミナルで次のコマンドを実行します:

sudo nano /etc/rc.local

次の行を見つけます:

exit 0

そのすぐ上に次の内容を追加します:

nodogsplash

Ctrl + Oを押して変更を保存し、次にCtrl + Xを押します。

キャプティブポータルをカスタマイズする方法

ここまででキャプティブポータルで保護されたWi-Fiホットスポットが完成しました。しかし、まだデフォルトのNodogsplashページを使用しているため、この最終セクションでは、キャプティブポータルページを制御するコードにアクセスし、いくつかの簡単な編集を行う方法を見ていきます。

デフォルトのNodogsplashページをカスタマイズするには、「splash.html」ファイルを開く必要があります:

sudo nano /etc/nodogsplash/htdocs/splash.html

これでポータルに画像やテキストを追加したり、既存のコンテンツを削除したりできます。たとえば、下の画像ではキャプティブポータルの一部として表示されているテキストが変更されています。

splash.htmlファイルを編集することでキャプティブポータルをカスタマイズできます。

編集が完了したら、Ctrl + Oを押して変更を保存し、次にCtrl + Xを押します。

Wi-Fiホットスポットに再接続を試みると、リニューアルされたキャプティブポータルが表示されるはずです。

Wi-Fiネットワークに接続を試みると、カスタムポータル画面が表示されます。

オペレーティングシステムやウェブブラウザによっては、更新されたキャプティブポータルを見るためにブラウザキャッシュをクリアする必要があるかもしれません。

Wi-Fiアクセスポイントの他にも、Raspberry Piを広告ブロッカーまたは個人用ウェブサーバーにすることもできます。

あなたは新しく作成したキャプティブポータルをどのように使用していますか?人々を家庭ネットワークに歓迎するために、いくつかのルールを設定するため、あるいはビジネスを促進するツールとして?コメントで教えてください!