wpa_supplicant

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Wpa supplicant and the translation is 100% complete.

A wpa_supplicant egy kérelmező program. (Kérő, kéregető, szuplikáció, szuplikáns). A Wi-Fi hitelesítést bonyolítja le (ami a Wi-Fi kapcsolatunk létrejötte előtt szokott megtörténni), így ő maga is a teljes hálózatkezelés részét képezi. Opcionálisan képes az interfészek megjelenítésére is.

Telepítés

Előfeltételként előfordulhat, hogy a vezeték nélküli támogatást aktiválni kell a kernelben az IEEE 802.11 szakaszban leírtak szerint, valamint a szükséges vezeték nélküli eszköz-illesztőprogramokat.[1]

USE jelölőzászlók

USE flags for net-wireless/wpa_supplicant IEEE 802.1X/WPA supplicant for secure wireless transfers

+ap Add support for access point mode
+fils Add support for Fast Initial Link Setup (802.11ai)
+hs2-0 Add support for 802.11u and Passpoint for HotSpot 2.0
+mbo Add support Multiband Operation
+mesh Add support for mesh mode
broadcom-sta Flag to help users disable features not supported by broadcom-sta driver
dbus Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
eap-sim Add support for EAP-SIM authentication algorithm
eapol-test Build and install eapol_test binary
fasteap Add support for FAST-EAP authentication algorithm
macsec Add support for wired macsec
p2p Add support for Wi-Fi Direct mode
privsep Enable wpa_priv privledge separation binary
ps3 Add support for ps3 hypervisor driven gelic wifi
qt6 Add support for the Qt 6 application and UI framework
readline Enable support for libreadline, a GNU line-editing library that almost everyone wants
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
smartcard Add support for smartcards
tdls Add support for Tunneled Direct Link Setup (802.11z)
tkip Add support for WPA TKIP (deprecated due to security flaws in 2009)
uncommon-eap-types Add support for GPSK, SAKE, GPSK_SHA256, IKEV2 and EKE
wep Add support for Wired Equivalent Privacy (deprecated due to security flaws in 2004)
wimax Add support for Wimax EAP-PEER authentication algorithm
wps Add support for Wi-Fi Protected Setup

Emerge

A USE jelölőzászlók áttekintése után telepítse a net-wireless/wpa_supplicant programcsomagot a Portage csomagkezelő emerge parancsával:

root #emerge --ask net-wireless/wpa_supplicant

Közvetlen kapcsolódás

Gyors kapcsolódás

Warning
Azért, hogy ne tároljon egyértelmű szöveges jelszót az előzményekben, az előzmények le vannak tiltva. Ezt ideiglenesen kell használni annak tesztelésére, hogy lehetséges-e csatlakozni a hozzáférési ponthoz.
root #set +o history
root #wpa_supplicant -i wlp0s20f3 -c <(wpa_passphrase ssid password) &
root #set -o history
Note
Folyamatkimenet közvetlen csatlakozáskor: 'wpa_supplicant -iwlan0 -c /dev/fd/63'

Csatlakozás két interfészhez

A wpa_supplicant több interfészt (rádiót) vezérelhet úgy, hogy minden egyes interfészhez külön-külön egy folyamatot futtat, vagy csak egy folyamatot és opciók listáját futtatja a parancssorban. Minden interfész -N argumentummal van elválasztva. A következő parancs elindítja a wpa_supplicant programot két interfész számára:

user $wpa_supplicant -c wpa1.conf -i wlan0 -D nl80211 -N -c wpa2.conf -i ath0 -D wext

Konfiguráció

Fájlok

Minimális konfiguráció

A wpa_supplicant magába foglal egy eszközt (wpa_passphrase), amely segítségével a parancssorból gyorsan írhat hálózati blokkot az előre megosztott kulcsú (WPA-PSK, más néven jelszóval védett) hálózatokhoz. A wpa_passphrase használata:

root #wpa_passphrase ssid password >> /etc/wpa_supplicant/wpa_supplicant.conf
Note
Ha a jelszót hash-ként tárolják tiszta szöveg helyett, akkor hozzá kell adni a key_MGMT=WPA-EAP és a eap=PEAP paramétereket a konfigurációs fájlhoz, amely alapértelmezés szerint nem jön létre.

