- Беспроводная точка доступа, используя Linux
- Делаем Wi-Fi точку доступа в Linux
- Linux WiFi из командной строки с wpa_supplicant
- Общие сведения о wpa_supplicant
- Установка
- Подключение без конфиг файла
- Подключение к Ad-Hoc сети
- Настройка для домашней сети
- Настройка 802.1X для офиса
- Привязка wpa_supplicant к сетевой карте
- Отладка
Беспроводная точка доступа, используя Linux
Самый первый шаг, конечно же:
Мда, в исходниках уже есть 2.0. Такой он, Debian stable. Но на самом деле это нам не особо помешает — версия 1.0 у меня работает достаточно стабильно.
Настройка:
Отредактировать файл /etc/default/hostapd.conf. В нём раскомментировать строку вида Это путь к файлу конфигурации демона hostapd.
Затем идем дальше — редактировать /etc/hostapd/hostapd.conf. Предоставлю содержимое моего файла конфигурации. Предупреждаю, парсер конфигурационных опций у этого демона очень чувствителен и ругается даже на пустые строки с пробелом. На комментарии не ругается.
Сетевой интерфейс беспроводной карты
Драйвер сетевой карты — обычно для hostapd отлично работает nl80211, не вижу смысла менять, да и говорят, что он работает в большинстве случаев.
Название точки доступа, т.н. SSID
Режим работы сетевой карты — 801.11b/g/n. На самом деле — там всегда должно оставаться g, даже если карта способна на n, для настройки режима n придётся кое-что поменять, смотрите дальше:
Беспроводной канал — от 1 до 13. Для лучшей производительности рекомендуются 1, 6 или 11 канал.
Версия WPA
Пароль беспроводной точки
Дополнительные настройки WPA2:
Следующая опция устанавливает блокировку MAC-адресов. Пока не знаю, как это настроить, да и штука довольно бесполезная, но все говорят, что без блокировки эту опцию нужно выставить в ноль — что я и сделал:
Конфиг автоматически проверяется перед запуском, так что — смело пробуйте запустить hostapd. Команды управления:
Напомню — также в Debian можно использовать команды вида service hostapd start, что легче в написании.
Пару шагов для устойчивости:
- Нельзя забывать, что для шифрования WPA/WPA2 пароль должен быть не короче 8 символов. Если поменять пароль на лету, используя SSH сессию через беспроводной канал, можно внезапно отрезать себя от сервера — hostapd не захочет запускаться и единственное средство связи с сервером будет потеряно. Работает — не трогай, ну а если трогаешь — трогай осторожно.
- В случае многопользовательской системы советую поставить права чтения файлов вида 700, чтобы простые пользователи не могли узнать пароль для точки доступа — если вас это волнует, конечно.
Что ещё могу сказать? С мобильными устройствами проблем нет, с ноутбуком под Windows 7 — крайне редко (примерно раз-два в месяц) не получается подключиться к точке. Лечится командой service hostapd restart, велика вероятность, что в новых релизах эта проблема убрана — есть версия hostapd 2.0.0, но компилировать и ставить её я пока что не пытался.
Пока всё. К точке можно попробовать подключиться, но… Для успешного подключения к точке доступа нужен DHCP сервер, без него к точке полноценно не подключишься — те же операционные системы не дадут этого сделать, поскольку без получения адреса само подключение не имеет особого смысла. Вот его и настроим!
Когда я только начинал учиться настраивать сервера под свои нужды, первое, на что я тогда я наткнулся — это пакет isc-dhcp-server, его я и планировал предложить, и статья уже была готова, но… Я нашёл dnsmasq, и моя жизнь изменилась в лучшую сторону. Dnsmasq — это и кэширующий DNS, и DHCP сервер со своим набором различных фич. Как только я заглянул в его конфиг, мое зрение улучшилось, все мысли в мозгу внезапно стали упорядоченными и я достиг просветления. Реально, конфиг очень простой и понятный. Но пока подготавливаем площадку для работы dnsmasq. Что же делать?
1) Придумать, как будут выглядеть адреса в нашей локальной сети. Я выбрал адреса типа 192.168.51.x.
2) Настроить сетевой интерфейс, на котором будет работать dnsmasq. На самом деле — очень важный шаг, который пропускают многие в своих мануалах по настройке DHCP-серверов. Дело в том, что компьютеру, на котором работает DHCP-сервер, необходимо прописать статический адрес — кто выдаст адрес DHCP-серверу, если он сам не может запуститься без адреса, а адрес себе он выдать не может, потому что не запущен?
Итак, открываем для редактирования файл /etc/network/interfaces и добавляем туда абзац вида:
Сохраняем и перезапускаем наш сетевой интерфейс, на котором настроен DHCP:
Проверяем состояние, сверяем настройки с теми, что должны быть:
3) Нужно удалить любые DNS и DHCP серверы, чтобы dnsmasq мог спокойно запуститься — иначе выдаёт ошибку. У меня были установлены bind9 и isc-dhcp-server, пришлось избавиться от них. Если работаем по SSH из сети, в которой раньше адреса раздавал покойный DHCP-сервер, не перезагружаемся — выдавать адреса уже некому.
4) Нужно создать условия для работы сервера — создать пользователя для того, чтобы под ним запускать dnsmasq, прописать в системных настройках DNS-сервера, к которым dnsmasq будет обращаться и ещё пару мелочей.
Прописываем DNS сервера Гугла. Правда, первой строчкой у нас будет localhost. Это сделано для того, чтобы остальные системные приложения на нашем же сервере, когда им надо получить адрес от DNS-сервера, обращались сначала к dnsmasq, а не к Гуглу. Ну а dnsmasq достаточно умён, чтобы игнорировать эту строчку:
Нужно защитить это файл от перезаписи при каждом запуске системы. Перезаписывает его dhclient, если что. Честно говоря, блокировка от записи — лишь один из способов того, как не допустить перезапись =) Есть и другие, но этот самый простой:
Что же, если вы по каким-либо причинам считаете блокирование файла неверным путём или также хотите использовать DNS, которые столь настойчиво предлагает dhclient? Тогда, как советует merlin-vrn, нужно использовать программу resolvconf.
Если пакет resolvconf ещё не установлен, устанавливаем. Единственное, что нужно для того, чтобы прописать статический адрес DNS для системы — отредактировать /etc/resolvconf/resolv.conf.d/base, вписав туда всё, что мы бы вписали в /etc/resolv.conf:
service resolvconf reload — готово!
Добавляем группу и пользователя:
5) Ставим Dnsmasq, он запускается и готов к работе, но мы его отключаем — ещё не настроен, нечего ему тут делать:
6) Чистим оригинальный файл от стандартного конфига:
Ну а теперь мы готовы настраивать. Скажу сразу — у dnsmasq много разных опций, которые я при написании статьи подробно описывал в комментариях… Пока не понял, что топик раздулся до неприличных и нечитаемых размеров, как будто недостаточно того, что статья и так переполнена текстом и отформатирована, как кусок незнамо чего. Поэтому — я оставлю конфиг с самыми важными без длинных комментариев и всяких дополнительных опций, а конфиг с дополнительными опциями будет под спойлером.
Источник
Делаем Wi-Fi точку доступа в Linux
Практически многие сейчас имеют дома ноутбуки и современные сенсорные мобильные телефоны. И в тех, и в иных уже давненько присутствуют Wi-Fi приемники для упрощения выхода в интернет. Правда, для осуществления данного вывода еще нужен и Wi-Fi роутер, но они тоже уже перестали быть экзотикой. Даже и наоборот, экзотикой стало неимение роутера. А выйти в интернет с мобильного, при этом, хочется. Когда еще учесть, что цены на подвижный интернет кусаются, да и скорость мягко говоря не очень, выводом становится создание собственной wi-fi точки доступа. Вот как раз об одном из экзотических случаев и составлю, основываясь на собственном образце. У меня обычный стационарный компьютер (даже не ноутбук с wi-fi частью) который сходит в интернет через витую пару, смартфон, которому хочется в веб и, конечно, Linux на борту пк.
Для этого я покупал самый дешевый в моем городе usb wi-fi брелок D-Link DWA-125 (не сочтите за рекламу, но я очень доволен покупкой, работает как часы). До сих пор помню глаза продавца-консультанта в магазине, у которого я спросил: «Может ли этот брелок работать в режиме точки доступа?» Поэтому выходит что покупал я кота в мешке (вернее, почти, перед покупкой я всеже порыскал в вебе информацию по этому вопросу и всезнающий интернет хоть и неуверенно, но подтвердил что я делал правильный выбор). Значит так, есть брелок, вставили его в usb-порт. Открываем терминал и последующей командой проверяем, установился ли брелок системой:
lsusb | grep — i wireless
В выводе обязано быть что-то подобное на:
Bus 002 Device 004: ID 2001:3c19 D-Link Corp. DWA-125 Wireless N 150 Adapter(rev. A3) [Ralink RT5370]
Когда есть подобная строка (или такая же при применении DWA-125) продолжаем:
iwconfig eth0 no wireless extensions. lo no wireless extensions.
wlan0 IEEE 802.11bgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on
Где «Access Point: Not-Associated» значивает что ваш брелок не работает сейчас в режиме точки доступа. Далее нужно проверить может ли он раздавать wi-fi или работает только как приемник. Для этого вводим в терминале такую команду:
И ищем в выводе такие строки:
Supported interface modes: . * AP * AP/VLAN . К
огда нашли, поздравляю, ваш брелок подходит для наших целей, осталось только настроить искру доступа. Для этого необходимо установить пару программ:
sudo pacman — S hostapd dnsmasq
Hostapd нам нужен собственно для поднятия точки доступа, а dnsmasq для того чтобы при подключении мобильного телефонного агрегата к нашей будущей wi-fi сети телефону автоматически выдавался IP-адрес. Для настройки hostapd идем в /etc/hostapd, показываем терминал в этой папке и создаем файл hostapd. conf:
sudo touch hostapd. conf
С сходственным содержимым:
ssid= wpa_passphrase= interface=wlan0 auth_algs=3 channel=1 driver=nl80211 hw_mode=g logger_stdout=-1 logger_stdout_level=2 max_num_sta=5 rsn_pairwise=CCMP wpa=2 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP
Для минимальной настройки hostapd этого будет достаточно. Естественно и необходимо заменить на свои (кавычки убрать). Немного поясню: при таких значениях в этом файле ваша точка доступа будет работать на wi-fi-канале «g», с шифрованием AES и защитой WPA2-PSK. Как и большинство «железных» роутеров на нынешний сутки. Кстати, имя интерфейса у вас может быть не wlan0. Уточнить имя можно из команды iwconfig, доставленной выше. Перейдем к настройке dnsmasq. В папке /etc есть файл (именованная область этих на носителе информации) dnsmasq. conf. Там весьма много всяческих настроек с подробными комментами, но на английском, поэтому для того чтобы все трудило ищем вот такие строки в нем и меняем в согласовании с этим отрывком:
. user= . interface=wlan0 . dhcp-range=192.168.0.2,192.168.0.255,255.255.255.0,24h .
Тут мы высокомерничаем свое имя пользователя, опять же имя интерфейса и диапазон IP-адресов, которые будут выходить включающиеся устройства. В данном примере от 2 до 255. Ip-адрес 192.168.0.1 я оставил для самого пк, который станет раздавать интернет. Далее необходимо создать файл dnsmasq. service в папке /etc/systemd/system:
sudo touch /etc/systemd/system/dnsmasq. service
С сходственным содержимым:
.include /usr/lib/systemd/system/dnsmasq. service [Service] ExecStartPre=/usr/bin/ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 up
Оглавление этого файла как раз и отвечает за присвоение компьютеру «оставленного» IP-адреса при загрузке системы и будет включаться в файл /usr/lib/systemd/system/dnsmasq. service при запуске сервиса dnsmasq. Перейдем к настройке iptables. Iptables — это очень мощный, гибко настраиваемый firewall в linux, но довольно сложноватый в усвоенье. Особо вдаваться в подробности не буду (так как и сам еще не до конца в нем разобрался), поэтому просто обнаруживаем терминал и включим по очереди следующие команды:
iptables — F iptables — X iptables — t nat — F iptables — t nat — X iptables — P INPUT ACCEPT iptables — P FORWARD ACCEPT iptables — P OUTPUT ACCEPT iptables — t nat — A POSTROUTING — o eth0 — j MASQUERADE iptables-save > /etc/iptables/iptables. rules
Все же немного поясню: все строки, кроме предпоследних двух сбрасывают все настройки firewall к начальным, предпоследняя строка разрешает нам пользоваться интернетом (всемирная система объединённых компьютерных сетей для хранения и передачи информации), подведенным к основному компьютеру (шлюзу) на устройствах, объединенных с ним в здешную сеть, а последняя строка сохраняет введенные нами настройки firewall. Важная деталь: eth0 в предпоследней строке — это имя интерфейса компьютера на который приходит интернет (у вас может отличаться).
Теперь нужно настроить проброс пакетов. делается это командой:
echo 1 > /proc/sys/net/ipv4/ip_forward
Но присутствует один недостаток, эту команду нужно будет вводить после каждой загрузки пк. Дабы так не заморачиваться идем в папку /etc/sysctl. d и в файле 99-sysctl. conf приводим строчку «net. ipv4.ip_forward =» к подобному виду:
net. ipv4.ip_forward = 1
То есть пишем 1 после знака одинаково. Тем самым разрешая проброс пакетов. Между прочим, если такого файла не оказалось, элементарно создайте его и поместите внутрь вышеописанную строчку. На этом с настройками закончили. На первый взор все кажется очень сложным, но… глаза опасаются, а руки делают. После независимой настройки все эти «магические надписи» станут логичными и удобопонятными. Теперь осталось только швырнуть необходимые сервисы и добавить их в автозагрузку:
sudo systemctl start hostapd sudo systemctl start dnsmasq sudo systemctl start iptables sudo systemctl enable hostapd sudo systemctl enable dnsmasq sudo systemctl enable iptables
После запуска проверьте на всякий случай работают ли сервисы:
systemctl status hostapd systemctl status dnsmasq systemctl status iptables
Когда все хорошо, вы увидите зеленую надпись «Active», если плохо — красную «Inactive», тогда проверьте все введенные настройки, возможно где-то в чем-то ошиблись. Теперь у вас есть собственная wi-fi точка доступа. Плюс ее в том что ваш телефон, планшет, ноутбук и т. д. теперь имеет целый высокоскоростной доступ в интернет, причем бесплатно (имею в виду что не за дополнительную плату. За вложение к интернету компьютера с нашей точкой доступа все же нужно платить). К тому же, через wi-fi вложение теперь можно передавать файлы с компьютера на телефон или планшет и назад без проводов. Для данного правда нужно установить на устройство с Android (не реклама, просто сам использую. На остальных подвижных операционных системах должны быть подобные программы) программу FTP-server (вновь же, не рекламная инфа), ввести несколько простых настроек (все на русском языке, просто и ясно) и готово! Но у подобной точки доступа есть и один минус: wi-fi раздается лишь при включенном пк, что вполне логично. Лично мне, например, интернета на мобильном хватает когда я ищусь вблизи с компьютером. В остальное время просто не пользуюсь им с телефона. Поэтому особо и не минус. Как для вас сходственное ограничение — попробуйте и сделаете выводы.
Источник
Linux WiFi из командной строки с wpa_supplicant
В этой статье я расскажу, как можно настроить WiFi с помощью wpa_supplicant, без всяких Xorg/X11 утилит. Это необходимо для того, чтобы базовые службы ОС исправно работали с минимальным набором технических средств удаленного доступа. Программа будет исполняться как служба, настройки сделаны правкой конфиг файлов.
По-быстрому, установить соединение с открытой точкой доступа можно таким образом.
Если же надо всерьез и надолго, то прошу внутрь.
Общие сведения о wpa_supplicant
Что из себя представляет wpa_supplicant?
- Кросс-платформенная открытая реализация стандарта IEEE 802.11 для Linux, *BSD, Windows, Mac OS X и прочих систем.
- Полная поддержка WPA2, WPA и более старых протоколов безопасности беспроводной LAN сети.
- Приложение пользовательского пространства, выполняющее функции саппликанта и SME оператора, исполняющего MLME инструкции.
- 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: предварительную аутентификацию.
Как wpa_supplicant устанавливает связь с точкой доступа?
- 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-х этапное согласование [1] и групповое согласование ключей.
- Wpa_supplicant производит шифрование однонаправленных и широковещательных пакетов [2] , после чего начинается обычный обмен данными.
Главный и большой плюс wpa_supplicant — его юниксвейность, то есть соответствие принципу Unix Way, когда программа делает что-то одно, но делает это хорошо. В каком-то смысле wpa_supplicant также Gentoo Way. Она требует некоторого внимания и терпения вначале, но затем о ней можно напрочь забыть. После того как программа настроена и пущена в дело, она полностью выпадает из потока событий, превращаясь в пару строк из ps -ef . Она не сверкает и не мигает в системном трее, не оповещает о разведанных, подключенных и отключенных беспроводных сетях. Ее просто нет, пока вы сами ее не поищите.
Из минусов — сложность настройки и конфигурации. Много возни по сравнению с тырк-тырк-тырк в окне Network Manager , не говоря уже о WiFi подключении с любого Андроид устройства. Если вы собираетесь в поездку с Linux ноутбуком, то наверняка предпочтете более дружественный фронтенд настройки беспроводной сети, чтобы быстро подключаться к бесплатным точкам доступа WiFi в аэропорту, гостинице или в рабочей обстановке. Для домашнего же беспроводного интернета — самое то.
Установка
Если не выбирать графический фронтенд, то программа почти не тянет за собой никаких зависимостей. Для Gentoo Linux сгодится установка с выставленными флагами как показано.
- emerge -av wpa_supplicant #Gentoo
- aptitude install wpasupplicant #Debian
- yum install wpa_supplicant #Redhat
- pacman -S wpa_supplicant #Arch
Подключение без конфиг файла
Если вам нужно подключиться только один раз, то необходимости создавать файл конфигурации и вникать во все тонкости настройки, нет. Достаточно набрать несколько инструкций из командной строки.
Пример для открытой сети был показан в самом начале. Для закрытой WPA сети быстрое подключение выгладит так:
В начале надо запустить саму программу wpa_supplicant и сопутствующую wpa_cli .
Затем настройка из интерактивного интерфейса wpa_cli .
Для закрытой WPA2 сети:
В конце необходимо вручную запустить демон DHCP.
Подключение к Ad-Hoc сети
Никогда с такой не сталкивался, но готовым нужно быть ко всему. Подключение к открытой ad-hoc.
То же самое с помощью iw .
Настройка для домашней сети
Теперь самое интересное — настройка. Этот процесс задокументирован для Arch Wiki, Debian Wiki и Gentoo Wiki, но всех деталей там естественно нет.
Программа обычно ставится в директорию /etc/wpa_supplicant/ , и наша задача — правильно настроить конфигурационный файл wpa_supplicant.conf , и привязать его к автозапуску беспроводного сетевого интерфейса.
Начнем с wpa_supplicant.conf . Если вы подключаетесь из дома к WPA/WPA2, то скорее всего используете пароль для WiFi соединения, что соответствует режиму WPA-PSK («WPA-Personal») . Мы не будет рассматривать варианты с WEP шифрованием, так как оно ненамного лучше открытой сети.
Возьмем типовой конфиг из документации. Например такой.
Первая строка необходима, без ctrl_interface программа даже не запустится. GROUP=wheel нужно для того, чтобы запускать из под обычного пользователя в графическом интерфейсе wpa_gui, но это не наш путь. Поэтому меняем на рутовый GROUP=0 .
Каждой сети в файле настроек должен соответствовать блок network <> . Покопавшись в исходниках, обнаружил нашел годное писание переменной ap_scan в файле config.h , а в мануале и руководстве пользователя ее описание очень скудное.
ap_scan — AP scanning/selection
By default, wpa_supplicant requests driver to perform AP scanning and then uses the scan results to select a suitable AP. Another alternative is to allow the driver to take care of AP scanning and selection and use wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association information from the driver.
1: wpa_supplicant initiates scanning and AP selection (default).
0: Driver takes care of scanning, AP selection, and IEEE 802.11 association parameters (e.g., WPA IE generation); this mode can also be used with non-WPA drivers when using IEEE 802.1X mode;
do not try to associate with APs (i.e., external program needs to control association). This mode must also be used when using wired Ethernet drivers.
2: like 0, but associate with APs using security policy and SSID (but not BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to enable operation with hidden SSIDs and optimized roaming;
in this mode, the network blocks in the configuration are tried one by one until the driver reports successful association; each network block should have explicit security policy (i.e., only one
option in the lists) for key_mgmt, pairwise, group, proto variables.
Note: ap_scan=2 should not be used with the nl80211 driver interface (the current Linux interface). ap_scan=1 is optimized work working with nl80211. For finding networks using hidden SSID, scan_ssid=1 in the network block can be used with nl80211.
- bssid — The Basic Service Set Identifier (BSSID), физический адрес точки доступа.
- key_mgmt — Протоколы аутентификации.
- pairwise — Для WPA2 укажите CCMP, а для WPA — TKIP.
- proto — WPA/WPA2.
- psk — Хэш пароля PreShared Key.
group: list of accepted group (broadcast/multicast) ciphers for WPA
CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
If not set, this defaults to: CCMP TKIP WEP104 WEP40
pairwise: list of accepted pairwise (unicast) ciphers for WPA
CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
NONE = Use only Group Keys (deprecated, should not be included if APs support pairwise keys)
proto: list of accepted protocols
WPA = WPA/IEEE 802.11i/D3.0
RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
If not set, this defaults to: WPA RSN
key_mgmt: list of accepted authenticated key management protocols
WPA-PSK = WPA pre-shared key (this requires ‘psk’ field)
WPA-EAP = WPA using EAP authentication (this can use an external program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication
IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically generated WEP keys
NONE = WPA is not used; plaintext or static WEP could be used
If not set, this defaults to: WPA-PSK WPA-EAP
Создаем хэш пароля для psk :
Все готово, чтобы создать конфиг сети. Итоговый файл должен выглядеть как-то так.
Верные значения для bssid , group , proto и pairwise можно определить, сканируя беспроводную сеть.
Команда iwlist из набора Wireless Tools устарела, вместо нее сейчас iw .
Настройка 802.1X для офиса
Стандарт IEEE 802.1X определяет более строгую модель подключения к WiFi сети. Вместо psk пароля необходимо предъявить серверный сертификат.
- ca_cert — Абсолютный путь к CA-сертификату в формате PEM или DER, необходим для возможности подтверждения сертификата сервера.
- ca_path — Абсолютный путь к директории, где хранятся файлы CA-сертификатов (в формате PEM), которые вы хотите добавить в список доверенных.
- client_cert — Абсолютный путь к клиентскому сертификату в формате PEM или DER.
- eap — Разделенный пробелами список поддерживаемых методов EAP: MD5, MSCHAPV2, OTP, GTC, TLS, PEAP, или TTLS.
- identity — Идентификации EAP, например имя пользователя.
- password — Пароль EAP.
Так может выглядеть блок, настроенный для подключения к сети в режиме WPA-Enterprise с аутентификацией 802.1X PEAP, в котором требуется ввод данных учетной записи пользователя:
А это пример блока, настроенного для подключения к сети в режиме WPA-Enterprise с аутентификацией 802.1X EAP-TLS, в котором требуются серверный и клиентский сертификаты:
Привязка wpa_supplicant к сетевой карте
Для Gentoo Linux надо добавить 2 строки в /etc/conf.d/net .
Список поддерживаемых -D драйверов. Для современных чипов и версий ядра подойдет nl80211 . На старом железе может взлететь wext .
- nl80211 — New driver.
- wext — Linux wireless extensions (generic).
- wired — wpa_supplicant wired Ethernet driver.
- roboswitch — wpa_supplicant Broadcom switch driver.
- bsd — BSD 802.11 support (Atheros, etc.).
- ndis — Windows NDIS driver.
Сетевая карта wlan0 должна быть залинкована с lo0 .
Следует также добавить wpa_supplicant в автозапуск.
Пользователи Debian добавляют запись в файл /etc/network/interfaces .
Пользователи RedHat добавляют в /etc/sysconfig/wpa_supplicant
а в файл /etc/sysconfig/network-scripts/ifcfg-wlan0
Отладка
После того как wpa_supplicant успешно подключилась к точке доступа, в dmesg можно увидеть протокол установки соединения.
Если же вместо этого вы увидите ошибку:
то скорее всего, надо использовать драйвер wext вместо nl80211 . А с ошибкой:
наоборот, вместо wext надо подставить nl80211 .
В ситуации, когда вы не можете определить ошибку, запустите wpa_supllicant напрямую с ключем -dd .
Источник