無線LANにWPAで接続するには? wpa_supplicantコマンドネットワーク管理の基本Tips

Linuxでは無線LANに接続する際のWPA認証に「wpa_supplicant」パッケージを利用するのが一般的です。アクセスポイントへの接続には、このパッケージに含まれる「wpa_supplicant」コマンドを利用します。

» 2016年01月25日 05時00分 公開
[海上忍@IT]
バックナンバー

連載バックナンバー

 本連載では、ネットワーク管理の基本コマンドを順を追って紹介していきます。基本書式と用法、主要なオプション、用例サンプルを示しますので、manやhelp代わりに通読し、各コマンドでできることを順次おさらいしてみてください。今回は、無線LANアクセスポイントにWPA(Wi-Fi Protected Access)で接続要求を行う「wpa_supplicant」コマンドを紹介します。

 なお、本連載では、執筆時点の最新版「Red Hat Enterprise Linux(RHEL)」および「CentOS」環境で動作を確認しています。また、用法事例はIPv4(Internet Protocol version 4)ネットワークを前提にしています。コマンドのサンプルなどで一部環境に依存した出力例となる場合がありますので、その際には適宜ご自身の環境に合わせて読み替えてください。

無線LANアクセスポイントに接続要求を行う書式

wpa_supplicant [オプション]

※[ ]は省略可能。


wpa_supplicantコマンドとは?

 wpa_supplicantは、無線LANアクセスポイントに対し、WPAで接続要求を行うためのコマンド(サプリカントソフトウェア)です。シェルでコマンドラインとして実行することも可能ですが、バックグラウンドで稼働させておき、接続要求が生じた際に自動実行させるという使い方が一般的です。

 wpa_supplicantコマンドを含む「wpa_supplicant」パッケージには、設定ファイル(/etc/wpa_supplicant/wpa_supplicant.conf)や起動/停止用のスクリプトが収録されており、wpa_supplicantコマンドはそれらを介して利用されます。

 wpa_supplicantコマンドの基本的な使い方としては、ネットワーク設定ファイル「/etc/network/interfaces」に「wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf」と各設定を読み込むよう記述しておき、無線LANアクセスポイントに関する接続/認証用の情報はその「wpa_supplicant.conf」(リスト1)に対して記述しておく、という方法があります。

ctrl_interface=/var/run/wpa_supplicant  # UNIXドメインソケットを作成する領域
ctrl_interface_group=wheel    # 上記UNIXドメインソケットの所有グループ
network = {
  ssid="○○○○"    # ESSID
  psk="△△△△"    # 暗号化キー
  key_mgmt=WPA-PSK   # 暗号化キーの管理方式
  priority=2    # 複数のnetworkブロックが定義されている場合の優先順位(大きいほど優先度が高い)
  proto=RSN   # 暗号化プロトコル
  pairwise=CCMP   # ユニキャスト用暗号化方式
  group=CCMP   # ブロードキャスト/マルチキャスト用の暗号化方式
}
リスト1 「/etc/wpa_supplicant/wpa_supplicant.conf」のサンプル

 「/etc/network/interfaces」に直接記述することも可能ですが、「wpa_supplicant.conf」と分けておいた方が、内容変更などの際に混乱しないでしょう。

 なお、wpa_supplicantパッケージには、パスフレーズ生成用のコマンド「wpa_passphrase」も収録されています(wpa_passphraseコマンドは次回に詳細を解説します)。「wpa_supplicant.conf」に暗号化キーを記録する場合は、このwpa_passphraseコマンドで暗号化したパスフレーズを記述します。


wpa_supplicantコマンドの主なオプション

 lofsコマンドの主なオプションは次の通りです(表1)。

オプション 意味
-B デーモンをバックグラウンドで実行する
-D ドライバを指定する(例:-Dwext)
-P PIDファイルを指定する
-c 設定ファイルを指定する
-f ログを指定したファイルに出力する(初期値は標準出力)
-i 使用するインタフェースを指定する(例:-iwlan0)
-p ドライバのパラメータを指定する
-s ログをsyslogに出力する(初期値は標準出力)
-t デバッグモード時にタイムスタンプを出力する
-u DBusコントロールインタフェースを有効にする
表1 wpa_supplicantコマンドの主なオプション

手動で無線LANアクセスポイントに接続するには?

 一時的に手動で無線LANアクセスポイントに接続する場合には、「-D」オプション(ドライバ)と「-i」オプション(インタフェース名)、「-c」オプション(設定ファイル「/etc/wpa_supplicant/wpa_supplicant.conf」)をそれぞれ指定して、管理者権限でwpa_supplicantコマンドを実行します。

 オプションとその引数は「-iwlan0」(「-i」オプションで「wlan0」インタフェースを指定)のように、間を空けずに続けて記述します。

$ sudo wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf


デバッグ情報を出力するには?

 何らかの問題で無線LANアクセスポイントに接続できない、複数登録したアクセスポイントの接続優先順位が期待通りにならない、といったときに原因を調べる場合には「-d」オプションを利用します。

 「d」の数を増やすと情報量が増えるため、より詳細な情報を表示したい場合は「-dd」と指定します。なお、この場合も、ドライバとインタフェース名、設定ファイルの指定が必要になります。

$ sudo wpa_supplicant -dd -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
wpa_supplicant v1.0
random: Trying to read entropy from /dev/random
Initializing interface 'wlan0' conf '/etc/wpa_supplicant/wpa_supplicant.conf' driver 'wext' ctrl_interface 'N/A' bridge 'N/A'
Configuration file '/etc/wpa_supplicant/wpa_supplicant.conf' -> '/etc/wpa_supplicant/wpa_supplicant.conf'
  ・
  ・

「ネットワーク管理の基本Tips」バックナンバー

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。