EN JA
WPA_SUPPLICANT.CONF(5)
WPA_SUPPLICANT.CONF(5) FreeBSD File Formats Manual WPA_SUPPLICANT.CONF(5)

名称

wpa_supplicant.confwpa_supplicant(8) のための設定ファイル

解説

wpa_supplicant(8) ユーティリティは、WPA Supplicant コンポーネントの実装、すなわち、クライアントステーションで実行する部分です。テキストファイルに格納された設定情報を使用する認証サーバで WPA 認証コードと EAP 認証での WPA キーネゴシエーションを実装します。

設定ファイルは、オプションのグローバルパラメータ設定と 1 つ以上のネットワークブロックから成ります (例えば、各使用された SSID あたり 1 つ)。 wpa_supplicant(8) ユーティリティは、設定ファイルのネットワークブロック、ネットワークセキュリティレベル (WPA/WPA2 が優先されます) とシグナルの強度の順序に基づいて自動的に最良のネットワークを選択します。コメントは‘ #’文字で示されます。行の終わりまでのすべてのテキストは無視されます。

グローバルパラメータ

wpa_supplicant(8) によって使用されるデフォルトのパラメータは、設定ファイル (空白は許されないことに注意) で

parameter=value

と指定することによって、上書きされます。埋め込まれた空白のある値は、引用符で囲まなければなりません。

次のパラメータが認識されます:

ctrl_interface
wpa_supplicant(8)wpa_cli(8) のようなフロントエンドプログラムと通信する UNIX ドメインソケットを作成するディレクトリのパス名。
ctrl_interface_group
制御インタフェースファイルでの保護を設定する際に使用するグループ名またはグループ ID。 root でないユーザが制御インタフェースファイルにアクセスできるように設定することができます。グループが指定されないなら、コントロールインタフェースのグループ ID は、変更されません、そして、通常、ソケットが作成されるディレクトリのグループ ID となります。
eapol_version
使用する IEEE 802.1x/EAPOL プロトコルバージョンで、 1 (デフォルト) か 2 のいずれかです。 wpa_supplicant(8) ユーティリティは、EAPOL バージョンを 2 となるように定義する IEEE 802-1X-REV-d8 に従って実装されています。しかしながら、デフォルトで wpa_supplicant(8) が、 EAPOL バージョン 1 を使用しているとアナウンスするので、このバージョンを受け取るとき、いくつかのアクセスポイントは動作しません。アクセスポイントでの正しい操作のためにバージョン 2 をアナウンスしなければならないなら、この値は 2 に設定されます。
ap_scan
アクセスポイントスキャンと選択制御で、 0、1 (デフォルト) または 2 のいずれかです。 1 の設定は、 wlan(4) モジュールだけで使用されるべきです。他の設定は他のオペレーティングシステムでの使用のためのものです。
fast_reauth
EAP の速い再認証で、 1 (デフォルト) か 0 のいずれかです。それをサポートする EAP メソッドで速い再認証サポートを制御します。

ネットワークブロック

各潜在的なネットワーク/アクセスポイントには、どのようにそれを識別するか、そして、どのようにセキュリティを設定するかを記述する“ネットワークブロック”があるべきです。複数のネットワークブロックが設定ファイルにリストされているとき、最優先のものが使用のために選択されるか、または同じ優先度がある複数のネットワークが識別されるなら、設定ファイルにリストされた最初のものが使用されます。

ネットワークブロック記述は次の形式です:

network={ 
 parameter=value 
 ... 
}