Vezeték nélküli interfész beállítása

Egyetlen vezeték nélküli interfésszel való használathoz csak egy konfigurációs fájlra lesz szükség.

FILE /etc/wpa_supplicant/wpa_supplicant.conf
# Allow users in the 'wheel' group to control wpa_supplicant
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
 
# Make this file writable for wpa_gui / wpa_cli
update_config=1

Azért, hogy a jogosultság nélküli felhasználók is kontrollálhassák a kapcsolatot a wpa_gui / wpa_cli segítségével, győződjön meg arról, hogy ezek a felhasználók benne vannak a wheel csoportban.

Ez a fájl alapértelmezés szerint nem létezik. Egy jól dokumentált sablon konfigurációs fájl átmásolható a /usr/share/doc/${P}/wpa_supplicant.conf.bz2 fájlból, ahol a P változó értéke a jelenleg emerge-vel összeállított wpa_supplicant neve és verziója:

root #bzcat /usr/share/doc/${P}/wpa_supplicant.conf.bz2 > /etc/wpa_supplicant/wpa_supplicant.conf

WPA2 with wpa_supplicant

Csatlakozni bármely vezeték nélküli hozzáférési ponthoz, amely az AzÖnSSIDNeve szöveget mutatja:

FILE /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
#ap_scan=0
#update_config=1
 
network={
        ssid="AzÖnSSIDNeve"
        psk="your-secret-key"
        scan_ssid=1
        proto=RSN
        key_mgmt=WPA-PSK
        group=CCMP TKIP
        pairwise=CCMP TKIP
        priority=5
}

Konfigurációs fájl dinamikus WEP kulcsokkal

FILE /etc/wpa_supplicant/wpa_supplicant_wired.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
network={
	ssid="1x-test"
	scan_ssid=1
	key_mgmt=IEEE8021X
	eap=TLS
	identity="user@example.com"
	ca_cert="/etc/cert/ca.pem"
	client_cert="/etc/cert/user.pem"
	private_key="/etc/cert/user.prv"
	private_key_passwd="password"
	eapol_flags=3
}

Többé-kevésbé minden konfigurációs módot engedélyez

Warning
A konfigurációs beállítások a kiválasztott SSID-ben használt biztonsági házirend alapján kerülnek felhasználásra. Ez többnyire tesztelésre szolgál, normál használatra nem ajánlott.
FILE /etc/wpa_supplicant/wpa_supplicant_wired.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
network={
	ssid="example"
	scan_ssid=1
	key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
	pairwise=CCMP TKIP
	group=CCMP TKIP WEP104 WEP40
	psk="very secret passphrase"
	eap=TTLS PEAP TLS
	identity="user@example.com"
	password="foobar"
	ca_cert="/etc/cert/ca.pem"
	client_cert="/etc/cert/user.pem"
	private_key="/etc/cert/user.prv"
	private_key_passwd="password"
	phase1="peaplabel=0"
	ca_cert2="/etc/cert/ca2.pem"
	client_cert2="/etc/cer/user.pem"
	private_key2="/etc/cer/user.prv"
	private_key2_passwd="password"
}


Vezetékes 802.1x beállítás

A vezetékes kapcsolatokat kezelheti a wpa_supplicant segítségével, ami hasznos a 802.1X-et használó hálózatoknál. Hozzon létre egy külön konfigurációs fájlt, amely tartalmazza a vezetékes konfigurációt. Az alábbiakban példaként használjon tanúsítványokat a hitelesítéshez, és nézze meg a wpa_supplicant.conf man kézikönyvoldalt, ahol példákat találhat más módszerekre.

Note
Ez használható vezetékes vagy roboswitch interfésszel (-Dwired vagy -Droboswitch parancssorban).
FILE /etc/wpa_supplicant/wpa_supplicant_wired.conf
ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=0
fast_reauth=1
 
network={
	key_mgmt=IEEE8021X
	eap=TLS
	identity="COMPUTERAACT$@DOMAIN"
	ca_cert="/etc/wpa_supplicant/ca.pem"
	client_cert="/etc/wpa_supplicant/COMPUTERACCT.pem"
	private_key="/etc/wpa_supplicant/COMPUTERAACT.key"
	private_key_passwd="secret_password"
	eapol_flags=0
}

Mivel a konfigurációs fájl bizalmas információkat tartalmaz, ezért ennek megfelelően használja a chmod -ot.

root #chmod 600 /etc/wpa_supplicant/wpa_supplicant_wired.conf

A wpa_supplicant programnak szüksége van néhány extra paraméterre azért, hogy a fenti konfigurációt alkalmazza a vezetékes interfészen (eth0) Vegye figyelembe, hogy az alábbi wpa_supplicant argumentumok feltételezik, hogy a wpa_supplicant verziója >=2.6-r2 (-M, CONFIG_MATCH_IFACE=y)

FILE /etc/conf.d/wpa_supplicant
wpa_supplicant_args="-ieth0 -Dwired -c/etc/wpa_supplicant/wpa_supplicant_wired.conf -M -c/etc/wpa_supplicant/wpa_supplicant.conf"

Hagyja, hogy a wpa_supplicant kezelje az interfészek indítását/leállítását az /etc/init.d fájlból való eltávolítással és a wpa_supplicant szolgáltatás engedélyezésével.

root #/etc/init.d/net.eth0 stop
root #/etc/init.d/net.wlan0 stop
root #rm /etc/init.d/net.wlan0 /etc/init.d/net.eth0
root #rc-update add wpa_supplicant
root #/etc/init.d/wpa_supplicant start

Ellenőrizze a vezetékes interfész állapotát a wpa_cli segítségével.

Csatlakozzon közvetlenül a vezeték nélküli hozzáférési ponthoz a parancssorból:


root #wpa_cli
wpa_cli v2.8
Copyright (c) 2004-2019, Jouni Malinen <j@w1.fi> and contributors
 
This software may be distributed under the terms of the BSD license.
See README for more details.
 
 
Selected interface 'p2p-dev-wlan0'
 
Interactive mode
 
> interface eth0
Connected to interface 'eth0.
> status
bssid=00:00:00:00:00:00
freq=0
ssid=
id=0
mode=station
pairwise_cipher=NONE
group_cipher=NONE
key_mgmt=IEEE 802.1X (no WPA)
wpa_state=COMPLETED
ip_address=10.10.10.100
p2p_device_address=bb:bb:bb:bb:bb:bb
address=aa:aa:aa:aa:aa:aa
Supplicant PAE state=AUTHENTICATED
suppPortStatus=Authorized
EAP state=SUCCESS
selectedMethod=13 (EAP-TLS)
eap_tls_version=TLSv1
EAP TLS cipher=ECDHE-RSA-AES256-SHA
...

A hálózatkezelő beállítása

Important
A Hálózatkezelésben felsorolt ​​megoldások általában nem működnek együtt. Győződjön meg arról, hogy egyszerre csak az egyik szolgáltatás fut. Egynél több hálózatkezelési szolgáltatás elindítása beláthatatlan eredményekhez vezet!

Feltétlenül válassza ki a megfelelő beállítást.

A dhcpcd beállítása hálózatkezelőként

First follow the setup guide for dhcpcd.

Emerge wpa_supplicant (Version >=2.6-r2 is needed in order to get the CONFIG_MATCH_IFACE option added in April 2017):

root #emerge --ask net-wireless/wpa_supplicant

Using OpenRC

Complete its conf.d file with the -M option for the wireless network interface:

FILE /etc/conf.d/wpa_supplicant
wpa_supplicant_args="-B -M -c /etc/wpa_supplicant/wpa_supplicant.conf"

In case authentication for the wired interface is needed, this configuration file should look like:

FILE /etc/conf.d/wpa_supplicant
wpa_supplicant_args="-ieth0 -Dwired -c/etc/wpa_supplicant/wpa_supplicant_wired.conf -B -M -c/etc/wpa_supplicant/wpa_supplicant.conf"

With the configuration done, run it as a service:

root #rc-update add wpa_supplicant default
root #rc-service wpa_supplicant start

Using Systemd

Systemd allows a simpler per-device setup without needing to create the above conf.d files. As explained under wpa_supplicant item in the Native services section, a service symlink such as wpa_supplicant@wlan0.service looks for a separate configuration file to manage the device wlan0 in this case.

