Пример настройки подключения WiFi-клиента Linux к точке доступа


Mark Silinio <silinio(at)mail.ru>
последнее обновление 28/12/06



О чём


В данной заметке пошагово описан процесс подключения компьютера с установленным Gentoo Linux с беспроводной сетевой картой DWL-520G к точке доступа DWL-2100AP использующую WPA2-PSK аутентификацию и шифрование AES(CCMP). Все действия выполняются под пользователем root.

Итак, сначала посмотрим, есть ли у нас в компьютере эта самая wifi-карта:
$ lspci
...
0000:01:08.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)

Что ж, если в выводе команды lspci такое есть, то да.

Устанавливаем драйвера и утилиты для настойки wifi:
# USE="madwifi" emerge net-wireless/madwifi-ng net-wireless/madwifi-ng-tools net-wireless/wpa_supplicant net-misc/dhcpcd

После завершения установки всего этого дела загружаем модуль, необходимый для работы карточки:
# modprobe ath_pci

Если всё правильно, то в выводе команды dmesg вы должны увидеть подобное:
# dmesg
ath_hal: module license 'Proprietary' taints kernel.
ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
wlan: 0.8.4.2 (0.9.2)
ath_rate_sample: no version for "ether_sprintf" found: kernel tainted.
ath_rate_sample: 1.2 (0.9.2)
ath_pci: 0.9.4.5 (0.9.2)
ACPI: PCI Interrupt Link [APC1] enabled at IRQ 16
ACPI: PCI Interrupt 0000:01:08.0[A] -> Link [APC1] -> GSI 16 (level, high) -> IR
Q 209
wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36
Mbps 48Mbps 54Mbps
wifi0: turboG rates: 6Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: H/W encryption support: WEP AES AES_CCM TKIP
wifi0: mac 7.9 phy 4.5 radio 5.6
wifi0: Use hw queue 1 for WME_AC_BE traffic
wifi0: Use hw queue 0 for WME_AC_BK traffic
wifi0: Use hw queue 2 for WME_AC_VI traffic
wifi0: Use hw queue 3 for WME_AC_VO traffic
wifi0: Use hw queue 8 for CAB traffic
wifi0: Use hw queue 9 for beacons
wifi0: Atheros 5212: mem=0xe6000000, irq=209

Включаем-таки WiFi-карту:
# ifconfig ath0 up

Теперь просканируем эфир на предмет наличия беспроводных сетей:
# iwlist ath0 scan
ath0      Scan completed :
          Cell 01 - Address: 00:17:9A:75:72:96
                    ESSID:"vznet"
		    Mode:Master
		    Frequency:2.437 GHz (Channel 6)
		    Quality=2/94  Signal level=-93 dBm  Noise level=-95 dBm
		    Encryption key:on
		    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
		              12 Mb/s; 24 Mb/s; 36 Mb/s; 9 Mb/s; 18 Mb/s
                    	      48 Mb/s; 54 Mb/s
		    Extra:bcn_int=100
		    IE: IEEE 802.11i/WPA2 Version 1
		        Group Cipher : CCMP 
		        Pairwise Ciphers (1) : CCMP 
	                Authentication Suites (1) : PSK  
                       Preauthentication Supported
                    Extra:wme_ie=dd180050f2020101000003a4000027a4000042435e0062322f00

Итак, у нас нашлась точка доступа с SSID vznet, работающая на 6-м канале и используюшая безопасность 802.11i,- WPA2, аутентификацию по общему ключу(PSK) и с AES(CCMP) шифрованием.

С помощью команды wpa_passphrase (входит в состав wpa_supplicant) создаём конфигурационный файл для подключения к точке доступа с SSID vznet с помощью пароля qazxswedc:
# wpa_passphrase vznet qazxswedc > /etc/wpa_supplicant.conf

Открываем файл /etc/wpa_supplicant.conf в текстовом редакторе и добавляем туда нижние четыре строки (начиная с key_mgmt=WPA-PSK) из данного примера:
network={
	ssid="vznet"
	#psk="qazxswedc"
	psk=ac48dccb617fad5607cae4d69e5102c4cdfaa96a5ca4505839cbcde85d658c29
	key_mgmt=WPA-PSK
	proto=RSN
	pairwise=CCMP
	group=CCMP
}

Пример верен для данного случая. Если ваша точка доступа использует иное шифрование (TKIP) и/или иной метод аутентификации, то параметры будут отличаться.

Запускаем wpa_supplicant с использованием нашей конфигурации:
# wpa_supplicant -iath0 -Dmadwifi -c /etc/wpa_supplicant.conf
Trying to associate with 00:17:9a:75:72:96 (SSID='vznet' freq=2437 MHz)
ioctl[IEEE80211_IOCTL_SETMLME]: Invalid argument
Association request to the driver failed
Associated with 00:17:9a:75:72:96
WPA: Key negotiation completed with 00:17:9a:75:72:96 [PTK=CCMP GTK=CCMP]
CTRL-EVENT-CONNECTED - Connection to 00:17:9a:75:72:96 completed (auth) [id=0 id_str=]

Готово.

IP-адреса раздаются точкой по DHCP, так что запускаем:
# dhcpcd -v 10 ath0
Info, MAC address = 00:15:e9:46:15:54
Debug, broadcasting DHCP_REQUEST for 172.16.0.30
Debug, dns option is missing in DHCP server response. Assuming 172.16.0.3
Debug, broadcastAddr option is missing in DHCP server response. Assuming 172.16.255.255
Debug, dhcpIPaddrLeaseTime=3600 in DHCP server response.
Debug, DHCP_ACK received from  (172.16.0.3)
Debug, broadcasting ARPOP_REQUEST for 172.16.0.30
Info, verified 172.16.0.30 address is not in use
Info, your IP address = 172.16.0.30
Debug, orig hostname = localhost
Debug, about to exec "/etc/dhcpc/dhcpcd.exe /var/lib/dhcpc/dhcpcd-ath0.info up"

Ну, поздравляем, соединение завершено!

Ссылки



<- мЮГЮД
Valid HTML 4.01! Valid CSS!