(先導する“ network={”には、空白があってはならないことに注意してください)。ブロック指定は、次のリストの 1 つ以上のパラメータを含んでいます:

ssid (required)
(アクセスポイントによってアナウンスされる) ネットワーク名。引用符で囲まれた ASCII または、16 進数文字列です。
scan_ssid
SSID スキャンテクニックで、0 (デフォルト) または、1 です。テクニック 0 は、ブロードキャスト (同報通信) Probe Request フレームを使用し、一方、1 は、指示された Probe Request フレームを使用して SSID をスキャンします。それらの SSID をブロードキャストしないことによってそれら自体を覆い隠すアクセスポイントは、テクニック 1 を必要としますが、このスキームは、完了するために、スキャンがより長くなる可能性があることに注意してください。
bssid
ネットワーク BSSID (通常アクセスポイントの MAC アドレス)。
priority
複数のネットワークの中で選択するときのネットワークの優先度。より高い値は、より望ましいネットワークであることを意味します。デフォルトで、ネットワークには、優先度 0 があります。同じ優先度がある複数のネットワークの選択が考慮されるとき、セキュリティポリシのような他の情報とシグナルの強さは、 1 つを選択するために使用されます。
mode
IEEE 802.11 オペレーションモードで、 0 (インフラストラクチャ、デフォルト) または 1 (IBSS) のいずれか。 NONE (通常のテキストと静的な WEP) に設定された key_mgmt または WPA-NONE (固定グループキー TKIP/CCMP) に設定された key_mgmt でのみ IBSS (adhoc) モードを使用することができことに注意してください。さらに、 ap_scan は、IBSS のために 2 に設定されなければなりません。 WPA-NONE は、WPA に設定された proto、WPA-NONE に設定された key_mgmt、NONE に設定された pairwise、CCMP または TKIP (両方でない) のいずれかに設定された group と設定されなければならない psk も必要とします。
proto
受け付け可能なプロトコルのリストで、次の 1 つ以上です: WPA (IEEE 802.11i/D3.0) と RSN (IEEE 802.11i)。 WPA2RSN の別名前です。設定されていないなら、デフォルトは、“ WPA RSN”です。
key_mgmt
受け付け可能なキー管理プロトコルのリストで、次の 1 つ以上です: WPA-PSK (WPA 前もって共有されたキー), WPA-EAP (EAP 認証を使用する WPA), IEEE8021X (EAP 認証を使用する IEEE 802.1x とオプションで動的に生成された WEP キー), NONE (通常のテキストまたは静的な WEP キー)。設定されていないなら、デフォルトは、“ WPA-PSK WPA-EAP”です。
auth_alg
許される IEEE 802.11 認証アルゴリズムのリストで、次の 1 つ以上です: OPEN (WPA/WPA2 に必要であるオープンシステム認証), SHARED (認証を共有されたキー認証), LEAP (LEAP/ネットワーク EAP)。設定されていないなら、自動選択が使用されます (LEAP が EAP メソッドの 1 つとして許されてるなら、有効にされた LEAP でのオープンシステム)。
pairwise
WPA のための受け付け可能なペアワイズ (対となった) (ユニキャスト) 暗号のリストで、次の 1 つ以上です: CCMP (CBC-MAC, RFC 3610, IEEE 802.11i/D7.0 がある Counter モードの AES), TKIP (一時キーインテグリティプロトコル (Temporal Key Integrity Protocol), IEEE 802.11i/D7.0), NONE (推奨しない)。設定されていないなら、デフォルトは、“ CCMP TKIP”です。
group
WPA のための受け付け可能なグループ (マルチキャスト) 暗号のリストで、次の 1 つ以上です: CCMP (CBC-MAC, RFC 3610, IEEE 802.11i/D7.0 がある Counter モードの AES), TKIP (一時キーインテグリティプロトコル (Temporal Key Integrity Protocol), IEEE 802.11i/D7.0), WEP104 (104 ビットのキーの WEP), WEP40 (40 ビットのキーの WEP)。設定されていないなら、デフォルトは、“ CCMP TKIP WEP104 WEP40”です。
psk
WPA-PSK モードで使用される WPA 前もって共有されたキー。キーは、64 桁の 16 進数か 8-63 文字の ASCII パスフレーズとして指定されます。 ASCII パスフレーズは、SSID を使用して実行時に動的に 256 ビットのキーに変換するか、または wpa_passphrase(8) ユーティリティを使用して設定時に静的にそれらを変換することができます。
eapol_flags
1 ビットのフィールドとして指定された非 WPA モードのための動的 WEP キー使用法。ビット 0 (1) は、強制的に使用されるユニキャスト WEP キーを動的に生成します。ビット 1 (2) は、強制的に使用されるブロードキャスト WEP キーを動的に生成します。デフォルトで、これは 3 に設定されます (両方を使用)。
eap
受け付け可能な EAP メソッドのリストで、次の 1 つ以上です: MD5 (EAP-MD5、WPA で使用することができません、EAP-PEAP または EAP-TTLS で Phase 2 メソッドとしてのみ使用します), MSCHAPV2 (EAP-MSCHAPV2、WPA で使用することができません、EAP-PEAP または EAP-TTLS で Phase 2 メソッドとしてのみ使用します), OTP (EAP-OTP、WPA で使用使用することができません、EAP-PEAP または EAP-TTLS で Phase 2 メソッドとしてのみ使用します), GTC (EAP-GTC、WPA で使用使用することができません、EAP-PEAP または EAP-TTLS で Phase 2 メソッドとしてのみ使用します), TLS (EAP-TLS、クライアントとサーバ証明書), PEAP (EAP-PEAP、トンネル化された EAP 認証で), TTLS (EAP-TTLS、トンネル化された EAP または PAP/CHAP/MSCHAP/MSCHAPV2 認証で)。設定されなていなら、デフォルトは、 wpa_supplicant(8) にコンパイルされたすべての利用可能なメソッドです。デフォルトで、 wpa_supplicant(8) は、EAP サポートでコンパイルされていることに注意してください。 EAP サポートを無効にするために使用することができる NO_WPA_SUPPLICANT_EAPOL 設定変数については、 make.conf(5) を参照してください。
identity
EAP のための識別文字列。
anonymous_identity
(例えば、EAP-TTLS のような、異なるトンネル化された識別をサポートする EAP タイプで非暗号化された識別として使用される) EAP の匿名の識別文字列。
mixed_cell
スキャン結果から BSS を選択するとき、通常のテキストと暗号化の両方が可能であるネットワークが許可されているかどうかを設定します。デフォルトで、これは 0 に設定されます (無効)。
password
EAP のためのパスワード文字列。
ca_cert
CA 証明書ファイルへのパス名。このファイルは、1 つ以上の信頼された CA 証明書を持つことができます。 ca_cert が含まれていないなら、サーバ証明書は検証されません (推薦されません)。
client_cert
クライアント証明書ファイル (PEM/DER) へのパス名。
private_key
クライアント秘密キーファイル (PEM/DER/PFX) へのパス名。 PKCS#12/PFX ファイルが使用されるとき、 client_cert は、PKCS#12 ファイルから読み込まれるとき、秘密キーと証明書の両方を指定するべきではありません。
private_key_passwd
どんな秘密キーファイルのためのパスワード。
dh_file
(PEM 形式の) DH/DSA パラメータを保持するファイルへのパス名。このファイルは、短命の (一時) DH キー交換のためのパラメータを保持します。ほとんどの場合、デフォルトの RSA 認証はこの設定を使用しません。しかしながら、短命の DH キー交換を使用するために RSA を設定することは可能です。さらに、DSA キーでの暗号は、常に短命の DH キーを使用します。これは、フォワードセキュリティ (forward secrecy) を達成するために使用することができます。 dh_file が DSA パラメータ形式にあるなら、自動的に DH パラメータに変換されます。
subject_match
認証サーバ証明書のサブジェクトに対して適合されるサブストリング (部分文字列)。この文字列が設定されるなら、サーバ証明書は、サブジェクトにこの文字列を含んでいる場合にだけ受け付けられます。サブジェクト文字列は、次の形式があります:

/C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
phase1
phase1 (外側の認証、すなわち、TLS トンネル) パラメータ、 (フィールド値のペアがある文字列、例えば、“ peapver=0”または“ peapver=1 peaplabel=1)”。
peapver 
は、強制的に PEAP バージョン (0 か 1) が使用されるようにするために使用することができます。
peaplabel=1 
は、PEAPv1 か新しいとき、新しいラベル、強制的に“クライアント PEAP 暗号化”をキーの導出の間に使用されるようにするために使用することができます。ほとんどの既存の PEAPv1 実装は、古いラベル、“ クライアント EAP 暗号化”を使用するように思えます、そして wpa_supplicant(8) は、現在デフォルト値としてそれを使用しています。いくつかのサーバ、例えば、 Radiator、では、PEAPv1 で同時に利用するために peaplabel=1 設定を必要とします。その他の詳細に関しては、 eap_testing.txt を参照してください。
peap_outer_success=0 
は、トンネル化された EAP-Success で PEAP 認証を終了するために使用することができます。これは、 draft-josefsson-pppext-eap-tls-eap-05.txt を実装するいくつかの RADIUS サーバで必要とされます (例えば、“IETF Draft 5”モードの PEAP で Lucent NavisRadius v4.4.0)。
include_tls_length=1 
は、たとえそれらが断片化されなくても、 wpa_supplicant(8) にすべての TLS メッセージに TLS Message Length フィールドを含ませるために使用することができます。
sim_min_num_chal=3 
は、3 つのチャレンジを必要とするように EAP-SIM を設定するために使用することができます (デフォルトでは、2 か 3 を受け付けます)。
fast_provisioning=1 
オプションは EAPFAST 資格証明 (PAC) のインラインプロビジョニングを有効にします。訳注) プロビジョニングは、管理用に提供されるプロセス。
phase2
phase2: phase2 (TLS トンネルでの内側の認証) のパラメータ (フィールド値ペアでの文字列、例えば、EAPPEAP のための“ auth=MSCHAPV2” EAP-TTLS のための“ autheap=MSCHAPV2 autheap=MD5”)。
ca_cert2
ca_cert に似ていますが、EAP 内側 phase2 用です。
client_cert2
client_cert に似ていますが、EAP 内側 phase2 用です。
private_key2
private_key に似ていますが、EAP 内側 phase2 用です。
private_key2_passwd
private_key_passwd に似ていますが、EAP 内側 phase2 用です。
dh_file2
dh_file に似ていますが、EAP 内側 phase2 用です。
subject_match2
subject_match に似ていますが、EAP 内側 phase2 用です。
eappsk
EAP-PSK での使用のための 16 進数形式の 16 バイト事前に共有されたキー。
nai
EAP-PSK での使用のためのユーザ NAI。
server_nai
EAP-PSK での使用のための認証サーバNAI。
pac_file
EAP-FAST で PAC エントリのために使用するファイルへのパス名。 wpa_supplicant(8) ユーティリティは、PAC がプロビジョニングか、またはリフレッシュされるとき、このファイルを作成して、それに書き込み更新できなければなりません。
eap_workaround
不正な認証サーバで様々な相互運用性問題のための EAP 回避策を有効/無効にします。デフォルトでは、これらの回避策は有効にされます。これを 0 に設定することによって、正確な EAP 適合性を設定することができます。
wep_tx_keyidx
パケットの転送のためにどのキーを使用するか。
wep_keyN key
WEP キーをエンコードするために引用符で囲まれた ASCII 文字列。引用符がなければ、これは、実際のキーの 16 進数の文字列です。 WEP は、不安定であると見なされていて、避けられるべきです。 ASCII から 16 進数のキーへの正確な変換は、異なります。可能なところならどこでも 16 進数キーを使用してください。

