Linux
 Computer >> コンピューター >  >> システム >> Linux

Raspberry Piをキャプティブポータル付きWi-Fiアクセスポイントに変える方法

Raspberry Piをキャプティブポータル付きWi-Fiアクセスポイントに変える方法

お店の顧客向けに無料Wi-Fiを提供したい経営者の方、Wi-Fiネットワークへのアクセスを販売したいと考えている方、あるいは家庭内ネットワークの利用マナーをゲストに伝えたい方——この記事では、Raspberry Piをキャプティブポータル付きWi-Fiアクセスポイントに変換する方法をわかりやすく解説します。

キャプティブポータルとは?なぜ必要なのか

カフェ、レストラン、ホテル、ジムなどで一見オープンなWi-Fiネットワークに接続しようとしたところ、メールアドレスなどの情報入力を求めるログイン画面が表示されて先へ進めなかった経験はありませんか?それが「キャプティブポータル」です。

キャプティブポータルとは、ユーザーのデフォルトブラウザで自動的に開く、あるいはユーザーがWebページにアクセスしようとしたときに読み込まれるWebページのことです。ユーザーは通常、何らかのアクション(情報の入力など)を完了しない限り、先へ進むことができません。

企業でよく使われる仕組みですが、家庭内ネットワークにも役立てられます。例えば、ペアレンタルコントロール機能付きの子ども専用ネットワークを作り、「責任を持ってインターネットを利用すること」を促すメッセージを表示するキャプティブポータルを設置するのも一案です。VPNの仕組みを理解できるほど技術に詳しい子どもをお持ちのご家庭でも、安心感が高まります。

必要なもの

このチュートリアルを進めるには、以下のものを用意してください。

  • Raspberry Pi OSが動作しているRaspberry Pi
  • Raspberry Piに対応した電源ケーブル
  • 外付けキーボードと、それを接続するための手段
  • HDMIまたはmicro HDMIケーブル(Raspberry Piのモデルにより異なる)
  • 外部モニター
  • イーサネットケーブル。Raspberry Piを無線アクセスポイント化するため、接続にはWi-Fiではなくイーサネットを使用する必要があります。そのため、イーサネットポートまたは無線カードを備えていないRaspberry Pi 2やRaspberry Pi Zeroでは本手法は使えません。

準備:Raspberry Piをアップデートする

外付けキーボード、モニター、イーサネットケーブルを接続し、Raspberry Piに電源を供給します。起動したらターミナルを開き、以下のコマンドを実行してシステムを最新の状態にします。

sudo apt update && sudo apt -y upgrade

続いて、以下のコマンドで再起動します。

sudo reboot

再起動が完了すれば、環境はすべて最新の状態になっています。

Raspberry Piに無線アクセスポイントをセットアップする

Raspberry Piを本格的なアクセスポイントに変える方法はいくつかありますが、このチュートリアルではセットアップが簡単な「RaspAP」を使用します。

RaspAPをインストールするには、ターミナルウィンドウを開き、次のコマンドを実行します。

curl -sL https://install.raspap.com | bash
Raspberry Piをキャプティブポータル付きWi-Fiアクセスポイントに変える方法

インストール後、以下のコマンドでRaspberry Piを再起動します。

reboot

再起動が完了すると、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」という新しいネットワークが表示されるはずです。

Raspberry Piをキャプティブポータル付きWi-Fiアクセスポイントに変える方法

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

Wi-Fiアクセスポイントのセキュリティを強化する

作業を続ける前に、「ChangeMe」をもっと安全なパスワードに変更しておきましょう。RaspAPのWeb管理画面から簡単に行えます。

1. Webブラウザを起動します(未起動の場合)。

2. アドレスバーに 10.3.141.1 と入力します。ユーザー名「admin」、パスワード「secret」を入力すると、RaspAPのメイン管理画面が表示されます。

Raspberry Piをキャプティブポータル付きWi-Fiアクセスポイントに変える方法

3. 左側のメニューから「Hotspot → Security」を選択します。

Raspberry Piをキャプティブポータル付きWi-Fiアクセスポイントに変える方法

4. 「PSK」欄に、Wi-Fiアクセスポイントで使用したいパスワードを入力します。必ず安全性の高いものを設定してください。

5. 「Save Settings」をクリックして保存します。

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

アクセスポイントが稼働したら、次はキャプティブポータルで保護する段階です。

