Вопрос или проблема
Согласно документации hostapd, когда вы используете WPA3, точка доступа hostapd может связываться с интерфейсом VLAN на основе полученной фразы-пароля.
можно использовать необязательное указание VLAN ID для связывания станции с указанной VLAN, когда используется конкретная запись пароля SAE.
#sae_password=пример секрет|vlanid=3|id=идентификатор пароля
У меня есть минимальная рабочая конфигурация hostapd для WPA3, но она не работает, если я пытаюсь связаться с VLAN:
interface=wlan0
ssid2="Test-44"
country_code=<REDACTED>
# Реклама country_code и набора разрешенных
# каналов и уровней мощности передачи на основе регуляторных ограничений.
ieee80211d=1
logger_syslog=-1
logger_syslog_level=0
logger_stdout=-1
logger_stdout_level=1
driver=nl80211
ieee80211n=1
ieee80211ac=1
# Поддержка 802.11a(c|x)
hw_mode=g
# Требуется для 802.11n/802.11ac/802.11ax
# https://www.wi-fi.org/discover-wi-fi/wi-fi-certified-wmm-programs
wmm_enabled=1
# Включить WPA. Необходимо для WPA3
wpa=2
# Набор принятых алгоритмов управления ключами (SAE = WPA3 / WPA-PSK = WPA2)
wpa_key_mgmt=SAE
rsn_pairwise=CCMP
# ieee80211w: Включить защиту управляющих кадров (MFP)
ieee80211w=2
sae_password=password|vlanid=100
root@router ~# ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: lan: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
9: vlan100@wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
Hostapd, похоже, правильно видит интерфейс VLAN:
RTM_NEWLINK: ifi_index=4 ifname=wlan0 operstate=2 linkmode=0 ifi_family=0 ifi_flags=0x1002 ()
nl80211: Игнорировать событие отключения интерфейса, так как интерфейс wlan0 включен
RTM_NEWLINK: ifi_index=9 ifname=vlan100 operstate=2 linkmode=0 ifi_family=0 ifi_flags=0x1002 ()
RTM_NEWLINK: ifi_index=4 ifname=wlan0 operstate=2 linkmode=0 ifi_family=0 ifi_flags=0x1003 ([UP])
RTM_NEWLINK: ifi_index=9 ifname=vlan100 operstate=3 linkmode=0 ifi_family=0 ifi_flags=0x1003 ([UP])
Но когда я пытаюсь подключиться к хотспоту с помощью устройства, hostapd отказывается с этим журналом отладки:
SAE: Назначить STA xx:xx:xx:xx:xx:xx на VLAN ID 100
Недействительный VLAN ID 100 в sae_password
Есть идеи?
Ответ или решение
Чтобы корректно настроить hostapd
с использованием sae_password
и vlanid
, потребуется ознакомиться с некоторыми нюансами конфигурации. Ваша текущая конфигурация имеет почти все необходимые элементы, но ошибка «Invalid VLAN ID 100 in sae_password», указывает на то, что проблема может быть связана с форматом sae_password
или самими параметрами VLAN.
Давайте подробней рассмотрим, как правильно настроить hostapd
для работы с VLAN и SAE.
Шаг 1: Основные параметры конфигурации
Убедитесь, что у вас установлены все необходимые параметры. Ваша минимальная конфигурация выглядит почти правильно, но есть несколько моментов, на которые стоит обратить внимание:
-
Правильный синтаксис
sae_password
:
В вашем примере строка указана как:sae_password=password|vlanid=100
Убедитесь, что формат строки точно соответствует ожиданиям
hostapd
. Попробуйте использовать:sae_password=password|vlanid=100|id=example_id
-
Проверка интерфейсов:
Убедитесь, что интерфейсы настроены правильно и находятся в активном состоянии. На выводе командыip l
видно, что интерфейсыwlan0
иvlan100
находятся в состоянии UP, что хорошо.
Шаг 2: Проверка VLAN
Для того чтобы убедиться, что VLAN работает правильно, выполните следующие действия:
- Убедитесь, что у вас установлен необходимый пакет для работы с VLAN, например,
vlan
. - Проверьте настройки VLAN с помощью команды:
ip -d link show vlan100
Это поможет увидеть детали конфигурации VLAN.
Шаг 3: Запуск hostapd
с отладкой
Запустите hostapd
с включённым режимом отладки, чтобы получить больше информации о возможных ошибках.
hostapd -dd /etc/hostapd/hostapd.conf
Эта команда выдаст более подробную информацию об ошибках, которые могут происходить во время процесса аутентификации.
Шаг 4: Альтернативные методы конфигурации
Если предыдущие шаги не помогли, попробуйте указать более простую конфигурацию. Оставьте только один параметр sae_password
, чтобы проверить, возникает ли ошибка:
sae_password=password
После этого добавьте поддержку VLAN, когда убедитесь, что с базовой аутентификацией всё в порядке.
Шаг 5: Обновление версии hostapd
Также стоит проверить, используете ли вы последнюю версию hostapd
, так как в более новых версиях могут быть исправлены ошибки, связанные с VLAN и SAE.
Заключение
С помощью этих шагов вы сможете правильно настроить hostapd
для работы с sae_password
и vlanid
. Убедитесь, что все параметры указаны корректно, и интерфейсы находятся в рабочем состоянии. Если ошибка продолжает появляться, проводите дальнейшую диагностику на предмет неправильной конфигурации сети или ошибок в логах.