証明書

いくつかの EAP 認証メソッドは証明書の使用を必要とします。 EAP-TLS は、サーバ側とクライアント側の両方の証明書を使用しますが、 EAP-PEAP と EAPTTLS はサーバ側の証明書のみを必要とします。また、クライアント証明書が使用されているとき、設定する秘密キーファイルを含まなければなりません。秘密キーがパスフレーズを使用するなら、 private_key_passwd として wpa_supplicant.conf ファイルで設定されなければなりません。

wpa_supplicant(8) ユーティリティは、PEM と DER 形式で X.509 証明書をサポートします。同じファイルにユーザ証明書と秘密キーを含むことができます。

ユーザ証明書と秘密キーが PKCS#12/PFX で受信されるなら、それらは、 wpa_supplicant(8) によって使用される適切な PEM/DER 形式に変換される必要があります。これは、 openssl(1) プログラムを使用して、例えば、次のコマンドで、行うことができます:

# クライアント証明書と秘密キーを PEM 形式に変換する 
openssl pkcs12 -in example.pfx -out user.pem -clcerts 
# CA 証明書 (PFX ファイルに含まれているなら) を PEM 形式に変換する 
openssl pkcs12 -in example.pfx -out ca.pem -cacerts -nokeys

関連ファイル

/etc/wpa_supplicant.conf
/usr/share/examples/etc/wpa_supplicant.conf

