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

Raspberry Piを無線アクセスポイントに変える方法【完全ガイド】

Raspberry Piを無線アクセスポイントに変える方法【完全ガイド】

自宅内に複数のアクセスポイントを設置したいと思っても、一般的なWi-Fi中継器(エクステンダー)を使うと、遅延や接続不安定などの問題がつきものです。本記事では、そんな悩みを解決する方法として、Raspberry Piをワイヤレスアクセスポイントに変身させる手順を詳しく解説します。

無線アクセスポイントが稼働すれば、パスワードを知っている人なら誰でも、Raspberry Piを「ミニルーター」のように利用して接続できるようになります。カフェのオーナーが来店客に無料Wi-Fiを提供したい場合、企業が従業員向けにプライベートネットワークを構築したい場合、あるいは単純に自宅に複数のWi-Fiネットワークを持ちたい方にとっても、この仕組みは非常に便利です。

必要なもの

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

  • Raspberry Pi 3/4(Raspbian環境):まだRaspbian(Raspberry Pi OS)をインストールしていない場合は、最新版を入手し、EtcherなどでmicroSDカードに書き込みましょう。
  • 電源ケーブル:お使いのRaspberry Piモデルに対応したもの
  • 外部キーボード:およびRaspberry Piに接続するための手段
  • HDMIまたはマイクロHDMIケーブル:Raspberry Piのモデルによって異なります
  • 外部モニター
  • イーサネット(LAN)ケーブル:Raspberry Piを無線アクセスポイントとして動作させるため、Wi-Fiではなく有線LAN経由で接続する必要があります。そのため、Ethernetポートや無線モジュールを搭載していないRaspberry Pi 2やRaspberry Pi Zeroでは、この手順は実行できません。

準備が整ったら、さっそく独自のWi-Fiホットスポットを作成していきましょう。

事前準備:Raspberry Piのセットアップ

まず、イーサネットケーブルを含むすべての周辺機器をRaspberry Piに接続します。

Raspberry Piを無線アクセスポイントに変える方法【完全ガイド】

Raspberry Piが起動したら、最新版のRaspbianが動作しているか確認しておきましょう。ツールバーにある小さな「ターミナル」アイコンをクリックしてターミナルを起動し、以下のコマンドを入力します。

sudo apt-get update

Enterキーを押して、コマンドの実行が完了するのを待ちます。続いて、次のコマンドを入力して再度Enterを押してください。

sudo apt-get upgrade

アップグレード後は、システムの変更を確実に反映させるため、Raspberry Piを再起動するのがおすすめです。以下のコマンドを実行します。

reboot

hostapd・dnsmasq・ファイアウォールプラグインのインストール

まずはhostapd(ホストアクセスポイントデーモン)をインストールします。これは、ネットワークインターフェースカードをアクセスポイントとして動作させるためのソフトウェアパッケージです。

ターミナルを開き、以下のコマンドを実行してhostapdをインストールします。

sudo apt install hostapd
Raspberry Piを無線アクセスポイントに変える方法【完全ガイド】

次に、無線アクセスポイントを有効化し、システム起動時に自動的に立ち上がるよう設定します。

sudo systemctl unmask hostapd
sudo systemctl enable hostapd
Raspberry Piを無線アクセスポイントに変える方法【完全ガイド】

続いてdnsmasqをインストールします。dnsmasqは、DNS(Domain Name System)キャッシュ機能と、小規模ネットワーク向けに設計されたDHCPサーバー機能を提供するパッケージです。

ターミナルで以下のコマンドを実行してインストールしましょう。

sudo apt install dnsmasq

最後に、ファイアウォールルールの保存と読み込みを担当するnetfilter-persistentおよびiptables-persistentプラグインをインストールします。

sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent

静的IPアドレスの割り当て

DHCPサーバーには静的IPアドレスが必要です。このセクションでは、Raspberry Piに静的IPを設定します。

まず、ターミナルで以下のコマンドを実行します。

sudo nano /etc/dhcpcd.conf

dhcpcdの設定ファイルがNanoエディタで開かれます。ファイルの末尾までスクロールし、以下の行を追記してください。

interface wlan0
    static ip_address=192.168.4.1/24
    nohook wpa_supplicant

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

ルーティングの有効化

これで、Raspberry Piのアクセスポイントは独立した無線ネットワークとして動作しています。ただし、接続したクライアントからイーサネット側ネットワーク上のコンピューターへのアクセスを許可したい場合は、ルーティングを有効にする必要があります。

ルーティングを有効にするには、以下のコマンドで「routed-ap.conf」ファイルを作成します。

sudo nano /etc/sysctl.d/routed-ap.conf

このコマンドにより「routed-ap.conf」ファイルが作成され、Nanoテキストエディタで開かれます。エディタに以下の内容を入力してください。

net.ipv4.ip_forward=1

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

続いて、以下のコマンドを実行して、新しいファイアウォールルールを追加します。

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

最後に、netfilter-persistentを使って、追加したルールが起動時に自動的に読み込まれるようにします。

sudo netfilter-persistent save

DHCPおよびDNSサービスの設定

dnsmasqパッケージにはデフォルトの設定ファイルが付属していますが、そのすべてのオプションが必要なわけではありません。

作業をシンプルにするため、元の設定ファイルの名前を変更してバックアップとし、まったく空の新しいファイルを作成します。そのうえで、新しく作った「dnsmasq.conf」をNanoエディタで開き、実際に必要な設定オプションだけを記述していきます。

まず、ターミナルで以下のコマンドを実行します。

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf

以下の設定オプションを追加してください。

interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
domain=wlan
address=/gw.wlan/192.168.4.1

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

ネットワーク名とパスワードの設定

hostapdの設定ファイルを編集して、無線アクセスポイントを構成します。

以下のコマンドで設定ファイルを開いてください。

sudo nano /etc/hostapd/hostapd.conf

ここに、アクセスポイントの情報としてネットワーク名(SSID)やパスワードなどを追記します。セキュリティを高めるため、パスワードは8文字以上とし、英字・数字・記号を組み合わせることをおすすめします。

このチュートリアルでは例として、SSID「NetworkName」、パスワード「PassphrasePassphrase」のアクセスポイントを作成しますが、実際に運用する際は必ずより安全なものを設定してください。

interface=wlan0
ssid=NetworkName
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=PassphrasePassphrase
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

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

無線アクセスポイントへ接続する

おめでとうございます!これでRaspberry Piは無線アクセスポイントとして正常に動作するようになりました。

すべてが正しく機能しているか確認するため、Raspberry Piを再起動し、再起動後もアクセスポイントに接続できるかチェックしておきましょう。

再起動が完了したら、Wi-Fi対応のデバイスで周囲の無線ネットワークを検索してみてください。「hostapd.conf」で指定した名前のネットワークが表示されるはずです。

Raspberry Piを無線アクセスポイントに変える方法【完全ガイド】

そのネットワークへの接続を試みると、パスワードの入力を求められます。「hostapd.conf」に設定したパスフレーズを入力すれば、ほどなくして無線アクセスポイントへの接続が完了するでしょう。

Raspberry Piを無線アクセスポイントに変える方法【完全ガイド】

これで、Wi-Fi対応デバイスから、まるでルーターに直接接続しているかのようにインターネットを利用できます。

本チュートリアルでは、Raspberry Piを無線アクセスポイントに変換する方法を解説しました。これで、Wi-Fi対応のあらゆるデバイスからこのアクセスポイントに接続できるだけでなく、ルーターのパスワードを共有することなく第三者にネットワークへのアクセスを許可することも可能になります。

さらに応用として、Raspberry PiをChromecastのように活用したり、Spotifyのストリーミング再生端末にしたりすることもできます。その他の興味深いプロジェクトについては、ぜひ当サイトのRaspberry Pi関連ページもチェックしてみてください。

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

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

  2. AndroidをMac用のワイヤレスフラッシュドライブに変える方法

    MacのデータをAndroidに転送したいときは、通常データケーブルで接続すれば簡単に済みます。しかし、ケーブルが手元にない場合や、MacのUSBポートをひとつ空けておきたい場合には、転送作業を後回しにしてしまうこともあるでしょう。実は、Macはプラグアンドプレイに対応しているため、AndroidをMac用のワイヤレスフラッシュドライブとして活用できます。特別な機材は不要で、以下の手順に従うだけです。Androidをワイヤレスフラッシュドライブ化する手順アプリのインストール: Androidに「Pocketshare」をダウンロードしてインストールします。同じネットワークに接続: MacとAn