…
流浪の青年海外協力隊員 t28-miya でございます。
Raspberry Pi Build の第3回目です。
今回は
Wi-Fi ルーターの作り方についてです。
いただいた Raspberry Pi B+ を使ってWi-Fiルーターを作ってみました。
ほぼ備忘録のような内容ですが、参考になるようであればどうぞ。
使った機材はまずはおなじみRaspberry Pi B+
それと、Wi-Fiモジュールが搭載されていないのでドングルを別途購入して搭載させました。
使ったドングルはTP-LINKのTL-WN722N というものです。
ラオスでも容易に手に入る製品だったということと、TP-LINK社の製品の中ではRaspberry Piと接続させて安定的に動作するということだったのでこれを選択し使ってみることにしました。
箱はこんな感じ。
実際の様子はこんな感じです。
下段のものがwi-fiルーターとして動作させているラズパイです。
LANケーブルを挿しているインターフェース側に教室で使用しているIPアドレス帯10.0.0.0/24のアドレス設定し、
ドングル側に192.168.10.0/24のアドレス帯のアドレスとDHCPによって同アドレス帯のアドレスを端末に割り振る形でWi-Fiルーターとして動作させます。
やることは
- 固定IPアドレスの設定
- DHCPサーバーの設定
- APデーモン、hostapdの設定
- ルーティングの設定
の4点です。
まずは
ディレクトリ/etc/network にある interfaces の設定を変更し、使用する各インターフェースに固定IPアドレスを設定します。
vi エディタを使ってファイルを編集しますが、他に使い慣れているエディタがあればそちらを使っていただいて構いません。コマンドは
このように設定していきます。 address でIPアドレス、netmask でサブネットマスク、gateweyでデフォルトゲートウェイを記載します。
DHCPを動作させるwlan0の部分については
#wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp
をコメントアウトします。
後述しますが、
pre-up iptables-restore < /etc/iptables.ipv4.nat
続きまして
DHCPサーバーがインストールされていない場合はインストールをして設定をしていきます。
インストールを行うコマンドは
です。
インストールができたら、設定ファイルであるdhcpd.confの設定を変更していきます。
ファイルはディレクトリ /etc/dhcp にあります。
これも vi エディタなどを使って設定していきます。
13行目、14行目をコメントアウト
21行目のコメントアウトを外して有効化します。
最後に以下の設定をファイルの最後に記載します。
これができたらファイルを保存し、DHCPサーバーを有効にさせるデフォルトインターフェースの設定を行っているファイルがあるので、その設定値を変更します。
今回はインターフェースwlan0でDHCPサーバーを有効化させたいので
#INTERFACES = " "
の部分を
INTERFACES = "wlan0" に変更します。
写真の最後のあたりの部分ですね。
Raspberry Pi をアクセスポイントとして動作させるデーモン、hostapdの設定です。
まずはない場合、インストールしてきます。
まずは設定ファイルhostapd.conf の設定をします。
設定内容はこのような内容です。
ssid= の部分でSSIDを、wpa_passphrase= の部分でパスワードを設定しています。
次にhostapdに対して、どこに設定ファイルがあるのか認識させる設定をします。
vi /etc/default/hostapd
#DAEMON_CONF = " "
の部分を
DAEMON_CONF = "/etc/hostapd/hostapd.conf" に変更します。
まずは、/etc 配下にある sysctl.conf の設定を変更してルーティングの有効化をさせます。
28行目を net.ipv4.ip_forward=1
に変更します。
こちらのコマンドでアクティベートします。
次はiptables コマンドを使ってルーティングの設定をしていきます。
Linux サーバでは NAPTの設定をさせることによって、スタティックルートを書いていくような設定をさせてルーティングの設定をさせていきます。
コマンドはこちら
ルーティングの設定をさせたら下記コマンドで /etc/iptables.ipv4.nat に保存します。
1. 固定IPアドレスの設定 の部分で暑かった interfaces ファイルの中に
pre-up iptables-restore < /etc/iptables.ipv4.nat
という一文が入っていますが、これは、ラズパイが再起動された時にルーティングテーブルを復元するための設定です。
これで設定は完了です。
ラズパイをreboot コマンドでreboot させます。
起動時wi-fiルーターとして動作するはずです。
iPod touch を作ったwi-fi ルーター に接続させてみます。
設定したSSID LFTU306 が表示されます。
接続してみます。
接続できました。
うまく動作しない場合
DHCPサーバー、 hostapd を下記のコマンドで再起動してみるとうまくいくかもしれません。
DHCPサーバー再起動
hostapd 再起動
以上 wi-fi ルーターの作り方でした。
備忘録のような内容ですが、参考になればどうぞ。
もしよろしければ
ポチっとお願いします。
↓
まずは
1.固定IPアドレスの設定
ディレクトリ/etc/network にある interfaces の設定を変更し、使用する各インターフェースに固定IPアドレスを設定します。
vi エディタを使ってファイルを編集しますが、他に使い慣れているエディタがあればそちらを使っていただいて構いません。コマンドは
vi /etc/network/interfaces
このように設定していきます。 address でIPアドレス、netmask でサブネットマスク、gateweyでデフォルトゲートウェイを記載します。
DHCPを動作させるwlan0の部分については
#wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp
をコメントアウトします。
後述しますが、
pre-up iptables-restore < /etc/iptables.ipv4.nat
続きまして
2.DHCPサーバーの設定
DHCPサーバーがインストールされていない場合はインストールをして設定をしていきます。
インストールを行うコマンドは
apt-get install isc-dhcp-server
です。
インストールができたら、設定ファイルであるdhcpd.confの設定を変更していきます。
ファイルはディレクトリ /etc/dhcp にあります。
これも vi エディタなどを使って設定していきます。
vi /etc/dhcpd/dhcpd.conf
13行目、14行目をコメントアウト
21行目のコメントアウトを外して有効化します。
最後に以下の設定をファイルの最後に記載します。
これができたらファイルを保存し、DHCPサーバーを有効にさせるデフォルトインターフェースの設定を行っているファイルがあるので、その設定値を変更します。
vi /etc/default/isc-dhcp-server
今回はインターフェースwlan0でDHCPサーバーを有効化させたいので
#INTERFACES = " "
の部分を
INTERFACES = "wlan0" に変更します。
写真の最後のあたりの部分ですね。
3. APデーモン、hostapdの設定
Raspberry Pi をアクセスポイントとして動作させるデーモン、hostapdの設定です。
まずはない場合、インストールしてきます。
apt-get install hostapd
まずは設定ファイルhostapd.conf の設定をします。
vi /etc/hostapd/hostapd.conf
設定内容はこのような内容です。
ssid= の部分でSSIDを、wpa_passphrase= の部分でパスワードを設定しています。
次にhostapdに対して、どこに設定ファイルがあるのか認識させる設定をします。
vi /etc/default/hostapd
#DAEMON_CONF = " "
の部分を
DAEMON_CONF = "/etc/hostapd/hostapd.conf" に変更します。
4. ルーティングの設定
まずは、/etc 配下にある sysctl.conf の設定を変更してルーティングの有効化をさせます。
vi /etc/sysctl.conf
28行目を net.ipv4.ip_forward=1
に変更します。
sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
こちらのコマンドでアクティベートします。
次はiptables コマンドを使ってルーティングの設定をしていきます。
Linux サーバでは NAPTの設定をさせることによって、スタティックルートを書いていくような設定をさせてルーティングの設定をさせていきます。
コマンドはこちら
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
ルーティングの設定をさせたら下記コマンドで /etc/iptables.ipv4.nat に保存します。
sh -c "iptables-save > /etc/iptables.ipv4.nat"
1. 固定IPアドレスの設定 の部分で暑かった interfaces ファイルの中に
pre-up iptables-restore < /etc/iptables.ipv4.nat
という一文が入っていますが、これは、ラズパイが再起動された時にルーティングテーブルを復元するための設定です。
これで設定は完了です。
ラズパイをreboot コマンドでreboot させます。
起動時wi-fiルーターとして動作するはずです。
iPod touch を作ったwi-fi ルーター に接続させてみます。
設定したSSID LFTU306 が表示されます。
接続してみます。
接続できました。
うまく動作しない場合
DHCPサーバー、 hostapd を下記のコマンドで再起動してみるとうまくいくかもしれません。
DHCPサーバー再起動
/etc/init.d/isc-dhcp-server restart
hostapd 再起動
/etc/init.d/hostapd restart
以上 wi-fi ルーターの作り方でした。
備忘録のような内容ですが、参考になればどうぞ。
もしよろしければ
ポチっとお願いします。
↓

0 件のコメント:
コメントを投稿