Androidを載せたbeagleboard-xmをWiFi APにするまで(其の弐)
前回まででGW-US54GSXが認識されてath0という新しいインタフェースが生成されるところまで確認できたので、アクセスポイント用の設定を行うところからはじめる。
ここもほとんどが参照先のやり方にそっています。
参照先:http://nitrogen14.blog51.fc2.com/blog-entry-118.html
PC Linux(Ubuntu)上でWiFi APの設定
まずはWiFi AP化に必要なパッケージを追加インストールする。
- wireless-tools
- iwconfigなどWiFiインタフェース設定用のコマンド類。私の環境ではすでにインストールされていた。
- dhcp3-server
- DHCPサーバ。WiFi APにつなぎにきたクライアントにDHCPでIPを払い出すために使う。
- dnsmasq
- DNSキャッシュサーバ。設定が簡単(というか不要)なのでおすすめ。
dhcp3-serverの設定
下記ように設定ファイルを編集、追記する。
ath0インタフェースで接続しにきたDHCPクライアントに対して192.168.11.2-10のアドレスを割り当てるような設定。
/etc/default/dhcp3-server INTERFACES="ath0"
/etc/dhcp3/dhcpd.conf subnet 192.168.11.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.11.2 192.168.11.10; option domain-name-servers 192.168.11.1; option routers 192.168.11.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.11.255; default-lease-time 6000; max-lease-time 72000; }
iptablesの設定
ath0→eth0でフォワーディングされるパケットついてIPマスカレードがかかるように設定。
iptables -t nat -I POSTROUTING -s '192.168.11.0/24' -o eth0 -j MASQUERADE
iwconfigを使ったath0の設定
ath0をAPモードで動くようにiwconfigで設定する。セキュリティはWEPを使うのでhostpad等の外部プログラムの設定は不要。
とりあえずコマンドラインで直接設定する。
iwconfig ath0 mode Master iwconfig ath0 essid fragile iwconfig ath0 channel 6 iwconfig ath0 rate 11M iwconfig ath0 key 1111111111
カーネルのフォワーディング設定
Linuxカーネルのデフォルト設定ではインタフェース間のフォワーディング動作が禁止されているため、有効化する設定をする。次回の起動から常に有効になるようにファイルを編集する。
/etc/sysctl.conf # Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1
ここまでの設定でiPhoneからの接続してインターネットにも抜けられることを確認できた。
PC上での検証はここまでにしてbeagleboard-xm上での構築にうつってみる。