[РЕШЕНО] wicd и wpa_supplicant с TTLS

Автор dogsleg, 01 мая 2013, 14:56:54

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

dogsleg

РЕШЕНИЕ: https://debianforum.ru/index.php?topic=4786.msg42204#msg42204

Пытаюсь настроить wicd или (на крайний случай) wpa_supplicant с WPA2/Enterprise TTLS PAP. Network Manager работает прекрасно, а эти два не хотят.

# wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant_umrnet_wlan.conf
Line 19: invalid key_mgmt '"IEEE8021X"'
Line 19: no key_mgmt values configured.
Line 19: failed to parse key_mgmt '"IEEE8021X"'.
Line 20: unknown EAP method '"TTLS"'
You may need to add support for this EAP method during wpa_supplicant
build time configuration.
See README for more information.
Line 20: failed to parse eap '"TTLS"'.
Line 27: failed to parse network block.
Failed to read or parse configuration '/etc/wpa_supplicant/wpa_supplicant_umrnet_wlan.conf'.


Неужели в debian testing wpa_supplicant собран без TTLS?

Для wicd пробовал следующие шаблоны:

# cat /etc/wicd/encryption/templates/eap-ttls
name = EAP-TTLS
author = Benjamin Zimmer
version = 1
require identity *Identity password *Password ca_cert *Path_to_CA_Cert anonymous *Anonymous
-----
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="$_ESSID"
scan_ssid="$_SCAN"
identity="$_IDENTITY"
password="$_PASSWORD"
proto=WPA
group=TKIP
pairwise=TKIP
eap=TTLS
key_mgmt=WPA-EAP
ca_cert="$_CA_CERT"
anonymous_identity="$_ANONYMOUS"
phase2="auth=PAP"
priority=2
}


и...

# cat /etc/wicd/encryption/templates/ttls-80211
name = TTLS for Wireless
author = Alexander Clouter
version = 1
require anon_identity *Anonymous_Username identity *Identity password *Password
optional ca_cert *Path_to_CA_Cert cert_subject *Certificate_Subject
-----
ctrl_interface=/var/run/wpa_supplicant
network={
       ssid="$_ESSID"
       scan_ssid=$_SCAN

       key_mgmt=WPA-EAP
       eap=TTLS

       ca_cert="$_CA_CERT"
       subject_match="$_CERT_SUBJECT"

       phase2="auth=MSCHAPv2 auth=PAP"

       anonymous_identity="$_ANON_IDENTITY"
       identity="$_IDENTITY"
       password="$_PASSWORD"
}


При подключении wicd выдает сообщение о неправильном пароле.

Как их заставить работать, ведь nm работает без проблем?

agentgoblin

man wpa_supplicant.conf и примеры в /usr/share/doc/wpa_supplicant/examples/ не используют двойных кавычек при описании параметров key_mgmt и eap. Там везде что-то вроде:


key_mgmt=WPA-EAP
eap=TTLS


Быть может дело в кавычках?

Плюс везде в примерах eap=TTLS используется вместе с key_mgmt=WPA-EAP вместо key_mgmt=IEEE8021X - на это, мне кажется, тоже стоит обратить внимание.

dogsleg

#2
Цитата: agentgoblin от 05 мая 2013, 20:56:18Быть может дело в кавычках?

Да, точно кавычки лишние.

Цитата: agentgoblin от 05 мая 2013, 20:56:18Плюс везде в примерах eap=TTLS используется вместе с key_mgmt=WPA-EAP вместо key_mgmt=IEEE8021X - на это, мне кажется, тоже стоит обратить внимание.

Это тоже поменял, теперь работает. Кстати, странно, что для проводного соединения используется IEEE8021X, и все работает. Там, где искал помощь, рекомендовалось использовать IEEE8021X и для беспроводного соединения. Причем, это рекомендация непосредственно от администратора сети; написал ему письмо об этом.

Сообщение объединено: 09 мая 2013, 14:15:25

В итоге конфигурация wpa_supplicant выглядит так:

# wpa_supplicant_umrnet_wlan.conf
#
# wpa_supplicant configuration file for IEEE 802.1X authentication
# in university marburg wired network
#

ctrl_interface=/var/run/wpa_supplicant_umrnet_wlan
ctrl_interface_group=0

# IEEE 802.1X (wireless) works with EAPOL version 1; EAPOL Version 2 is not supported by many older wireless drivers in Linux.
eapol_version=1

# important for wireless network
ap_scan=1

# university network connection configuration
network={
ssid="СЕТЬ"
key_mgmt=WPA-EAP
eap=TTLS
phase1=""
phase2="auth=PAP"
ca_cert="СЕРТИФИКАТ"
anonymous_identity="ЛОГИН"
identity="ЛОГИН"
password="ПАРОЛЬ"
}


А шаблон для wicd так (в предыдущем были лишние строки про TKIP):

# based on template by Benjamin Zimmer
name = EAP-TTLS
author = Lev Lamberov
version = 1
require identity *Identity password *Password ca_cert *Path_to_CA_Cert anonymous *Anonymous
-----
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="$_ESSID"
scan_ssid="$_SCAN"
identity="$_IDENTITY"
password="$_PASSWORD"
proto=WPA
eap=TTLS
key_mgmt=WPA-EAP
ca_cert="$_CA_CERT"
anonymous_identity="$_ANONYMOUS"
phase2="auth=PAP"
priority=2
}


С ними у меня все работает.