Коллеги, подскажите, где не прав. Облазил кучу форумов с подобной проблемой, но решения так и не нашел. Пытаюсь настроить программную точку доступа при помощи hostapd.
Делаю так:
1) sudo lshw | less
...
*-network
описание: Беспроводной интерфейс
продукт: AR9485 Wireless Network Adapter
....
driver=ath9k
т.е используется нужный драйвер - здесь ок!
2)Ставлю две доп утилиты: hostapd - чтобы сетевуха могла работать как AP и dnsmasq - будет сервером dhcp, dns
sudo apt-get install hostapd dnsmasq
3) Останавливаю работающие утилиты: (root)
service hostapd stop
service dnsmasq stop
update-rc.d hostapd disable
update-rc.d dnsmasq disable
4)Пишу конфиг для dnsmasq.conf: (root)
vim /etc/dnsmasq.conf
bind-interfaces
interface=wlp3s0
dhcp-range=192.168.1.2,192.168.1.3,192.168.1.4,192.168.1.5
5)Пишу конфиг для hostapd.conf: (root)
vim /etc/hostapd.conf (раскомментирую строки и добавляю нужное)
interface=wlp3s0
driver=nl80211
ssid=ubuntu-ap
hw_mode=g
channel=6
wpa=2
wpa_passphrase=1234567890
6) Создаю скрипт ap-start.sh (задаю атрибуты на исполнение)
#!/bin/bash
sudo ifconfig wlp3s0 192.168.1.1
sudo service dnsmasq restart
sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o enp0s20u1 -j MASQUERADE
sudo hostapd /etc/hostapd.conf
sudo iptables -D POSTROUTING -t nat -o enp0s20u1 -j MASQUERADE
sudo sysctl net.ipv4.ip_forward=0
sudo service dnsmasq stop
sudo service hostapd stop
Дальше непосредственно запуск:
./ap-start.sh выдает следующее:
net.ipv4.ip_forward = 1
Configuration file: /etc/hostapd.conf
[color=red]Failed to update rate sets in kernel module[/color] - смущает вот эта строчка
Using interface wlp3s0 with hwaddr 6c:71:d9:b0:ff:c9 and ssid 'ubuntu-ap'
Здесь ждем подключения клиентов
с андроида пытаемся подключиться (точка доступа нашлась):
wlp3s0: STA a0:0b:ba:bb:7b:19 IEEE 802.11: authenticated
wlp3s0: STA a0:0b:ba:bb:7b:19 IEEE 802.11: associated (aid 1)
wlp3s0: AP-STA-CONNECTED a0:0b:ba:bb:7b:19
wlp3s0: STA a0:0b:ba:bb:7b:19 RADIUS: starting accounting session 57FFF20C-00000000
wlp3s0: STA a0:0b:ba:bb:7b:19 WPA: pairwise key handshake completed (RSN)
wlp3s0: AP-STA-DISCONNECTED a0:0b:ba:bb:7b:19
wlp3s0: STA a0:0b:ba:bb:7b:19 IEEE 802.11: disassociated
wlp3s0: STA a0:0b:ba:bb:7b:19 IEEE 802.11: deauthenticated due to inactivity
....
далее по кругу одно и тоже.
7) Смотрим в /var/log/syslog:
[b]wpa_supplicant[1125]: wlp3s0: CTRL-EVENT-SCAN-FAILED ret=-95
wpa_supplicant[1125]: wlp3s0: CTRL-EVENT-SCAN-FAILED ret=-95[/b] - пугают вот эти строки, что это за эрроры - я так и не понял
ДАЛЕЕ:
wlp3s0: STA a0:0b:ba:bb:7b:19 IEEE 802.11: authenticated - по все видимости аутентификация андроида
wlp3s0: STA a0:0b:ba:bb:7b:19 IEEE 802.11: associated (aid 1)
wlp3s0: STA a0:0b:ba:bb:7b:19 RADIUS: starting accounting session 57FFF20C-00000000 - начало сессии
wlp3s0: STA a0:0b:ba:bb:7b:19 WPA: pairwise key handshake completed (RSN) - обмен рукопожатиями - комплит
DHCPDISCOVER(wlp3s0) a0:0b:ba:bb:7b:19 - широковещательный запрос от клиента
DHCPOFFER(wlp3s0) 192.168.1.3 a0:0b:ba:bb:7b:19 - ответ сервера клиенту и выдача ему соответствующего айпи
DHCPREQUEST(wlp3s0) 192.168.1.3 a0:0b:ba:bb:7b:19 - какой-то широковещательный запрос (наверно что-то типа "смотрите все, я зарегался")
DHCPACK(wlp3s0) 192.168.1.3 a0:0b:ba:bb:7b:19 android-552825ca23d31368 - подтверждение со стороны сервера
далее почему-то соединение рвется:
wlp3s0: STA a0:0b:ba:bb:7b:19 IEEE 802.11: disassociated - насколько я понял, когда канал перегружен или клиент неактивен, то серв его выкидывает
wlp3s0: STA a0:0b:ba:bb:7b:19 IEEE 802.11: deauthenticated due to inactivity
wlp3s0: STA a0:0b:ba:bb:7b:19 IEEE 802.11: authenticated
wlp3s0: STA a0:0b:ba:bb:7b:19 IEEE 802.11: associated (aid 1)
Спасибо всем кто дочитал мой "труд" до конца. Мб у кого-нибудь есть идеи где я не прав?
P.S. я не объединял в мост ethernet интерфейс и wi-fi, мб поэтому не работает, т.е из-за простоя клиента - данных никаких не идет и его выкидывает (deauthenticated due to inactivity)?