Raspberry Pi 3 Ad-Hoc Беспроводная сеть с конфигурацией wpa_supplicant / WPA2

4224
greggigon

Мне нужна помощь с защитой сети Ad-Hoc с помощью wpa_supplicant.

Я пытался настроить беспроводную сеть Ad-Hoc между Raspberry PI 3 с помощью встроенного адаптера WiFi.

pi@raspberrypi3bare:~ $ iw list Wiphy phy0 max # scan SSIDs: 10 max scan IEs length: 2048 bytes Retry short limit: 7 Retry long limit: 4 Coverage class: 0 (up to 0m) Device supports T-DLS. Supported Ciphers: * WEP40 (00-0f-ac:1) * WEP104 (00-0f-ac:5) * TKIP (00-0f-ac:2) * CCMP (00-0f-ac:4) * CMAC (00-0f-ac:6) Available Antennas: TX 0 RX 0 Supported interface modes: * IBSS * managed * AP * P2P-client * P2P-GO * P2P-device Band 1: Capabilities: 0x1020 HT20 Static SM Power Save RX HT20 SGI No RX STBC Max AMSDU length: 3839 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 16 usec (0x07) HT TX/RX MCS rate indexes supported: 0-7 Bitrates (non-HT): * 1.0 Mbps * 2.0 Mbps (short preamble supported) * 5.5 Mbps (short preamble supported) * 11.0 Mbps (short preamble supported) ... * 54.0 Mbps Frequencies: * 2412 MHz [1] (20.0 dBm) ... * 2472 MHz [13] (20.0 dBm) * 2484 MHz [14] (disabled) Supported commands: * new_interface * set_interface * new_key * start_ap * join_ibss * set_pmksa * del_pmksa * flush_pmksa * remain_on_channel * frame * set_channel * tdls_oper * start_sched_scan * start_p2p_device * crit_protocol_start * crit_protocol_stop * connect * disconnect Supported TX frame types: * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 Supported RX frame types: * managed: 0x40 0xd0 * P2P-client: 0x40 0xd0 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * P2P-device: 0x40 0xd0 software interface modes (can always be added): valid interface combinations: * #{ managed } <= 1, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1, total <= 3, #channels <= 2 * #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1, total <= 4, #channels <= 1 

В соответствии с вышеизложенным, P2P (Ad-Hoc) поддерживается.

Моя конфигурация сетевого интерфейса выглядит так:

auto wlan0 iface wlan0 inet static address 192.168.0.10 netmask 255.255.255.0 wireless-channel 11 wireless-essid FooBar2 wireless-mode ad-hoc # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf 

Если не включен wpa_supplicant, я могу запустить wlan0 на двух разных Pi (два разных IP-адреса), и он работает нормально. Я могу пинговать один Пи от другого (и наоборот).

Когда я пытаюсь запустить wpa_supplicant поверх него (на обоих Pi), я не могу заставить их работать.

Файл конфигурации wpa_supplicant выглядит так:

pi@raspberrypi3bare:~ $ sudo cat /etc/wpa_supplicant/wpa_supp.conf ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 ap_scan=2 network={ ssid="FooBar2" key_mgmt=WPA-PSK psk=102ea4041e1612cc5905c4b9008f5e9aaebe91d20792ca16ab7754fd137865a8 mode=1 proto=RSN group=CCMP pairwise=CCMP frequency=2462 } 

Вывод команды запуска:

pi@raspberrypi3bare:~ $ sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supp.conf -D nl80211 -i wlan0 Successfully initialized wpa_supplicant Note: nl80211 driver interface is not designed to be used with ap_scan=2; this can result in connection failures wlan0: Trying to associate with SSID 'FooBar2' wlan0: Associated with 7e:6c:29:3d:49:eb wlan0: CTRL-EVENT-CONNECTED - Connection to 7e:6c:29:3d:49:eb completed [id=0 id_str=] WMM AC: Missing IEs wlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0   pi@raspberrypi3bare:~ $ ping 192.168.0.30 PING 192.168.0.30 (192.168.0.30) 56(84) bytes of data. From 192.168.0.10 icmp_seq=1 Destination Host Unreachable 

Пара других деталей:

pi@raspberrypi3bare:~ $ wpa_supplicant -v wpa_supplicant v2.6 Copyright (c) 2003-2016, Jouni Malinen <j@w1.fi> and contributors pi@raspberrypi3bare:~ $ uname -a Linux raspberrypi3bare 4.4.21-v7+ #911 SMP Thu Sep 15 14:22:38 BST 2016 armv7l GNU/Linux 

Любая идея, что я могу изменить, чтобы заставить wpa_supplicant работать?

1
Почему именно вы хотите настроить специальную сеть? С помощью * hostpad * вы можете достичь всего, чего пытаетесь достичь, включая аутентификацию WP2-PSK, без каких-либо проблем. MariusMatutiae 7 лет назад 0

1 ответ на вопрос

1
Spiff

Кстати, P2P - это Wi-Fi Direct, что сильно отличается от Ad Hoc. Ad Hoc относится исключительно к IBSS. Остальная часть этого ответа предполагает, что вы имели в виду IBSS, а не P2P.

Аутентификация WPA2-PSK через IBSS возможна (стандарт IEEE 802.11 определяет, как это сделать), но ее сложно реализовать, поэтому я не уверен, насколько широко она поддерживается. Я не удивлюсь, если wpa_supplicant не поддерживает его, так как он требует, чтобы соискатель переключал роли и становился аутентификатором в некоторых случаях, и все еще действовал как соискатель в других случаях, в зависимости от того, какое устройство имеет более высокий MAC-адрес. Обычно роль аутентификатора WPA2-PSK играет hostapd на устройстве в режиме AP. Я не уверен, существует ли какой-либо код аутентификатора в wpa_supplicant.

Попробуйте заставить Ad Hoc (IBSS) работать с 40-битным WEP. После того, как вы это заработаете, выясните, поддерживает ли wpa_supplicant WPA2-PSK поверх IBSS и как его настроить.

Вы правы в предположении IBSS. Я постараюсь заставить его работать сначала с WEP сегодня вечером. Просматривая документы в файле конфигурации wpa_supplication, я чувствую, что WPA2-PSK должен поддерживаться для IBSS https://w1.fi/cgit/hostap/plain/wpa_supplicant/wpa_supplicant.conf (нижняя часть файла с примерами). Спасибо за ответ Spiff, очень ценю! greggigon 7 лет назад 0
@greggigon Я согласен, похоже, что wpa_supplicant поддерживает WPA2-PSK в IBSS (раньше я был на мобильном телефоне, или я бы сам проверил). Так что теперь я бы сказал, может быть, вы увидите предупреждение о том, что использование `ap_scan = 2` с этим драйвером может привести к сбоям соединения. Там пример файла .conf, на который вы ссылаетесь, содержит больше информации об этом. Если у вас работает `ap_scan = 1`, опубликуйте его как свой собственный ответ и примите свой собственный ответ. Spiff 7 лет назад 0

Похожие вопросы