無線アクセスポイントとしてのRaspberry Piの使用方法

無線アクセスポイントとしてのRaspberry Piの使用方法

Thank you for visiting my page(blog)

シェルパでは今AI(ROSロボット研究)を始めました。

第一段階でRaspberry Pi無線アクセスポイントの設定に苦労しました。
自分みたいにこの辺苦労していらしゃる方いらしゃると思いますので
Raspberry Pi無線アクセスポイントを説明したいと思います。

ラズベリーパイは多くのことを行うことができます。
特に、新しいラズベリーパイにはすでにワイヤレス機能が搭載されています。
それはルータを含むさまざまな(そしてより高価な)デバイスの代わりに
なることができます!
ラズベリーパイをワイヤレスアクセスポイントに
すると、ルータとして機能させることができます。

これは世界で最も強力なものではありませんが、うまくいきます。

無線アクセスポイントとしてのRaspberry Piの使用方法

ここで少しコマンドラインに入りますが、このプロジェクトはそれほど
難しいことではありません。
私たちが実際にやっているのは、Raspbian
を使用して、Piに接続するデバイスにIPアドレスを
割り当てるなどのルーター
のような機能を提供するカップルパッケージをインストールすることです

Step 1: Install and update Raspbian

ターミナルに行き、アップデートとアップグレードを確認してください:

<span style="font-size: 14pt;">sudo apt-get update
sudo apt-get upgrade</span>

Step 2: Install hostapd and dnsmasq

ラズベリーパイをワイヤレスアクセスポイントにするために2つのプログラムを
使用します。
それはを入手するには、以下の行を端末に入力してください:

<span style="font-size: 14pt;">sudo apt-get install hostapd
sudo apt-get install dnsmasq</span>

どちらの場合も、続行するにはy(Yes)を押す必要があります。
hostapdはRaspberry Piを使用してワイヤレスホットスポット
を作成できる
パッケージで、dnsmasqは使いやすいDHCPとDNSサーバーです。

プログラムの設定ファイルをすぐに編集しますので、
次のようにしてプログラムをオフにしてみましょう。

<span style="font-size: 14pt;">sudo systemctl stop hostapd
sudo systemctl stop dnsmasq</span>

Step 3: Configure a static IP for the wlan0 interface

私は標準のホームネットワークIPアドレス(192.168.##.##)を使用していると
仮定しています.
その仮定を前提として、dhcpcd 設定ファイルを編集して、
IPアドレス192.168.0.10をwlan0インタフェースに割り当てましょう。

次のコマンドで編集を開始しましょう:

<span style="font-size: 14pt;">sudo nano /etc/dhcpcd.conf</span>

ファイルに入ったので、最後に次の行を追加します:

<span style="font-size: 14pt;">interface wlan0
static ip_address=192.168.0.10/24
denyinterfaces eth0
denyinterfaces wlan0</span>

(最後の2行はブリッジを動作させるために必要ですが、
これはステップ8説明します。)
入力が終わったらCtrl + X、Y、Enterを
押してファイルを保存し、エディタを終了します。

Step 4: Configure the DHCP server (dnsmasq)

DHCPサーバーとしてdnsmasq を使用します。DHCPサーバーの考え方は、
IPアドレスなどのネットワーク構成パラメータを動的に配布します。
dnsmasqのデフォルト設定ファイルには多くの不必要な情報が含まれています。
デフォルトの設定ファイルの名前を以下のように変更しましょう:

<span style="font-size: 14pt;">sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf</span>

ここで新しいファイルを編集し、下記のコードを入力してください。

<span style="font-size: 14pt;">interface=wlan0
  dhcp-range=192.168.0.11,192.168.0.30,255.255.255.0,24h</span>

追加した行は、wlan0インターフェイスの192.168.0.11から192.168.0.30
までのIPアドレスを提供することを意味しています。

Step 5: Configure the access point host software (hostapd)

ここでは、次のようなhostapd設定ファイルを編集します。

<span style="font-size: 14pt;">sudo nano /etc/hostapd/hostapd.conf</span>

これより、新しいファイルを作成されます。以下のように入力してください。

<span style="font-size: 14pt;">interface=wlan0
bridge=br0
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
<strong><span style="color: #ff6600;">ssid=”ネットワーク名を入力してください”
wpa_passphrase=”パスワードを入力してください”</span></strong></span>

これは、Piネットワークに他のデバイスから接続する方法です。
次は、システムに設定ファイルの場所を表示する必要があります。

<span style="font-size: 14pt;">sudo nano /etc/default/hostapd</span>

このファイルでは、#DAEMON_CONF=””という行を探し、
#を削除し以下のようにパスを設定してください。

<span style="font-size: 14pt;">DAEMON_CONF="/etc/hostapd/hostapd.conf"</span>

#はコードがコードとして読み込まれないようにしているので、
基本的にはこの行をここに置いて、設定ファイルの正しいパスを与えます。

Step 6: Set up traffic forwarding

Piに接続すると、イーサネットケーブルを介してトラフィックが転送されます。
これにはさらに別の設定ファイルの編集が含まれます:

<span style="font-size: 14pt;">sudo nano /etc/sysctl.conf</span>

次は、この行を見つけてください:

<span style="font-size: 14pt;">#net.ipv4.ip_forward=1</span>

“#”を削除して残りの部分を残しておきます。

<span style="font-size: 14pt;">net.ipv4.ip_forward=1</span>

Step 7: Add a new iptables rule

次に、iptablesを使用してeth0に発信トラフィックのIPマスカレードを
追加します。

<span style="font-size: 14pt;">sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE</span>

…新しいiptablesルールを保存します:

<span style="font-size: 14pt;">sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"</span>

起動時にルールをロードするには、ファイル/etc/rc.localを編集し、
行出口0のすぐ上に次の行を追加する必要があります。

<span style="font-size: 14pt;">iptables-restore < /etc/iptables.ipv4.nat</span>

Step 8: Enable internet connection

今の段階でRaspberry Piは他のデバイスが接続できるアクセスポイント
として機能しています。
しかし、これらの機器ではPiを使って
インターネットにアクセスすることはできません。
接続できるように
するには、wlan0とeth0の間のすべてのトラフィックを通過させる
ブリッジを構築する必要があります。

<span style="font-size: 14pt;">sudo apt-get install bridge-utils</span>

新たなブリッジを追加する準備が整いました(br0)。

<span style="font-size: 14pt;">sudo brctl addbr br0</span>

次に、eth0インターフェイスをブリッジに接続します。

<span style="font-size: 14pt;">sudo brctl addif br0 eth0</span>

最後に、interfacesファイルを編集しましょう:

<span style="font-size: 14pt;">sudo nano /etc/network/interfaces</span>

…ファイルの最後に次の行を追加します。

<span style="font-size: 14pt;">auto br0
iface br0 inet manual
bridge_ports eth0 wlan0</span>

Step 9: Reboot

これで準備が整ったので、sudo reboot でラズベリーパイを
再起動しましょう。

ラズベリーパイはアクセスポイントとして働いているはずです。
別のデバイスでホッピングし、
手順5で使用したネットワーク名を
探して接続を試してください。

最後まで読んでいただいてありがとうございます。

 

現在シェルパではスタッフ大募集しております!!
UnrealEngineやUnity、建築パースに興味がある方!
ぜひご応募下さい!!
初心者の方や、未経験の方でも大歓迎です
応募はこちらへ
CGパース関係のご依頼は株式会社シェルパまで
VR/AR/MRのご依頼はシェルパVRまで