名刺サイズの超小型PC「ラズパイ」で遊ぶ(第24回)
ラズパイを無線LANルーター化する ~アクセスポイント編~(1/2 ページ)
自宅でインターネット回線を使っているなら、無線LANルーターを設置しているケースが多いでしょう。プロバイダーからレンタルしたり、家電量販店や口コミサイトで勧められた製品を手にした方もいると思いますが、そんな無線LANルーターをラズパイで手作りできることをご存じでしょうか。
今回はラズパイを無線LANルーターとして動作させる手順を紹介します。なお、ラズパイ用のOS「Raspbian」のインストールが必要です。手順は第21回の記事を参照してください。
ラズパイを無線LANルーター化する
ラズパイの無線LANルーター化は以下の手順をたどることになります。
- 「/etc/dhcpcd.conf」に項目を追加
- hostapdのインストールと設定
- dnsmasqのインストールと設定
これらの設定と追加プログラムをインストールすることで、ラズパイの有線LANにモデムを接続して、無線LANでWi-Fi機器をネットワークにつなげます。では順番に見ていきましょう。
「/etc/dhcpcd.conf」に項目を追加
まずはdhcpcdの設定です。dhcpcdは、DHCPサーバからホストのIPアドレス、ネットマスク、ブロードキャストアドレスなどを取得して、ラズパイに設定するためのサービスです。今回は無線LAN側に違うアドレス空間を割り当てて使うため、今使っているモデムや無線LANルーターに割り当てられているアドレス空間とは別のものを設定します。
設定ファイルを変更しますので、いったんサービスを止めます。
$ sudo systemctl stop dhcpcd
以下のコマンドでnanoを起動してファイルを修正します。
$ sudo nano /etc/dhcpcd.conf
ファイルが開いたら、以下の項目を最後に追記します。
interface wlan0
static ip_address=192.168.2.1/24
この設定ですが、筆者の環境だと「192.168.1.1」で始まるのが今使っているルーターのアドレス空間で、ルーターに接続するデバイスには「192.168.1.xxx」というIPアドレスが割り当てられています。このため、重複しないように「192.168.2.1」から始まるアドレス空間を設定しています。これはそれぞれの環境で異なりますので、読み替えて設定してください。追記したら以下のコマンドでdhcpcdを再起動します。
$ sudo systemctl restart dhcpcd
hostapdのインストールと設定
次にルーターのアクセスポイントとなる「hostapd」をインストールします。以下のコマンドを入力してください。
$ sudo apt install hostapd
インストールしたらhostapdの設定をしていきます。まずは設定ファイルの「hostapd.conf」をnanoで作成します。
$ sudo nano /etc/hostapd/hostapd.conf
次に白紙のファイルが表示されたら、以下の項目を入力します。
interface=wlan0
driver=nl80211
hw_mode=b
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
ieee80211ac=0
wmm_enabled=1
ieee80211d=1
country_code=JP
ieee80211h=1
local_pwr_constraint=3
spectrum_mgmt_required=1
wpa=3
wpa_key_mgmt=WPA-PSK
ssid=raspi
wpa_passphrase=******
上記のそれぞれについて解説します。
- interface=wlan0
接続するインタフェースを規定します。今回はラズパイの無線LAN側を使うので「wlan0」となります。
- driver=nl80211
接続に利用する無線LANインタフェースのドライバです。
- hw_mode=b
利用する周波数帯です。「b」がIEEE 802.11b、「g」がIEEE 802.11g、「a」がIEEE 802.11aとなります。今回はIEEE 802.11bを使うので「b」にします。
- channel=1
使用するチャンネルです。すでに無線LANルーターがあるなら、「WiFi Analyzer」などのツールで、今使われているチャンネルを調べて、干渉しないように設定してください。
- macaddr_acl=0
MACアドレスによるフィルタリングですが、ここはオフ(0)の設定にします。
- auth_algs=1
認証アルゴリズムです。WPAを使う場合は「1」、WEPなら「2」、両方使うときは「3」、暗号化なしの場合は「0」です。今回はWPAを使います。
- ignore_broadcast_ssid=0
SSIDを第三者に参照されないようにする設定です。今回はオフ(0)にします。
- ieee80211ac=0
IEEE 802.11acを有効にするかどうかです。今回は設定しませんので「0」を設定します。
- wmm_enabled=1
WMM(WME)、QoS制御の規格に関する設定です。今回は有効にするために「1」とします。
- ieee80211d=1
- ieee80211h=1
IEEE 802.11dとIEEE 802.11hという、国の規制に沿った出力制御を行う規格の設定です。有効にするので両方とも「1」とします。
- country_code=JP
日本で使うのでJPとします。
- local_pwr_constraint=3
- spectrum_mgmt_required=1
無線LANの出力などに関する設定です。
- wpa=3
使用するWPAのバージョンを設定します。WPAは「1」、WPA2は「2」、両方使うときは「3」です。
- wpa_key_mgmt=WPA-PSK
利用する共有鍵認証の方式です。
- wpa_pairwise=CCMP
- rsn_pairwise=CCMP
利用する暗号化方式です。
- ssid=raspi
使用するSSIDです。ここでは「raspi」としていますが、任意に決めて入力しましょう。
- wpa_passphrase=**
接続する際のパスワードを決めます。パスワードは8~64文字の間で設定できます。
続いてhostapdのデフォルト動作ファイルを編集します。以下のように入力してnanoを起動します。
$ sudo nano /etc/default/hostapd
表示された項目の中の「#DAEMON_CONF=""」を以下のように変更します。先頭の「#」も削除しておきます。
DAEMON_CONF="/etc/hostapd/hostapd.conf"
ここでhostapdが動いているか確かめておきます。
$ sudo systemctl status hostapd
するとほとんどの場合は、下記のようなメッセージが表示されて、動作していないことが分かります。
● hostapd.service
Loaded: masked (Reason: Unit hostapd.service is masked.)
Active: inactive (dead)
このような場合は、以下のコマンドを入力してマスクを外し、再起動させましょう。
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
再び「sudo systemctl status hostapd」と入力すると、サービスの起動を確認できます。
● hostapd.service - Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authent
Loaded: loaded (/lib/systemd/system/hostapd.service; enabled; vendor preset:
Active: active (running) since Thu 2020-07-30 10:29:04 JST; 6s ago
……
……
……
今度はラズパイでポートフォワード機能(パケットを任意のデバイスに渡すこと)を設定するために、nanoで「/etc/sysctl.conf」を編集します。
$ sudo nano /etc/sysctl.conf
としてファイルを表示されたら、以下の行の先頭にある「#」を削除します。
net.ipv4.ip_forward=1
Copyright © ITmedia, Inc. All Rights Reserved.
名刺サイズの超小型PC「ラズパイ」で遊ぶ
今やスマートフォンアプリで何でも完結できてしまう時代。しかし、一から自分の手でデバイスを作り上げ、試行錯誤しながらアイデアを具現化する楽しさは格別です。この連載では、テーマや用途にあわせてマイクロコンピュータ(マイコン)と呼ばれる名刺サイズの超小型PC「Raspberry Pi」(通称ラズパイ)の活用方法から具体的な工作手順までを紹介します。
この記事の著者
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
Google、プライバシーポリシーに「Gmail」「Googleフォト」のデータを広告に使う例外を追加 回避方法は
-
2
「年齢は合ってますが、人間ではありません」 6歳の飼い猫に届いた“進研ゼミの案内” なぜ届いたのかベネッセに聞いた
-
3
「5年でバッテリーが使い物にならなくなる」は本当か テスラ「モデル3」5年目点検で分かったこと
-
4
GMO熊谷代表「社内ホワイトハッカーが事前に指摘」も対策遅れ、国に「能動的サイバー防御」要請 「責任転嫁では」SNSで批判も
-
5
グッスマに不正アクセス、公式EC閉鎖 会員の住所や注文履歴など漏えいか 再開目処立たず
-
6
ジョーシンへの不正アクセス、最大623万件漏えいか 運転免許証2件・マイナカード1件なども
-
7
野村総研、サイバー攻撃時の「能動的なシステム停止」を支援する新サービス
-
8
タイムズカー流出で顧客らが損害賠償求め運営会社提訴へ サイト開設の弁護士が記者会見
-
9
Xの「いいね」長押しで1ドル送金 マスク氏が“投げ銭”機能を予告
-
10
「漏えい」の一言で素通り客が振り返る──相次ぐ情報流出の中で開幕のセキュリティ展示会 来場者の態度も激変
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR