Вопрос или проблема
Мой hostapd, после нескольких минут работы, делает следующее:
wlan1: INTERFACE-DISABLED
wlan1: INTERFACE-ENABLED
затем, подключенные клиенты теряют связь, и, если пытаюсь переподключиться, больше не подключается. Я также пробовал с WPA2, но при переподключении говорит, что пароль неправильный.
Мой hostapd.conf:
interface=wlan1
driver=nl80211
ssid=the-bash-guy
hw_mode=g
channel=6
macaddr_acl=0
ignore_broadcast_ssid=0
ieee80211n=1
wme_enabled=1
Мой dnsmasq.conf:
interface=wlan1
dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
server=8.8.4.4
log-queries
log-dhcp
listen-address=127.0.0.1
Перед запуском hostapd, я сделал следующую команду (.sh файл):
echo "BEFORE MONITOR MODE\n\n"
iwconfig wlan1
ifconfig wlan1 down
iwconfig wlan1 mode monitor
ifconfig wlan1 up
echo "AFTER MONITOR MODE\n\n"
iwconfig wlan1
echo "\n\nSTART HOSTAPD!\n\n"
ifconfig wlan1 192.168.1.1 netmask 255.255.255.0
hostapd ./hostapd.conf
затем:
iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan1 -j ACCEPT
dnsmasq -C dnsmasq.conf -d
(wlan0 это Intel Wi-Fi AX200)
(wlan1 это RTL8812BU с драйвером: https://github.com/morrownr/88x2bu-20210702)
ОС: 5.16.0-kali7-amd64
После нескольких часов я выяснил, что работает для меня.
Во-первых, я просто хочу WarDrive.
Обычно просто запускаешь свой Pi, и готово. Все хранится на USB-накопителе.
Но мне эта идея не нравится. Так что точка доступа без Интернета была бы неплоха.
Но с использованием встроенного Wi-Fi чипа !!!(WLAN0)!!!
Здесь я использую RPI4 2GB
И да…
Каждые 5 минут происходит DISABLED/ENABLED
>┌──(kali㉿kali-raspberry-pi)-[~/start]
└─$ date
Sat Jan 28 10:37:17 AM GMT 2023
>
>┌──(kali㉿kali-raspberry-pi)-[~/start]
└─$ sudo hostapd /etc/hostapd/hostapd.conf
>
>wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
wlan0: interface state COUNTRY_UPDATE->ENABLED
wlan0: AP-ENABLED
wlan0: INTERFACE-DISABLED
wlan0: INTERFACE-ENABLED
wlan0: INTERFACE-DISABLED
wlan0: INTERFACE-ENABLED
wlan0: interface state ENABLED->DISABLED
wlan0: AP-DISABLED
wlan0: CTRL-EVENT-TERMINATING
>
>┌──(kali㉿kali-raspberry-pi)-[~/start]
└─$ date
Sat Jan 28 10:51:50 AM GMT 2023
Это ужасно…
Я искал Timeout/Release в каждом конфиге.
Изменил много чего, но ничего не помогает…
Даже sudo hostapd -dd /etc/hostapd/hostapd.conf
не дает полезной информации.
Или лог-файла…
Так что я установил чистый Kali.
Я использую релиз: 2022.4
После установки я использовал:
sudo apt update && sudo apt upgrade -y && reboot now
Я также установил
sudo apt install dnsmasq
sudo apt install hostapd
Мой dnsmasq.conf
(/etc/dnsmasq.conf
) выглядит так:
>interface=wlan0
dhcp-range=192.168.100.2,192.168.100.10,24h
dhcp-option=option:dns-server,192.168.100.1
Мой hostapd.conf
(/etc/hostapd/hostapd.conf
) выглядит так:
>interface=wlan0
#driver=nl80211
country_code=AT
ssid=WarDrive
hw_mode=g
ieee80211n=1
channel=13
macaddr_acl=0
auth_algs=1
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
Поскольку на Raspberry Pi нет Интернета, мне не нужна пересылка через таблицу IP.
dnsmasq получает автозапуск с помощью:
sudo systemctl enable dnsmasq
Мне нужно вручную установить диапазон IP для моего WLAN0
:
sudo ifconfig wlan0 up 192.168.100.1 netmask 255.255.255.0
Мой iwconfig
>┌──(kali㉿kali-raspberry-pi)-[~/start]
>└─$ iwconfig
>lo no wireless extensions.
>
>eth0 no wireless extensions.
>
>wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
wlan0
находится в управляемом режиме. И точка доступа не ассоциирована.
Теперь мы можем запустить hostapd
, но в этом состоянии он сам себя отключает/включает.
Поэтому я решил остановиться на этом и не использовать RPI как точку доступа…
Если вы хотите его использовать в качестве WarDrive, вы можете использовать airmon
.
Чтобы начать airmon
, вам нужно проверить процессы, которые могут вызвать проблемы.
>┌──(kali㉿kali-raspberry-pi)-[~/start]
>└─$ sudo airmon-ng check
>
>Найдено 3 процесса, которые могут вызвать проблемы.
>Убейте их с помощью 'airmon-ng check kill' перед переводом
>карты в режим монитора, они будут вмешиваться, меняя каналы
>и иногда возвращая интерфейс в управляемый режим
>
> PID Имя
> 306 dhclient
> 459 NetworkManager
> 494 wpa_supplicant
>
Чтобы продолжить, используем команду sudo airmon-ng check kill
.
Это убивает dhclient
и wpa_supplicant
.
NetworkManager
все еще работает.
И вот и все!
Я случайно запустил hostapd
. И он остается включенным ^.-
(sudo hostapd /etc/hostapd/hostapd.conf
)
Я перезагрузился и снова запустил hostapd
. И он снова начал отключаться/включаться
Я снова использовал sudo airmon-ng check kill
и запустил hostapd
.
И он остался ВКЛЮЧЕН ….
>┌──(kali㉿kali-raspberry-pi)-[~/start]
>└─$ date
>Sat Jan 28 11:58:15 AM GMT 2023
>
>┌──(kali㉿kali-raspberry-pi)-[~/start]
>└─$ sudo hostapd /etc/hostapd/hostapd.conf
>wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
>wlan0: interface state COUNTRY_UPDATE->ENABLED
>wlan0: AP-ENABLED
>wlan0: STA de:26:19:22:36:93 IEEE 802.11: associated
>wlan0: AP-STA-CONNECTED de:26:19:22:36:93
>wlan0: STA de:26:19:22:36:93 RADIUS: starting accounting session 9B9C755AB07529A0
>wlan0: STA de:26:19:22:36:93 WPA: pairwise key handshake completed (RSN)
>wlan0: EAPOL-4WAY-HS-COMPLETED de:26:19:22:36:93
>wlan0: STA de:26:19:22:36:93 IEEE 802.11: disassociated
>wlan0: AP-STA-DISCONNECTED de:26:19:22:36:93
>wlan0: STA de:26:19:22:36:93 IEEE 802.11: associated
>wlan0: AP-STA-CONNECTED de:26:19:22:36:93
>wlan0: STA de:26:19:22:36:93 RADIUS: starting accounting session 71C186FC5DB118F4
wlan0: STA de:26:19:22:36:93 WPA: pairwise key handshake completed (RSN)
wlan0: EAPOL-4WAY-HS-COMPLETED de:26:19:22:36:93
wlan0: interface state ENABLED->DISABLED
wlan0: AP-STA-DISCONNECTED de:26:19:22:36:93
wlan0: AP-DISABLED
wlan0: CTRL-EVENT-TERMINATING
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
>
>┌──(kali㉿kali-raspberry-pi)-[~/start]
>└─$ date
>Sun Jan 29 01:36:20 PM GMT 2023
Здесь вы можете увидеть 2 подключения
Одно вчера и одно сегодня для тестирования, продолжает ли оно работать.
Точка доступа на этом RPI работает отлично, даже с vncserver :1
Ответ или решение
Конечно, давайте разберемся с проблемой, связанной с работой hostapd, который периодически отключает и повторно включает интерфейс. Исходя из предоставленного контекста, можно сделать вывод о некоторых возможных причинах и предложить пути решения.
Анализ проблемы hostapd
Проблемы с конфигурацией
1. Конфликтирующие процессы:
Проблема может быть связана с процессами, которые могут мешать работе hostapd. В вашем случае, такие процессы были обнаружены с помощью airmon-ng check
. Это процессы dhclient
, NetworkManager
и wpa_supplicant
. Убедитесь, что эти не относящиеся к делу процессы отключены, так как они могут изменить режим работы интерфейса обратно на Managed, что конфликтует с работой точки доступа.
2. Режимы работы интерфейса:
Ваша конфигурация включает этап перевода интерфейса в режим мониторинга через iwconfig
, что может вызвать неожиданные отключения. Рекомендуется использовать режим Managed и довериться hostapd для задания всех необходимых параметров интерфейса, без предварительного перевода его в монитор.
Рекомендации по конфигурации
Изменение настроек hostapd.conf и dnsmasq.conf:
hostapd.conf
- Убедитесь, что используете правильный драйвер для вашего устройства. Если используете адаптер на базе RTL8812BU, проверьте совместимость драйвера с hostapd.
- Добавьте строку
country_code=US
или любой другой ваш код страны, чтобы избежать проблем с частотами и излучением. - Проверьте настройки безопасности, например, добавление WPA2 и корректной фраза-пароля:
auth_algs=1 wpa=2 wpa_passphrase=ваш_пароль wpa_key_mgmt=WPA-PSK
dnsmasq.conf
- Убедитесь, что инспекторы DHCP-анонсов не конфликтуют с
dnsmasq
, и указаны только необходимые IP-адреса:dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
Диагностика и логирование
- Убедитесь, что вы используете актуальную версию hostapd. Возможно, проблема уже была решена в более новых выпусках.
- Используйте команду
hostapd -dd /etc/hostapd/hostapd.conf
для более детализированного логирования и поиска потенциальных источников проблем. - Проверьте журнал системных событий (
dmesg
или/var/log/syslog
) для выявления системных ошибок, которые могут негативно влиять на работу hostapd.
Аутентификация и авторизация
- Проверьте на корректность настройки параметров безопасности, таких как маска сети и параметры шифрования, чтобы избежать проблем при повторных попытках подключения клиентов.
Следуя вышеуказанным рекомендациям, вы сможете устранить проблему с повторяющимся отключением и включением интерфейса вашего hostapd. Рекомендуется также мониторинг сети после изменений, чтобы вовремя отбавливать аномалии или ошибки в работе.