wpa_supplicant (Общие заметки/настройка)

Опубликовано August@Karro - вт, 12/01/2020 - 16:00
wpa_supplicant (WiFI), кросс-платформенная открытая реализация стандарта IEEE 802.11 для Linux, *BSD, Windows, Mac OS X и прочих систем.

Что из себя представляет WPAS?

  • Кросс-платформенная открытая реализация стандарта IEEE 802.11 для Linux, *BSD, Windows, Mac OS X и прочих систем.
  • Полная поддержка WPA2, WPA и более старых протоколов безопасности беспроводной LAN сети.
  • Приложение пользовательского пространства, выполняющее функции саппликанта и SME оператора, исполняющего MLME инструкции.

WPAS поддерживает:

  • WPA и полностью IEEE 802.11i/RSN/WPA2.
  • WPA-PSK и WPA2-PSK (pre-shared key) ("WPA-Personal").
  • WPA вместе с EAP (т.е., сервером аутентификации RADIUS) ("WPA-Enterprise") управление ключами CCMP, TKIP, WEP (104/128 и 40/64 бит).
  • Кэширование RSN, PMKSA: предварительную аутентификацию.

Как WPAS устанавливает связь с точкой доступа?

  • Cетевой интерфейс должен исправно функционировать с установленным драйвером, прежде чем wpa_supplicant запустится.
  • Wpa_supplicant запрашивает драйвер ядра сканировать доступные Basic Service Set (BSS).
  • Wpa_supplicant производит выбор BSS в соответствии с настройками.
  • Wpa_supplicant запрашивает драйвер ядра установить соединение с выбранной BSS.
  • Для WPA-EAP: аутентификацию EAP производит встроенный IEEE 802.1X Supplicant, либо же внешний Xsupplicant с сервером аутентификации.
  • Для WPA-EAP: получен мастер-ключ от IEEE 802.1X Supplicant.
  • Для WPA-PSK wpa_supplicant использует пароль PSK в качестве мастер-ключа сессии.
  • Wpa_supplicant производит с аутентификатором точки доступа 4-х этапное согласование и групповое согласование ключей.
  • Wpa_supplicant производит шифрование однонаправленных и широковещательных пакетов, после чего начинается обычный обмен данными.

Главный и большой плюс WPAS — его юниксвейность, то есть соответствие принципу Unix Way, когда программа делает что-то одно, но делает это хорошо. Она требует некоторого внимания и терпения вначале, но затем о ней можно напрочь забыть. После того как программа настроена и пущена в дело, она полностью выпадает из потока событий, превращаясь в пару строк из ps -ef

WPAS является компонентом просителя WPA, то есть той частью, которая запускается на стороне клиентской станции. WPAS осуществляет обмен данными с аутентификатором WPA и аутентификацией по протоколу EAP с сервером аутентификации. К тому же, wpa_supplicant контролирует переход между сетями (roaming) и аутентификацию/ассоциацию IEEE 802.11 в драйвере беспроводной локальной сети.

WPAS представляет собой "демон", программу которая запускается в фоновом режиме и действует в качестве служебного компонента, управляющего беспроводным соединением. WPAS поддерживает различные программы-оболочки, например текстовый wpa_cli, входящий в состав WPAS.

После того, как WPAS настроил сетевое устройство, могут быть запущены более высокоуровневые средства настройки, например DHCP. Существуют различные способы для встраивания WPAS в сценарии настройки сети компьютера.

В большинстве случаев WPAS запускается следующим образом:

# wpa_supplicant -B -c/etc/wpa_supplicant.conf -iwlan0

(Эта команда заставляет процесс ответвиться в фоновый режим).

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

#wpa_supplicant -c/etc/wpa_supplicant.conf -iwlan0 -d

Может управлять несколькими (радио) интерфейсами, по одному запущенному процессу для каждого отдельного интерфейса или просто запуском одного процесса со списком опций в командной строке. Каждый интерфейс отделяется аргументом -N. Например, следующая командная строка запустит WPAS для двух интерфейсов:

  • wpa_supplicant 
  • -c wpa1.conf -i wlan0 -D hostap -N 
  • -c wpa2.conf -i ath0 -D madwifi

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

В начале надо запустить саму программу WPAS и сопутствующую wpa_cli.

[bunker@home ~]$ wpa_supplicant -Dnl80211 -iwlan0 -C/var/run -u &

[bunker@home ~]$ wpa_cli -p/var/run

Затем настройка из интерактивного интерфейса wpa_cli.

  • add_network
  • set_network 0 ssid "name of AP"
  • set_network 0 key_mgmt WPA-PSK
  • set_network 0 pairwise TKIP
  • set_network 0 psk "key"
  • enable_network 0

Для закрытой WPA2 сети:

  • add_network
  • set_network 0 ssid "name of AP"
  • set_network 0 key_mgmt WPA-PSK
  • set_network 0 pairwise CCMP
  • set_network 0 psk "key"
  • enable_network 0

В конце необходимо вручную запустить демон DHCP.

[bunker@home ~]$ dhcpcd wlan0


Для начала, создайте файл конфигурации, например /etc/wpa_supplicant.conf, который описывает интересные вам сети. За более подробной информацией обратитесь к wpa_supplicant.conf.

 

Последние материалы