Menu

2016年11月28日月曜日

Raspberry Pi Build ④ 〜Wi-Fiルーター〜

ສະບາຍດີ!!



流浪の青年海外協力隊員 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ルーターとして動作させます。

やることは
  1. 固定IPアドレスの設定
  2. DHCPサーバーの設定
  3. APデーモン、hostapdの設定
  4. ルーティングの設定
の4点です。

まずは

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


ルーティングの設定をさせたら下記コマンドで /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 件のコメント:

コメントを投稿