使用例

ワークネットワークとして EAP-TLS でのホームネットワークと WPA-Enterprise としての WPA-Personal (PSK):

# フロントエンド (例えば、wpa_cli) は 'wheel' グループのすべてのユーザ 
# によって使用することができます 
ctrl_interface=/var/run/wpa_supplicant 
ctrl_interface_group=wheel 
# 
# ホームネットワーク;すべての有効な暗号を許します 
network={ 
        ssid="home" 
        scan_ssid=1 
        key_mgmt=WPA-PSK 
        psk="very secret passphrase" 
} 
# 
# ワークネットワーク; WPA で EAP-TLS を使用; CCMP と TKIP 暗号のみ許します 
network={ 
        ssid="work" 
        scan_ssid=1 
        key_mgmt=WPA-EAP 
        pairwise=CCMP TKIP 
        group=CCMP TKIP 
        eap=TLS 
        identity="user@example.com" 
        ca_cert="/etc/cert/ca.pem" 
        client_cert="/etc/cert/user.pem" 
        private_key="/etc/cert/user.prv" 
        private_key_passwd="password" 
}

古い peaplabel を使用する RADIUS サーバがある WPA-RADIUS/EAP-PEAP/MSCHAPv2 (例えば、Funk Odyssey と SBR, Meetinghouse Aegis, Interlink RAD-Series):

