web-dev-qa-db-ja.com

wpa_supplicantはAPを自動変更しません

(私は何時間も回避策を見つけようとしていましたが、当初の予想よりもはるかに困難でした。)

ただし、問題自体は簡単に理解できます。最近、GUIのない​​Debian派生物を自分のマシンの1つにインストールし、アクセスポイントの1つにアクセスするように/etc/wpa_supplicant/wpa_supplicant.confを構成しましたが、うまくいきました。上手。

すぐに自分のマシンを家から持ち帰ったので、別のネットワーク(今回はホットスポットモードの電話)をwpa_supplicant.confに追加しました。残念ながら、最初のルーターへの接続が失われた後でも、電話のAPに自動的に接続されないことに気付きました。その後にwpa_cli --reconfigureが続きます。面白い部分:wpa_supplicant.confの最初のネットワークのコメントを解除すると、電話のAPが問題なく機能します。両方のネットワークがコメント化されていない場合、最初のネットワークのみが機能します。

wpa_supplicant.confのマニュアル全体を読んでいましたが、必要なものに最も近いのは[〜#〜] bssid [〜#〜]この状況では役に立たなかったオプション。

だから私の質問:ネットワークコントローラーアクセスポイントに変更するにはどうすればよいですか?これらの可用性に応じて?

更新:/usr/share/doc/wpa_supplicant/README.modesはありませんが、シンボリックリンクが多すぎるために抽出できない/usr/share/doc/wpa_supplicant/README.modes.gzのみです

私の/etc/wpa_supplicant/wpa_supplicant.conf

country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="Klaus B. Schuldiger"
scan_ssid=1
psk="----"
}

#network={
#ssid="Xperia XZ_acd9"
#scan_ssid=1
#psk="----"
#}
5
Akito

Wpa_supplicantが実行していることをデバッグするために、wpa_cli statusは、wpa_supplicantがまだAPに接続されていると見なすか、新しいAPを検索するかについての情報を提供します。

ネットワークを自動的に切り替えるには、Wpa_supplicantがローミングモードである必要があります。 wpa-roamifaceスタンザの後に/etc/network/interfacesエントリを使用してローミングを有効にし、すべてのネットワークをwpa_supplicant.confファイル(通常は/etc/wpa_supplicant/wpa_supplicant.conf)に配置します。詳細は、wpa_supplicantドキュメントのREADME.modesまたはREADME.modes.gzに記載されています。

非表示のアクセスポイント(AP)は、次の2つの理由で問題を引き起こします。1つは、wpa_supplicantをアクティブに構成して、すべてのアクセスポイントをスキャンする必要があることです(構成方法の詳細はわかりません)。一方、APは測定可能なビーコンを送信しないため、WLANクライアントは接続がまだ有効かどうかを判断するのに問題があります。したがって、クライアントに表示されるのは、送信されたパケットに対する応答だけではありません。これは、ネットワークの他の場所の問題が原因である可能性もあります。クライアントは最終的に接続をタイムアウトしますが、これには数分かかる場合があります。

また、非表示のAPは実際にはセキュリティを向上させません。非表示のAPとクライアント間のトラフィックをスニッフィングして、APの存在を放棄する可能性があります。 APをアクティブにスキャンしているクライアントも、その存在を明らかにします(また、認識しているすべての非表示APをアクティブにスキャンしているため、さらに多くの情報が提供されます)。

したがって、最も簡単な解決策は、問題が発生した場合に備えて、すべてのAPを非表示にしないことです。

2
dirkt