※ ubilinux - edisonをアクセスポイント化しよう その1の続き
Overview
- ユーザが固定IPアドレス設定なしにedisonへ接続できるようにする.
- edisonをdhcpサーバ化する.
その1では,edisonをアクセスポイント化することには成功しましたが,ユーザが固定IPアドレスを設定する必要がありました.
本稿では,edisonをdhcpサーバ化させ,edisonに接続した端末に対し自動でIPアドレスを振れるようにします.
Step 1 : hostapd用のudhcpdの設定をする
ubilinuxには,あらかじめudhcpdという軽量なdhcpサーバがインストールされてます.
今回はこのアプリケーションを使用して,edisonをdhcpサーバ化します.
ここで重要なのが,hostapd用のudhcpdを設定することです.
実はhostapdを立ち上げた段階で,2つudhcpdが立ち上がっています.
# ps aux | grep -i udhcp
root 1880 0.0 0.0 2576 596 ? Ss 14:53 0:00 /usr/sbin/udhcpd -S
root 1993 0.0 0.0 2576 608 ? Ss 14:53 0:00 udhcpd -S /etc/hostapd/udhcpd-for-hostapd.conf
root 2066 0.0 0.0 2100 672 ttyMFD2 S+ 15:04 0:00 grep -i udhcp
1つ目の/usr/sbin/udhcpd
は,いわゆる標準のudhcpdです.
こちらはデフォルトでusb0上で動いています.
2つ目のudhcpd -S /etc/hostapd/udhcpd-for-hostapd.conf
は,hostapdが立ち上げた(であろう)udhcpdです.
こちらはデフォルトでwlan0上で動いています.
今回は2つ目のudhcpdの設定を変更していくことにします.
さて,ここからudhcpdの設定を変更していきます.
まず,初期設定ファイルのバックアップを一応とっておきます.
mv /etc/hostapd/udhcpd-for-hostapd.conf /etc/hostapd/udhcpd-for-hostapd.conf.org
次に,udhcpdの設定を行います.
※/etc/network/interfacesの設定と矛盾がないようにします.
- 各種アドレスのネットワーク部が間違ってないか.
- サブネットマスクが一致しているか.
- routerのアドレスが自固定IPアドレスと一致するか.
start 192.168.42.100
end 192.168.42.199
interface wlan0
option subnet 255.255.255.0
opt router 192.168.42.1
option domain edison-local
option lease 864000
Step 2 : ubilinuxの再起動
設定完了後,ubilinuxを再起動します.
(サービスの再起動では,標準のudhcpdが再起動するだけですので,OSごと立ち上げなおします.)
# reboot
再起動完了後,アクセスポイントに接続すると,自動的にIPアドレスが振られるようになります.
メモ
- 当初isc-dhcp-serverを使用しようとしていました.しかしubilinux起動時,isc-dhcp-serverのサービス立ち上げにこけてしまうことがわかり(ログイン後に手動で立ち上げるとうまくいきます),udhcpdを使用することにしました.
- 途中までhostapd用のudhcpdが自動で立ち上がっていることに気付かず,標準のudhcpdの設定ファイル(/etc/udhcpd.conf)をいじっていました.標準,hostapd用,2つのudhcpdで同じインターフェース上(wlan0)を使用しようとしていたため,もちろんうまく動きませんでした.