OpenWRT Dynamic VLAN

Я настраиваю беспроводную точку доступа с OpenWRT для поддержки динамического vlan, предоставляемого сервером RADIUS.

Я нашел руководство на OpenWRT.org, которым я следовал, и с некоторыми дополнительными исследованиями я почти там. Единственное, что не работает - это динамическое назначение vlan. И я не могу понять, почему.

Я использую 15.05 Chaos Calmer на TP-link Archer C7 в режиме 'ap'. Брандмауэр и DHCP отключены, так как они предоставляются сетью.

Я могу аутентифицироваться на сервере RADIUS и войти в систему как во внутренней, так и в гостевой сети, если я вручную соединю SSID с нужной VLAN. Динамические VLAN не работают, хотя. FreeRadius правильно передает Tunnel-Type, Tunnel-Medium-Type и Tunnel-Private-Group-ID; как проверено с wireshark. Я не уверен, но я думаю, что это может иметь какое-то отношение к hostapd, не получающему правильные настройки.

Любая помощь будет принята с благодарностью

Мой /etc/config/wireless выглядит следующим образом:

config wifi-iface
    option device   'radio1'
    option mode     'ap'
    option ssid     'WTD_Test_Rad'
    option encryption 'wpa2'
    option server   '172.16.20.105'
    option key      'RadiusSecret'
    option dynamic_vlan '2'
    option vlan_tagged_interface 'eth1'
    option vlan_naming 0
    option vlan_bridge 'br-vlan'

но я не могу найти эти настройки vlan в конфигурационном файле hostapd: /var/run/hostapd-phy1.conf

interface=wlan1
ctrl_interface=/var/run/hostapd
disassoc_low_ack=1
preamble=1
wmm_enabled=1
ignore_broadcast_ssid=0
uapsd_advertisement_enabled=1
auth_server_addr=172.16.20.105
auth_server_port=1812
auth_server_shared_secret=RadiusSecret@WalkingTheDog
eapol_key_index_workaround=1
ieee8021x=1
auth_algs=1
wpa=2
wpa_pairwise=CCMP
ssid=WTD_Test_Rad
wpa_key_mgmt=WPA-EAP
okc=0
disable_pmksa_caching=1
bssid=60:e3:27:58:3a:8d

Hostapd -dd показывает получение правильных AVP, но, похоже, не заботится ни о чем из этого.

wlan1: RADIUS Received 195 bytes from RADIUS server
wlan1: RADIUS Received RADIUS message
RADIUS message: code=2 (Access-Accept) identifier=79 length=195
   Attribute 79 (EAP-Message) length=6
      Value: 03f50004
   Attribute 80 (Message-Authenticator) length=18
      Value: d544a5f47ae84b9716fd76fb447a54e7
   Attribute 1 (User-Name) length=10
      Value: 'Mdirickx'
   Attribute 64 (Tunnel-Type) length=6
      Value: 0000000d
   Attribute 65 (Tunnel-Medium-Type) length=6
      Value: 00000006
   Attribute 81 (Tunnel-Private-Group-Id) length=3
      Value: 32
   Attribute 1 (User-Name) length=10
      Value: 'Mdirickx'
wlan1: STA 40:78:6a:53:eb:fb RADIUS: Received RADIUS packet matched with a pending request, round trip time 0.00 sec
wlan1: STA 40:78:6a:53:eb:fb IEEE 802.1X: old identity 'Mdirickx' updated with User-Name from Access-Accept 'Mdirickx'
wlan1: STA 40:78:6a:53:eb:fb IEEE 802.1X: decapsulated EAP packet (code=3 id=245 len=4) from RADIUS server: EAP Success
wlan1: STA 40:78:6a:53:eb:fb IEEE 802.1X: Sending EAP Packet (identifier 245)
wlan1: STA 40:78:6a:53:eb:fb WPA: sending 1/4 msg of 4-Way Handshake
wlan1: STA 40:78:6a:53:eb:fb WPA: received EAPOL-Key frame (2/4 Pairwise)
wlan1: STA 40:78:6a:53:eb:fb WPA: sending 3/4 msg of 4-Way Handshake
wlan1: STA 40:78:6a:53:eb:fb WPA: received EAPOL-Key frame (4/4 Pairwise)
wlan1: STA 40:78:6a:53:eb:fb WPA: pairwise key handshake completed (RSN)
wlan1: AP-STA-CONNECTED 40:78:6a:53:eb:fb
wlan1: STA 40:78:6a:53:eb:fb IEEE 802.1X: authorizing port
wlan1: STA 40:78:6a:53:eb:fb RADIUS: starting accounting session 56EC0FBB-00000004
wlan1: STA 40:78:6a:53:eb:fb IEEE 802.1X: authenticated - EAP type: 25 (PEAP)