To configure a specific device this way, first copy or rename the /etc/wpa_supplicant/wpa_supplicant.conf file as /etc/wpa_supplicant/wpa_supplicant-DEVNAME.conf where DEVNAME should be the name of the device, such as wlan0.

Then, navigate to /etc/systemd/system/multi-user.target.wants and create the symlink:

root #ln -s /lib/systemd/system/wpa_supplicant@.service wpa_supplicant@DEVNAME.service

where DEVNAME is same device name as in the conf file above.

Important
Note the @ signs on both arguments in the symlink step.

Test the system:

root #systemctl daemon-reload
root #systemctl start wpa_supplicant@DEVNAME
root #systemctl status wpa_supplicant@DEVNAME

Abban az esetben, ha szükség van az elavult WEXT illesztőprogramra, a vezeték nélküli illesztőprogram megváltoztatása segíthet megoldani azokat az eseteket, amikor az összekapcsolódik, majd azonnal megszakad a 3. ok miatt. Futtassa a wpa_supplicant -h parancsot, hogy megtekinthesse a fordításkor felépített, elérhető illesztőprogramok listáját.

FILE /etc/conf.d/wpa_supplicantset the driver to wext
wpa_supplicant_args="-D wext"

Beállítás a netifrc számára

A Netifrc konfigurálása, hogy használja wpa_supplicant programot:

FILE /etc/conf.d/net
modules_wlan0="wpa_supplicant"
config_wlan0="dhcp"

A fenti konfigurálás után érdemes megváltoztatni az engedélyeket, hogy a WiFi jelszavakat ne lássák egyszerű szövegben a számítógépet használók:[2]

root #chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf

A NetworkManager beállítása

A wpa_supplicant WiFi háttérként beállított NetworkManager a D-Bus segítségével szükség esetén elindítja a wpa_supplicant programot. Ezért ajánlott magát a wpa_supplicant szolgáltatást leállítva tartani a rendszerindításkor.

Használat

A wpa_gui használata

A wpa_supplicant használatának legegyszerűbb módja a wpa_gui interfész használata. Az engedélyezéséhez állítsa be a wpa_supplicant programot úgy, hogy a qt5 USE jelölőzászló engedélyezve van.

A wpa_cli használata

A wpa_supplicant program parancssori felhasználói felülettel is rendelkezik. A wpa_cli begépelése a parancssorba elindítja az interaktív módot a tabulátor-kiegészítéssel. Ha ebbe a parancssorba be írja a help parancsot, akkor megjelenik az elérhető parancsok listája. (Kattintson a "Kibontás" gombra a wpa_cli parancs alábbi kimenetének megtekintéséhez):

user $wpa_cli
wpa_cli v2.5
 Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors
 
 This software may be distributed under the terms of the BSD license.
 See README for more details.
 
 
 Selected interface 'wlan0'
 
 Interactive mode
 
 > scan
 OK
 > scan_results
 bssid / frequency / signal level / flags / ssid
 01:23:45:67:89:ab       2437    0       [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS]    hotel-free-wifi
 > add_network
 0
 > set_network 0 ssid "hotel-free-wifi"
 OK
 > set_network 0 psk "password"
 OK
 > enable_network 0
 OK
 <3>CTRL-EVENT-SCAN-RESULTS 
 <3>WPS-AP-AVAILABLE 
 <3>Trying to associate with 01:23:45:67:89:ab (SSID='hotel-free-wifi' freq=2437 MHz)
 <3>Associated with 01:23:45:67:89:ab
 <3>WPA: Key negotiation completed with 01:23:45:67:89:ab [PTK=CCMP GTK=TKIP]
 <3>CTRL-EVENT-CONNECTED - Connection to 01:23:45:67:89:ab completed [id=0 id_str=]
 > save_config 
 OK
 > quit

Másik Wi-Fi rádióadóra váltáshoz:

user $wpa_cli
wpa_cli v2.5
 Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors
 
 This software may be distributed under the terms of the BSD license.
 See README for more details.
> list_networks
network id / ssid / bssid / flags
0	TAMO	any	
1	ORBI705	any	
2	ORBI	any	
3	Tangerine	any	
4	271	any	
5	POCO X3 Pro	any	
6	Orbi Guest	any	
7	hackerspace	any	
8	HUAWEI-25 a-2	any	
9	A1-13	any	
 
> select_network 1

