Вход для пользователей

Подключаемся к WiFi @ ПГУ

Изображение пользователя Auror.

Как известно, на территории Пермского Государственного Университета функционирует WLAN c кодовым названием PSUnet и весьма привлекательными тарифами. Подключение осуществляется в Интернет-центре (Корпус 2) и бесплатно для студентов. Для регистрации требуется паспорт, копия студенческого и собственно supplicant (ноут, кпк, etc) - устройство, подключаемое к сети. И все бы хорошо, но, ввиду отсутствия квалицированных специалистов в этом самом интернет-центре или по другим неведомым мне причинам, подключение осуществляется только при наличии оси WinXP (для ноутов разумеется..). И конечно же не предоставляется информация о параметрах сети, типе авторизации и т.п. Как всегда разбираемся во всем сами...

Этап 1. Разведка

После шаманства представителей центра с несчастным саппликантом и получения регистрационных данных можно приступить к сбору информации. Порывшись в опциях беспроводного подключения, можно извлечь следующие данные о сети:

Идентификатор сети (SSID): PSUnet
Протокол аутентификации: IEEE802.1x
Тип EAP: Protected EAP (PEAP)
Метод аутентификации: MSCHAPv2
Тип шифрования: WEP
Тип ключей WEP: динамические (IEEE802.1x)

Также помимо выданных при регистрации login/password на машине обнаруживается некий новый сертификат Root CA, предназначенный видимо для проверки подлинности сервера сети.

Этап 2. Поиск клиента IEEE802.1x под Linux

Порывшись в сети с запросами по IEEE802.1x, можно найти 2 клиента для UNIX-like систем:
wpa_supplicant (http://hostap.epitest.fi/wpa_supplicant/)
клиент WPA/WPA2 и IEEE802.1x (либо через встроенный клиент, либо через внешний, например Xsupplicant)
Xsupplicant (http://open1x.sourceforge.net/)
клиент, в первую очередь ориентированный на IEEE802.1x

Логично предположить, что раз используемый протокол IEEE802.1x, то лучше выбрать Xsupplicant, однако по многим причинам от этой затеи пришлось отказаться (отсутствие в репозитарии Arch, многочисленные ошибки при сборке как обычной, так и cvs-версии, etc).

wpa_supplicant входит стандартно практически во все Linux-дистрибутивы и FreeBSD 6-CURRENT
Итак, будем подключаться к сети из Linux используя клиент wpa_supplicant.

Этап 3. Подключение

Найстройка wlan-карточки здесь не описывается, однако следует обратить внимание на список поддерживаемых драйверов на сайте wpa_supplicant (http://hostap.epitest.fi/wpa_supplicant/). Для большинства карточек все будет работать через стандартный драйвер c Linux Wireless Extensions (wext).

для подключения необходимы пакеты:

wireless_tools
wpa_supplicant
dhcp-клиент (например dhcpcd)

Дистрибутиво-независимое решение:

Первым делом нужно составить конфиг для wpa_supplicant (множество примеров и комментарии к опциям в дефолтном wpa_supplicant.conf):

# vi /etc/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
fast_reauth=1
network={
    ssid="PSUnet"
    key_mgmt=IEEE8021X
    eap=PEAP
    phase2="auth=MSCHAPV2"
    identity="login"
    password="password"
}

# chmod 0600 /etc/wpa_supplicant.conf

Запускаем wpa_supplicant:
# wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf

Значения опций:

-Dwext - использовать драйвер Linux Wireless Extension (универсальный)
-iwlan0 - использовать интерфейс wlan0
-c/etc/wpa_supplicant.conf - путь к конфигу wpa_supplicant

подробности:
wpa_supplicant --help
man wpa_supplicant

Состояние можно посмотреть командой:

# wpa_cli status

Если аутентификация прошла успешно, то используя dhcp-клиент получаем данные сети:
# dhcpcd wlan0

Изучаем вывод ifconfig, iwconfig, route, содержимое /etc/resolv.conf на предмет
поднятия сетевого интерфейса, добавление маршрута по умолчанию и dns-серверов.

Проверить подключение можно пингом сервера www.psu.ru:

# ping www.psu.ru

Доступ к внешней сети предоставляется через некоторое время (от одной до нескольких минут)

Arch-ориентированное решение:

В Arch Linux есть набор скриптов для быстрого переключения между сетевыми подключениями (пакет core/netcfg).
Профайлы находятся в /etc/network.d

# vi /etc/network.d/psunet

CONNECTION="wireless"
DESCRIPTION="PSUnet WLAN"
INTERFACE=wlan0
IP=dhcp
DHCP_TIMEOUT=20
DHCP_OPTIONS=""
ESSID="PSUnet"
SECURITY=wpa-config
SCAN="NO"
TIMEOUT=10
WPA_OPTS=""
WPA_CONF=/etc/wpa_supplicant.conf

# chmod 0600 /etc/network.d/psunet

Подключение:
# netcfg2 psunet

Отключение:
# netcfg2 -d psunet

Подробности:
netcfg2 --help
man netcfg

Также в пакет входит dialog-based интерфейс для выбора нужного сетевого профайла:

# netcfg-menu

out

На написание этой статьи меня побудило то, что в сети практически не уделяется внимание подключению к сетям на основе IEE802.1x по сравнению с wpa/wpa2. Целью же было не выкинуть конфиг и команды для подключения к какой-то конкретной сети, а показать пример цепочки логичесих выводов, позволяющих решить поставленную перед линуксоидом задачу ;)

greets 2 Raydan за предоставленное оборудование и аккаунт.

Комментарии

Изображение пользователя N_F.

круто!:)
теперь осталось лишь акк сделать

Изображение пользователя DiFor.

аналогично, но пока в наличие лишь комуникатор с вен мобайлой 6й, и лень дойти до аб отдела. кстати, во 2м корпусе, в интернет центре увидел плакатик с анлим тарфиами на ву-фу, 300рэ в месяц за 128кб, заманивает, буду приходить с зарядкой и включенным торрент клиентом)))

Изображение пользователя xomyaq.

так и сделаю, тока осталось купить ноут)))

а у меня вот такой косяк есть: Мандрива почему то присваивает вай-фаевской карте интерфейс eth0 а не wlan0 :(
кто нибудь подскажет, в чем может быть дело?

Изображение пользователя Auror.

Какая разница как называется интерфейс? Вообще название зависит от драйвера, ndiswrapper обычно дает wlanX, а вот старый bcmw43 для моей карточки давайл ethX. Главное проверь, чтобы интерфейс карточки отображался в выводе iwconfig ну а дальше подставь его в команды вместо wlan0 :)

Изображение пользователя D3viL.

Наверное ath0 ?

неа, именно eth0

Изображение пользователя FraDe.

А что в этом плохого?