4 ответа

Я бы сделал комментарий вместо ответа, но мне здесь не хватает репутации. Я буквально написал HOWTO, с которым вы связались в своем OP по использованию динамических VLAN 802.1x в OpenWRT, а также разобрался и представил патчи, чтобы заставить их работать.

Кажется, что-то из того, что ты говоришь, не имеет смысла. В частности, что option dynamic_vlan '1' работает но option dynamic_vlan '2' даже не отображается в файле конфигурации hostapd, не должно быть так. Сценарий OpenWRT, который читает ваш файл /etc/config/wireless и переводит его в файл конфигурации hostapd, просто ищет параметр dynamic_vlan, и, если он есть и имеет целочисленное значение, помещает его в файл hostapd, поэтому, если 1 появляется в hostapd файл, 2 должен также. Пожалуйста, проверьте, отображается ли он в вашем конфигурационном файле hostapd, когда вы установите dynamic_vlan в 1. Это даст вам больше информации для работы.

Тихий старый вопрос, но ответить на него с помощью поиска в Интернете пока непросто. Практическое руководство помогло мне сузить концепцию работы. Вот последняя конфигурация, которая у меня сработала..

Прежде всего, я использую версию OpenWRT 21.02.1 на устройстве EAP225v3.

  1. Удалите пакет wpad-basic* и установите wpad.
  2. У хоста по умолчанию есть проблема «Неверный пакет Radius» для работы с настройкой WPA-EAP. Исправьте файл /lib/netifd/hostapd.sh с помощью GitCommit . И перезапустите хостапд или перезагрузите устройство.
  3. Это образец для каждой VLAN в файле /etc/config/network.
      config device
        option type '8021q'
        option ifname 'br-lan'
        option vid '172'
        option name 'br-lan.172'

config device
        option type 'bridge'
        option name 'br-vlan172'
        list ports 'br-lan.172'
        list ports 'eth0'

config interface 'Guests'
        option proto 'none'
        option device 'br-vlan172'
  1. И наконец, создайте Wireless iface, например:
      config wifi-iface 'default_radio1'
        option device 'radio1'
        option mode 'ap'
        option ssid 'test-ssid'
        option encryption 'wpa2'
        option auth_server '192.168.2.5'
        option auth_port '1812'
        option auth_secret '123456'
        option acct_server '192.168.2.5'
        option acct_port '1813'
        option acct_secret '123456'
        option dynamic_vlan '2'
        option vlan_tagged_interface 'br-lan'
        option vlan_bridge 'br-vlan'
        option vlan_naming '0'
config wifi-iface
    option dynamic_vlan '2'

не похоже на работу, когда-то изменил

config wifi-iface
    option dynamic_vlan '1'

все работало как надо.

Это создает угрозу безопасности.

Я думаю, что не все работало так, как должно. Вы просто автоматически отказываетесь от НЕТ динамического VLAN (или вариант dynamic_vlan '0'). Возможно, ваш hostapd не поддерживает динамические vlans (например, если вы используете hostapd-mini или же hostapd-common). Вы должны установить полную версию

opkg install hostapd

Подробнее смотрите здесь:

hostapd.sh

Другие вопросы по тегам