キャプティブポータルには「Nodogsplash」というソリューションを使用します。まず、Nodogsplashのビルドに必要なコードを含む libmicrohttpd-dev パッケージをインストールしておく必要があります。

Raspberry Piで以下のコマンドを実行します。

sudo apt install git libmicrohttpd-dev

パッケージの導入が済んだら、Nodogsplashのソースコードが格納されたリポジトリをクローンします。

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

クローンが完了したら、Nodogsplashをコンパイルしてインストールします。

cd ~/nodogsplash
make
sudo make install

これでNodogsplashがRaspberry Piにインストールされました。

キャプティブポータルを設定する

次に、Nodogsplashに対してゲートウェイアドレス(ローカルネットワークに接続されたルーターインターフェース)を指定する必要があります。RaspAPはデフォルトで10.3.141.1を使用するため、Nodogsplashの設定ファイルを編集して、このアドレスでリッスンするようにします。

設定ファイルを開きます。

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ホットスポットに接続して動作を確認してみましょう。

Raspberry Piをキャプティブポータル付きWi-Fiアクセスポイントに変える方法

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

ポータルを常にオンラインに保つ

キャプティブポータルが正しく動作することを確認できたら、Raspberry Piの起動時にNodogsplashが自動的に開始されるよう設定しましょう。

「rc.local」ファイルを編集して自動起動を設定します。ターミナルで以下のコマンドを実行します。

sudo nano /etc/rc.local

次の行を探します。

exit 0

その直上に以下の1行を追加します。

nodogsplash

Ctrl+Oで変更を保存し、Ctrl+Xで終了します。

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

ここまでで、キャプティブポータルで保護されたWi-Fiホットスポットが完成しました。ただし、現状ではNodogsplashのデフォルトページを使用しています。最後に、キャプティブポータルページを制御するコードへアクセスし、簡単に編集する方法をご紹介します。

デフォルトページをカスタマイズするには、「splash.html」ファイルを開きます。

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

このファイルに画像やテキストを追加したり、既存のコンテンツを削除したりできます。例えば、下の画像のようにキャプティブポータルに表示されるテキストを自由に書き換えることが可能です。

Raspberry Piをキャプティブポータル付きWi-Fiアクセスポイントに変える方法

編集内容に満足したら、Ctrl+Oで保存し、Ctrl+Xで終了します。

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

Raspberry Piをキャプティブポータル付きWi-Fiアクセスポイントに変える方法

なお、OSやブラウザの組み合わせによっては、更新後のキャプティブポータルを表示するためにブラウザのキャッシュをクリアする必要がある点にご注意ください。

Wi-Fiアクセスポイント以外にも、Raspberry Piは広告ブロッカーや個人用Webサーバーとして活用することもできます。

あなたは新しく作ったキャプティブポータルをどのように活用する予定ですか?ホームネットワークへのおもてなし、利用ルールの周知、ビジネスプロモーションのツールなど——ぜひコメント欄でお聞かせください!

  1. 古いテレビをスマートテレビ化する5つの方法【デバイスの選び方も解説】

    最近販売されているテレビのほとんどはスマートテレビであり、インターネットに接続して、Netflix、Prime Video、Spotify、YouTubeなどのサービスで音楽や動画を楽しめます。しかし、まだ十分に使える古いテレビを持っていて、今すぐ新しいスマートテレビに買い替えるつもりはない——そんな場合、どうすればよいのでしょうか。従来型の「非スマート」なテレビのまま、充実したストリーミングアプリや最新機能から取り残されるしかないのでしょうか。答えはノーです。非スマートテレビをスマートテレビに変える方法は複数あり、しかもあまりお金をかけずに実現できます。まずは、テレビが「スマート」と呼ばれる

  2. 古いデスクトップPCを本格ゲーミングマシンに生まれ変わらせる方法

    ゲーミングは、今や私たちの生活に欠かせない存在となっています。子供の頃、携帯型の任天堂ゲーム機でテトリスを楽しんだ記憶から、PS4やXboxなどの最新ゲーム機で大画面にお気に入りのタイトルを映し出す現在まで、ゲームは長い年月をかけて大きく進化してきました。そして忘れてはならないのがPCゲームです。デスクトップPCならではの没入感と自由度の高さには、他のプラットフォームにはない特別な魅力がありますよね。 しかし、デスクトップでゲームをプレイするなら、動作のもっさり感、グラフィックの粗さ、操作の遅延といったストレスとは無縁でありたいものです。せっかくのゲーム体験を台無しにする such な不具合は