Help us understand the problem. What is going on with this article?

Debian で WPA-PSK(AES) 方式で無線接続 - wpa_supplicant 編

More than 5 years have passed since last update.

Debian で WPA-PSK(AES) 方式で無線接続 - NetworkManager 編 で上手く行かなかった人とか psk 直書き気持ち悪い人のための wpa_supplicant 編。

環境

前と同じ。
- OS: Debian wheezy
- 無線 LAN firmware: iwlwifi
- ルータ: Buffalo WZR2-G300N

wpa_supplicant を使う

今度は wpa_supplicant を使います。

$ sudo aptitude install wpasupplicant

今回使いませんでしたが、GUI 版の wpagui というのもあるようです。

PSK 入手

これも前と同じだから略。以下、

  • (E)SSID: MY_HOME
  • psk: HogeFuga

として説明を進めます。

wpa_supplicant.conf

wpa_supplicant.conf は最初は多分ないと思います。あったら適当に名前変えてバックアップとってください。

$ cd /etc/wpa_supplicant
$ wpa_passphrase MY_HOME HogeFuga
network={
        ssid="MY_HOME"
        #psk="HogeFuga"
        psk=6c254edfa9a2340e5b668f990eb6658243486f0fcda2c810264848441415547b
}
$ wpa_passphrase MY_HOME HogeFuga > wpa_supplicant.conf

wpa_passphrase コマンドが psk を暗号化しつつ設定ファイルの雛形を作ってくれます。psk の文字数がおかしかったりすると怒られます。こいつをファイルに保存して、いくつか書き加えます:

wpa_supplicant.conf
network={
        # ここから
        proto=WPA
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        priority=2
        # ここまで書き加える
        ssid="MY_HOME"
        #psk="HogeFuga"
        psk=6c254edfa9a2340e5b668f990eb6658243486f0fcda2c810264848441415547b
}

サンプルの設定ファイル (/usr/share/doc/wpa_supplicant/以下) では pairwise とか group の所にもっとややこいことが書いてあったりしましたが、WPA-PSK(AES) 方式の場合はこれで十分だと思います(CCMP が AES の暗号プロトコルらしいので)。

#psk="HogeFuga" の行はただのデバッグ用の出力なので、正しく接続できるようになったら消していいです(むしろ消すべき)。まぁ、NetworkManager の時みたいに直書きするよりはちょっとだけマシだろう…。

$ sudo chmod 600 wpa_supplicant.conf

今度は /etc/network/interfaces をいじります。

$ cd /etc/network
$ sudo vim interfaces
interfaces
# :
# :
# 以下の行を追加
auto wlan0
iface wlan0 inet dhcp
    wpa-conf    /etc/wpa_supplicant/wpa_supplicant.conf

で、こっからえらく手間取りました。

$ sudo wpa_supplicant -iwlan0 -Dwext wpa_supplicant.conf -dddt -c wpa_supplicant.conf
# -i(インターフェース)
# -D(ドライバ)
# -d(デバッグ出力)
# -c(設定ファイル)
 :
 :

いくつかのサイトで、「これで設定が通るか確認、通ればオッケー!」みたいに書いてありましたが、私の場合全く上手く行きませんでした。なんでや。

とりあえず、NetworkManager など同類のものが動いてたら競合する可能性があるので止めておきます。念を押して /etc/NetworkManager/system-connections/MY_HOME も消しておきました。その上で無線ネットワークインターフェースを再起動。

$ sudo service network-manager stop
$ sudo rm /etc/NetworkManager/system-connections/MY_HOME
$ sudo ifdown wlan0
$ sudo killall wpa_supplicant
$ sudo ifup wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/**:**:**:**:**:**
Sending on   LPF/wlan0/**:**:**:**:**:**
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 4
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 10
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.11.1
DHCPACK from 192.168.11.1
bound to 192.168.11.11 -- renewal in 70583 seconds.

通った。

ちなみに最初は四苦八苦した挙句投げて再起動してみたら上手く行きました。なので、wlan0 が既に立ち上がってたのがよくなかったのだと思います。更にちなみにちなみに /etc/network/interfaces を書き間違えて再起動したら DHCPDISCOVER の所の retry だけで 1 分くらい食いました。


試行錯誤の結果 NetworkManager もしくは wpa_supplicant を使って WPA-PSK(AES) 方式で接続できるようになりましたが、もっとスマートな方法があるぜとかここの設定開けば GUI で一瞬 YO~ とかあればご指摘下さい。

参考文献

  • 無線LAN問題の調査方法 - openSUSE
    • 再起動しまくったり色々試行錯誤してる時のトラブルシューティングでここが参考になりました。ありがとうございます。
  • man
  • /usr/share/doc/wpa_supplicant/README.*
  • /usr/share/doc/wpa_supplicant/examples/*
    • 色々ググったけど古い情報しか出てこなかったり環境が違い過ぎたりしてまるで参考にならなかったから後は自力で man 読んでください。
t_uda
主に JavaScript-er です。HTML5 力が足りていない。数学方面でよく C++ も書いていますがあまり詳しくないです。誰か私に RAII について教えてください。 Twitter とは距離を置いてそろそろ Qiita 活用してプログラミング生活にうちこみたいそんな今日この頃。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした