« 映画 : ポイント45 / ビッチなミラ・ジョヴォヴィッチ / ビッチの痛々しさ啓蒙映画 | Top | ジュール ヴェルヌ 『海底二万里』(岩波文庫) / ネモ船長は正義か? »

2009年01月21日

●Solaris10の無線LANで WPA2-PSK/TKIPのアクセスポイントに接続する

この間Thinkpad X40を買って、そこにSolaris10 u6をインストールして、家にあるWPA2-PSKな無線LANに接続しようとしてネット上で情報収集したのだが、solarisで無線LANを使う場合に、共通キーでWEP認証し、通信に暗号化なしで利用する場合の設定はネット上を探せば結構載っているのやけど、WPAやWPA2認証を利用して、AESかTKIPを利用した場合の設定の仕方が全く載ってない。
私の探した限り日本語での情報は皆無であるような気がする。
solaris用の無線LANカードの配布元である、OpenSolarisのLaptopコミュニティで、wpa認証とTKIP/AES暗号化を実現する「wpa_supplicant」なるパッケージのページで手順は説明されてはいるのやけど、私なりにまとめてみた。

Thinkpad X40上のsolaris10 x86 u6 10/08で、mini-PCIのAtheros AR5BMB-44の無線LANカードを使い、認証にWPAパスフレーズでWPA2、暗号化にTKIP、DHCPサーバーからアドレスをもらう場合の設定を書いてみる。
いわゆるWPA2-PSK / AESというやつである。

ただし、ath0として認識するAtheros系のカードしかwpaで使えないらしい。私の場合はThinkpad X40に対応したIEEE802.1/gなmini-PCIのカードを買ったのでこれに該当した。

必須パッケージ:
ath driver: 入手先:OpenSolaris Laptopコミュニティー Solaris10ではバージョン0.5でしか動かない。
wpa_supplicant :入手先:OpenSolaris Laptopコミュニティー
wificonfig :入手先:OpenSolaris Laptopコミュニティー
Inetmenu :入手先:OpenSolaris Laptopコミュニティー
SUNWcryパッケージ(Solaris 10 Encryption Kit): 入手先:SUNダウンロードセンター

動作概要は、WPA/WPA2認証とTKIP/AES暗号化を実装するための核であるwpa_supplicantがデーモンとしてバックグラウンドで動き、wificonfigでしかるべきパラーメータを渡して、ath0で認識したNICをwpa_supplicantデーモン経由でアクセスポイントに接続する。(データリンク層なイメージ?)
接続が完了したらinetmenuでDHCPサーバーからアドレスをもらい、ネットワークの設定を完了する。
といったとろ。ただし、このwpa_supplicantデーモンはath0ドライバでしか動作しない。
Solaris 10 Encryption KitのSUNWcryは接続後にDHCPサーバーからアドレスをもらって通信する際に必要な暗号化キットであるということだ。本来ならSolarsiに入れておけばいいのやろうけど、暗号化技術の輸出規制のからみにより、ユーザーがー自分で導入する必要があるようである。

手順:

#wificonfig createprofile AP-WPA2-PSK-TKIP essid=SSID名 psk=パスフレーズ pairwise=TKIP group=TKIP proto=RSN
##まず、wificonfigで接続プロファイルを作っておく、プロファイル名は「AP-WPA2-PSK-TKIP」としておく。SSID名、PSKパスフレーズ、暗号化方式にTKIP、認証方式にRSN(WPA2)を指定している。
##一度プロファイルを作っておけば、次回からこのコマンドを入力することなくプロファイル名を利用できる。

##wpa_supplicantデーモンの起動 インターフェイス名を指定
#/usr/sbin/wpa_supplicant -i ath0
##デバッグモードでフォアグラウンドで動作させるには/usr/sbin/wpa_supplicant -i ath0 -dd -Fとする

##アクセスポイントに接続
#/usr/sbin/wificonfig -i ath0 connect AP-WPA2-PSK-TKIP
##「/usr/sbin/wificonfig: connecting to profile 'AP-WPA2-PSK-TKIP'」と表示されれば接続は完了

##ネットワークに接続
#/usr/bin/inetmenu -W KARM -i ath0 -p DHCP
##ifconfig ath0 plumb && ifconfig ath0 dhcp でもよいが、こちらはDNSの設定をしてくれないのでinetmenuを利用した。inetmenuはplumbもしてくれる。

上でwificonfigに必要そうなパラメーターを指定しているけど、基本的にはpskとssidの指定だけで、wpa_supplicantデーモンがアクセスポイントの認証方式と暗号化方式を自動的に認識して接続してくれる。
アクセスポイントがミックスモードで動作している場合、wpa_supplicantはAES>TKIPという優先順位で接続にいくようだ。
しかしながら、AES暗号化のアクセスポイントに接続しようとすると、wificonfigのメッセージでは正常に接続されたようでもいつまでたっても接続が完了しない。
wpa_supplicantをデバッグモードで動かしていると

WPA: Failed to set PTK to the driver.
wpa_supplicant_process_3_of_4: key_info=1ca gtk=0
なるログを延々と吐き続けているのが見える。
このあたりはwpa_supplicantがバージョンアップされて解消されるのを待つしかないのだろうか。

トラックバックURL

 

コメントする

(必須項目:名前とコメント本文)
皆様のコメントを心よりお待ちしております。m(__)m