Linux WiFi от командния ред с wpa_supplicant
В тази статия ще разгледаме как можете да конфигурирате WiFi чрез wpa_supplicant. без Xorg / X11 комунални услуги. Това е да се гарантира, че основните услуги се изпълняват редовно работят с минимален набор от технически средства за отдалечен достъп. Програмата ще се изпълнява като услуга, настройките се извършват редактиране на конфигурационния файл.
В бързо се установи връзка с открита точка за достъп може по този начин.
Ако е необходимо за дълго време, моля вътре.
Обща информация за wpa_supplicant
Каква е wpa_supplicant?
- Cross-платформа, отворен код за изпълнението на стандарта IEEE 802.11 за Linux, BSD *, Windows, Mac OS X и други системи.
- Пълна подкрепа за WPA2, WPA и по-възрастните безжична LAN протокол за сигурност.
- Заявление потребителското пространство, което действа като молител и оператора на МСП изпълнение инструкции MLME.
- WPA и пълна IEEE 802.11i / RSN / WPA2.
- WPA-PSK и WPA2-PSK (предварително споделен ключ) ( "WPA-Personal").
- WPA с EAP (т.е. RADIUS сървър за разпознаване) ( "WPA-Enterprise"), за управление на CCMP, TKIP, WEP (104/128 и 40/64 бита).
- Кеширане RSN, PMKSA: предварително удостоверяване.
![Linux WiFi от командния ред с wpa_supplicant (ред) Linux WiFi от командния ред с wpa_supplicant](https://webp.images-on-off.com/27/302/434x288_j5jbnzr60240ciycdv14.webp)
Както wpa_supplicant установява връзка с точка за достъп?
- Интерфейсът на мрежата трябва да функционира правилно с шофьора инсталиран, преди да започнете wpa_supplicant.
- Wpa_supplicant шофьор искания ядрото за сканиране на разположение Основен набор услуги (BSS).
- Wpa_supplicant избира по БДС в съответствие с настройките.
- Wpa_supplicant пита шофьора на ядрото да се установи връзка с избрания БДС.
- За WPA-EAP: EAP автентификация произвежда вградена IEEE 802.1X молител, или пък Xsupplicant сървъра външно удостоверяване.
- За WPA-EAP: получена главен ключ от IEEE 802.1X молител.
- За WPA-PSK wpa_supplicant използва PSK парола като главния ключ на сесията.
- Wpa_supplicant произвежда за удостоверяване точки за достъп с 4 ръкостискане [1] и съгласие ключова група.
- Wpa_supplicant криптира единично разпръскване и множествено предаване пакети [2]. След това започва редовен обмен на данни.
Основната и голям плюс wpa_supplicant - това yuniksveynost. т.е. съответствие с принципа на Unix Way. когато програмата прави едно нещо, но го прави добре. В известен смисъл, тъй като wpa_supplicant Gentoo Way. Тя изисква известно внимание и търпение в началото, но по-късно тя може да бъде напълно забравена. След като програмата е инсталирана и пусната в материята, той попада напълно извън потока на събитията, като се обърна в няколко реда от -EF на електроенергийната система. Тя не блести и не мига в системния трей, не уведоми проучени, свързани и несвързани безжични мрежи. Това просто не е толкова дълго, колкото да не го търсим.
От минусите - сложността на настройка и конфигурация. Много по-трудно в сравнение с Tyrke-Tyrke-Tyrke в прозореца на Network Manager. да не говорим за WiFi връзка от всяко Android устройство. Ако ще на екскурзия с лаптоп Linux, най-вероятно предпочитате по-лесни за използване на предния край безжична мрежови настройки бързо да се свърже с безплатни WiFi точки за достъп в летища, хотели, или на работното място. За по произход като безжичен интернет - най-много него.
Ако не изберете графичен фронтенд, програмата почти дърпа не зависимости. За Gentoo Linux инсталация ще се побере с вдигнат, както е показано.
- появят -av wpa_supplicant #Gentoo
- правоспособност инсталирате wpasupplicant #Debian
- Yum инсталирате wpa_supplicant #Redhat
- Pacman -S wpa_supplicant #Arch
Свързване без конфигурационния файл
Ако имате нужда да се свържете само веднъж, необходимостта от създаване на конфигурационен файл и да уточняват всички тънкостите на настройка, не. Трябва само да въведете няколко инструкции от командния ред.
Пример за отворена мрежа е показано в началото. За затворен WPA мрежа бърза връзка глади така:
В началото е необходимо да се работи на самата програма и придружаващата wpa_supplicant wpa_cli.
След това, за създаване на интерактивен интерфейс wpa_cli.
WPA2 за затворена мрежа:
В края на краищата, трябва ръчно да стартирате DHCP демона.
Същото нещо с IW.
Настройка на домашна мрежа
Сега най-интересното - настройка. Този процес се документира за Arch Wiki. Debian Wiki и Gentoo Wiki. но всички подробности там, разбира се, че не.
Програмата е обикновено слагам в директорията / и т.н. / wpa_supplicant /. и нашата задача - да зададете правилно wpa_supplicant.conf конфигурационния файл. и да го свърже с безжична мрежа интерфейс Autorun.
Нека започнем с wpa_supplicant.conf. Ако се свързвате от вкъщи до WPA / WPA2, вероятно използвате парола за WiFi връзка, която съответства на WPA-PSK ( "WPA-Personal"). Ние няма да се обмисли варианта с WEP, защото тя не е много по-добре, отколкото отворена мрежа.
Вземете една типична конфигурация на документацията. Например такива.
се изисква от първия ред. без ctrl_interface програма дори не се стартира. GROUP = колело трябва да се управлява от обикновен потребител в wpa_gui графичен интерфейс, но това не е нашият начин. Така че аз бях на улица GROUP = 0.
Всяка мрежова конфигурация файл трябва да съответства на единица мрежа <>. Ровя в изходния код, открих намери Полезна писмено променлива ap_scan в config.h файл. и потребителя и упътване за употреба описанието му е много оскъдна.
ap_scan - AP сканиране / селекция
По подразбиране, wpa_supplicant искания водача да изпълнява AP сканиране и след това използва резултатите от сканирането, за да изберете подходящ AP. Друга алтернатива е да се даде възможност на водача да се грижи за AP сканиране и подбор и използване wpa_supplicant просто да обработва EAPOL рамки, базирани на IEEE 802.11 информация асоциация от страна на водача.
1: wpa_supplicant започва сканиране и селекция AP (по подразбиране).
0: шофьора се грижи за сканиране избор AP и IEEE 802.11 параметри асоцииране (например WPA IE поколение); този режим може да се използва с водачи, които не са WPA, когато използвате режим IEEE 802.1X;
Не се опитвайте да се асоциира с точки за достъп (т.е. външна програма трябва да се контролира асоциация). Този режим трябва да се използва и при използване на жични Ethernet драйвери.
2: 0 като, но свързват с точки за достъп, използващи политика за сигурност и SSID (но не BSSID); това може да се използва, например с ndiswrapper и NDIS шофьорите да се даде възможност на работа със скрити идентификатори SSID и оптимизиран роуминг;
В този режим, мрежовите блокове в конфигурацията са се опитали един по един, докато докладите на драйвера за успешното асоцииране; всяка мрежа блок трябва да има ясна политика за сигурност (т.е. само един
опция в списъците) за key_mgmt, по двойки, групи, прото променливи.
Забележка: ap_scan = 2 не трябва да се използва с интерфейса на nl80211 шофьор (текущата Linux интерфейс). ap_scan = 1 се оптимизира работата работа с nl80211. За намиране на мрежи с помощта на скрит SSID, scan_ssid = 1 в блока на мрежата може да се използва с nl80211.
Ръководство Настройки
група: списък на приетите група (радиопредаване / радиопредаване) шифри за WPA
CCMP = AES в Counter режим с CBC-MAC [RFC 3610, IEEE 802.11i / D7.0]
TKIP = временен интегритет на ключа протокол [IEEE 802.11i / D7.0]
WEP104 = WEP (Wired Equivalent Privacy) с 104-битов ключ
WEP40 = WEP (Wired Equivalent Privacy), с 40-битов ключ [IEEE 802.11]
Ако не е зададено, това по подразбиране е: CCMP TKIP WEP104 WEP40
двойки: списък на приетите по двойки (единично) шифри за WPA
CCMP = AES в Counter режим с CBC-MAC [RFC 3610, IEEE 802.11i / D7.0]
TKIP = временен интегритет на ключа протокол [IEEE 802.11i / D7.0]
NONE = Използвайте само Група Keys (оттеглено, не трябва да се включва, ако АР подкрепят двойки ключове)
прото: списък на приетите протоколи
WPA = WPA / IEEE 802.11i / D3.0
RSN = WPA2 / IEEE 802.11i (също WPA2 може да се използва като псевдоним за RSN)
Ако не е зададено, това по подразбиране е: WPA RSN
key_mgmt: списък на приетите заверени протоколи за управление на ключовите
WPA-PSK = WPA предварително споделен ключ (това изисква "PSK" поле)
WPA-EAP = WPA използване EAP удостоверяване (това може да се използва външна програма, например Xsupplicant, за IEEE 802.1X EAP удостоверяване
IEEE8021X = IEEE 802.1X използване EAP удостоверяване и (по избор) динамично генерирани ключове WEP
НЯМА = WPA не се използва; прав текст или статично WEP може да се използва
Ако не е зададено, че по подразбиране това: WPA-PSK WPA-EAP
Създаване на парола хашиш за PSK:
Всичко е готово за създаване на конфигурацията на мрежата. Получената файла трябва да изглежда по следния начин.
Валидните стойности за BSSID. група. прото двойки и може да се определи чрез сканиране на безжичната мрежа.
iwlist командването на набор от безжични инструменти, LLC, своето място сега IW.
Конфигуриране на 802.1X Офис
Стандартът IEEE 802.1X дефинира по-строг модел на WiFi мрежа. Вместо PSK парола са длъжни да представят удостоверение за сървър.
- ca_cert - абсолютен път до CA-сертификата в PEM или DER формат, трябва да бъде в състояние да потвърди сертификата на сървъра.
- ca_path - абсолютен път до директорията, в която се съхраняват файловете на CA-сертификат (в PEM формат), които искате да добавите към списъка с надеждни.
- client_cert - Абсолютно път към клиентски сертификат в PEM или DER формат.
- EAP - разделени с интервал списък на поддържаните методи EAP A: MD5, MSCHAPv2, ОТП, GTC, TLS, PEAP или TTLS.
- идентичност - идентичност EAP, като потребителското име.
- парола - парола EAP.
Така може да изглежда единица, която е конфигурирана да се свърже с мрежата при удостоверяване WPA-Enterprise Mode 802.1X PEAP, където искате да въведете потребителски акаунт:
И това е пример за устройството, който е конфигуриран да се свърже с мрежата при удостоверяване режим WPA-Enterprise 802.1X EAP-TLS, която изисква сървър и клиент сертификати:
Wpa_supplicant свързване с мрежовата карта
За Gentoo Linux трябва да добавите 2 реда в /etc/conf.d/net.
Поддържани -D
- nl80211 - Нов шофьор.
- wext - Linux безжични разширения (генерични).
- кабелен - wpa_supplicant кабелен Ethernet драйвер.
- roboswitch - wpa_supplicant превключвател шофьор Broadcom.
- BSD - BSD 802.11 подкрепа (Atheros и т.н.).
- NDIS - Windows NDIS шофьор.
Мрежа wlan0 карта трябва да бъде zalinkovana с lo0.
Трябва също да се добавят към стартиране wpa_supplicant на.
потребители на Debian добавите запис във файла / и т.н. / мрежа / интерфейси.
Потребителите RedHat се добавят към / и т.н. / sysconfig / wpa_supplicant
и в файл / и т.н. / sysconfig / мрежа скриптове / ifcfg-wlan0
След wpa_supplicant е свързана успешно към точката за достъп, можете да видите в dmesg протокол за провеждане на обаждането.
Ако вместо това виждате грешка:
най-вероятно, че е необходимо да се използва драйвер вместо wext nl80211. И с тази грешка:
напротив, ние трябва да замени вместо wext nl80211.
В ситуация, в която не можете да идентифицирате грешката, тичам wpa_supllicant директно с ключ -DD.
използваните материали
Можете да използвате и dhcpcd.service systemd-демон за всички интерфейси и dhcpcd @ интерфейс .service за определен интерфейс.
Аз лично как работи. Wi-Fi интернет на лаптопа се свържете ръчно чрез wpa_supplicant. Аз не знам защо се е случило това, изглежда много отдавна, аз не са овладели NetworkManager (по някаква причина той не работи), и е необходимо мрежата. Това е свързано посредством wpa_supplicant. И тогава аз използвах, много удобен и лаптоп няма да се свърже без мое знание, в
/ WPA са конфигурации за желаната точки.
Хе, имам EEE-PC 701 на стойност Ubuntu 10.04 (!) - няма systemd, но О, добре, аз ще направя през Баш-скрипт.
И като цяло - където можете да прочетете за концепцията на systemd? Е, така че да не изсъхне език на преподаване ...