További részletek a kapcsolódásról az Arch Linux wikiben olvashat.[3]

Szerkesztés manuálisan

Természetesen a /etc/wpa_supplicant/wpa_supplicant.conf konfigurációs fájl manuálisan is szerkeszthető. Ez azonban nagyon munkaigényes lehet, ha a számítógépnek sok különböző hozzáférési ponthoz kell csatlakoznia.

Példák találhatók a wpa_supplicant.conf(5) kézikönyvoldalon és a /usr/share/doc/wpa_supplicant-2.4-r3/wpa_supplicant.conf.bz2-ban.

FILE /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
ap_scan=1
 
network={
        bssid=00:50:17:31:1a:11
        ssid="YourSSID"
        psk="your-secret-key"
        scan_ssid=1
        proto=RSN
        key_mgmt=WPA-PSK
        group=CCMP TKIP
        pairwise=CCMP TKIP
        priority=5
}

Automatikus csatlakozás bármely nem biztonságos hálózathoz

FILE /etc/wpa_supplicant/wpa_supplicant.conf
network={
        key_mgmt=NONE
        priority=-999
}

Hibaelhárítás

Abban az esetben, ha nem a várt módon működik, akkor próbálkozzon az alábbiakkal, és elemezze a kimenetet.

Ellenőrizze az ismert hibákat

Ellenőrizze az USE jelölőzászlókat

Két USE jelölőzászló alapértelmezés szerint le van tiltva a régebbi wifi protokolloknál az ismert biztonsági hibák miatt: A tkip és a wep. Engedélyezze az USE jelölőzászlók használatát a régebbi Wi-Fi útválasztókhoz, és telepítse újra a wpa_supplicant programot.

rfkill: WLAN soft blocked

Ha az rfkill blokkolja az interfészt, akkor először keresse meg az interfész számát a következővel:

user $rfkill list
0: ideapad_wlan: Wireless LAN
	Soft blocked: yes
	Hard blocked: no
1: ideapad_bluetooth: Bluetooth
	Soft blocked: yes
	Hard blocked: no
2: hci0: Bluetooth
	Soft blocked: yes
	Hard blocked: no
3: phy0: Wireless LAN
	Soft blocked: yes
	Hard blocked: no

Majd az interfész a következő módon oldható fel:

root #rfkill unblock 3

Futtassa a wpa_supplicant programot hibakeresési módban

Feltétlenül állítsa le a wpa_supplicant minden futó példányát:

root #killall wpa_supplicant

A következő opciók használhatók a hibakereséshez (kattintson a "Kibontás" gombra az alábbi kimenet megtekintéséhez):

root #wpa_supplicant -Dnl80211 -iwlan0 -C/var/run/wpa_supplicant/ -c/etc/wpa_supplicant/wpa_supplicant.conf -dd
wpa_supplicant v2.2
random: Trying to read entropy from /dev/random
Successfully initialized wpa_supplicant
Initializing interface 'wlp8s0' conf '/etc/wpa_supplicant/wpa_supplicant.conf' driver 'nl80211' ctrl_interface '/var/run/wpa_supplicant' bridge 'N/A'
Configuration file '/etc/wpa_supplicant/wpa_supplicant.conf' -> '/etc/wpa_supplicant/wpa_supplicant.conf'
Reading configuration file '/etc/wpa_supplicant/wpa_supplicant.conf'
ctrl_interface='DIR=/var/run/wpa_supplicant GROUP=wheel'
update_config=1
Line: 6 - start of a new network block

Naplózás engedélyezése

Naplózás engedélyezése a Gentoo net.* szkriptek számára

FILE /etc/conf.d/netfor usage with the setup for Gentoo net.* scripts
modules_wlan0="wpa_supplicant"
wpa_supplicant_wlan0="-Dnl80211 -d -f /var/log/wpa_supplicant.log"
config_wlan0="dhcp"

Most az egyik parancssorban adjon ki egy tail parancsot a kimenet figyeléséhez. Egy másik parancssorban indítsa újra a net.wlan0 eszközt:

root #tail -f /var/log/wpa_supplicant.log
root #/etc/init.d/net.wlan0 restart

Hivatkozások

További olvasnivaló a témában

  • iwd — a wireless daemon intended to replace wpa_supplicant

Külső források