ctrl_interface=/var/run/wpa_supplicant 
ctrl_interface_group=wheel 
network={ 
        ssid="example" 
        scan_ssid=1 
        key_mgmt=WPA-EAP 
        eap=PEAP 
        identity="user@example.com" 
        password="foobar" 
        ca_cert="/etc/cert/ca.pem" 
        phase1="peaplabel=0" 
        phase2="auth=MSCHAPV2" 
}

非暗号化された使用のための匿名の識別がある EAP-TTLS/EAP-MD5-Challenge。実際の識別は、暗号化された TLS トンネルだけので送信されます。

ctrl_interface=/var/run/wpa_supplicant 
ctrl_interface_group=wheel 
network={ 
        ssid="example" 
        scan_ssid=1 
        key_mgmt=NONE 
        wep_tx_keyidx=0 
 # hex keys denoted without quotes 
        wep_key0=42FEEDDEAFBABEDEAFBEEFAA55 
 # ASCII keys denoted with quotes. 
 wep_key1="FreeBSDr0cks!" 
}

16 進数で指定された 104 ビットキーがある伝統的な WEP 設定。 WEP キーが引用されていないことに注意してください。

ctrl_interface=/var/run/wpa_supplicant 
ctrl_interface_group=wheel 
network={ 
        ssid="example" 
        scan_ssid=1 
        key_mgmt=NONE 
        wep_tx_keyidx=0 
        wep_key0=42FEEDDEAFBABEDEAFBEEFAA55 
}

歴史

wpa_supplicant.conf マニュアルページと wpa_supplicant(8) 機能は、 FreeBSD 6.0 ではじめて登場しました。

作者

このマニュアルページは、 Jouni Malinen <j@w1.fi>によって提供された wpa_supplicant 配布の READMEwpa_supplicant.conf に由来します。
April 10, 2010 FreeBSD