- wpa_supplicantで無線LANの接続を確立する
- DHCPクライアント(dhclientかdhcpcd)でアドレスを割り当てる
無線LANの接続が確立したらDHCPクライアントでアドレスを割り当てます。Webで事例を探すとdhclientを使っている場合が多いので、まずこちらを使ってみました。
dhclientは設定ファイルを参照することもできるようですが、ファイルを用意しておかなくてもアドレスの割り当ては出来ます。コマンドラインで試してみたら簡単にIPv4アドレスが割り当てられました。結構簡単だと思い/etc/rc.confで有効にして再起動してみたら、何故かアドレスが割り当てられていません。処理中のログを出すようにしてブートさせてみました。上手くいけば下記のような結果が得られるのですが、ブート中はDHCPDISCOVERが何度も繰り返し出ていて、処理が終わる前に打ち切られてブート処理が進んでしまっているようでした。試しに/etc/rc.d/dhclientに手を入れて最後に60秒間スリープするようにしてみたところ無事にDHCPでアドレスが割り当てられるようです。これで解決したとは言えるのですが、正式にリリースされたファイルに手を加えるのは躊躇われますし、60秒という時間にも何の根拠もないので不必要に長すぎるのも面白くありません。
Internet Systems Consortium DHCP Client 4.3.0NetBSD/i386には何故かdhcpcdというDHCPクライアントも入っていたので、こちらを使ってみました。オプションはいろいろあるようですが普通に使う分には何も指定する必要はなく簡単です。これはブート中であってもアドレスを取得してくれるので何も問題がありませんでした。
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on BPF/wpi0/**:**:**:**:**:**
Sending on BPF/wpi0/**:**:**:**:**:**
Sending on Socket/fallback
DHCPDISCOVER on wpi0 to 255.255.255.255 port 67 interval 6
DHCPREQUEST on wpi0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.1.1
DHCPACK from 192.168.1.1
bound to 192.168.1.19 -- renewal in 5624 seconds.
Webで見つけた情報ですが/etc/rc.confに以下の行を入れておく必要がありました。これが無いとdhcpcdであってもうまくいかないようです。これが何をするための指定なのか把握していないので、調べておこうと思います。
critical_filesystems_local="/var /usr"
0 件のコメント:
コメントを投稿