Я столкнулся с ситуацией, когда политики для гостей не применялись так, как ожидалось, и изначально сообщил об этом в теме прошивки 5.43.43, вот здесь: . Не буду всё повторять здесь, потому что, как мне кажется, я достаточно точно выяснил, что происходит и почему считаю, что это баг прошивки 5.x. Вот что я обнаружил кратко: при прошивках 5.x (тестировал 5.43.43 GA, 5.43.44 EA, 5.60.9 GA и 5.71.1 EA, старые не тестировал, чтобы определить, с какого именно релиза 5.x началась проблема) и в следующем сценарии: SSID настроены с Classic Interface (некоторые настройки пока недоступны в New Interface на 6.2.26, но на классическом интерфейсе всё работает нормально), SSID с отмеченной опцией «Apply Guest Policies», SSID с VLAN тегированием, Гостевой портал (в Guest Access) отключён, IP и сети настроены для pre-auth и post-auth, политики для гостей на этом SSID не применяются. На самом деле, никаких ограничений со стороны AP в этой ситуации нет, несмотря на их настройку, и весь трафик, который должен был блокироваться на уровне AP — свободно проходит дальше.
Подробный сценарий:
1) Есть два AP (Gen2 AC-Lite, подключены к одному сайту, настройки у них полностью одинаковые, один работает на 5.43.43, другой — на 4.3.20).
2) На устройстве с 4.3.20, глядя на вывод «ebtables -t nat -L PREROUTING», чётко видно, что трафик с интерфейсов athN.VLANID перенаправляется на GUESTIN. На 5.43.43 такого не наблюдается. (удалю все строки с «--mark-target CONTINUE», чтобы сократить данные, они для сути не влияют).
Пример вывода на 4.3.20:
floresta-flats-apt02-BZ.4.3.20# ebtables -t nat -L PREROUTING
Bridge table: nat
Bridge chain: PREROUTING, entries: 16, policy: ACCEPT
[ .... ]
-i ath0 -j GUESTIN
-i ath1 -j GUESTIN
-i ath2 -j GUESTIN
-i ath3 -j GUESTIN
-i ath2.10 -j GUESTIN
-i ath0.10 -j GUESTIN
-i ath1.10 -j GUESTIN
-i ath3.10 -j GUESTIN
floresta-flats-apt02-BZ.v4.3.20#
Пример вывода на 5.43.43:
floresta-flats-apt01-BZ.5.43.43# ebtables -t nat -L PREROUTING
Bridge table: nat
Bridge chain: PREROUTING, entries: 12, policy: ACCEPT
[ ... ]
-i ath0 -j GUESTIN
-i ath1 -j GUESTIN
-i ath2 -j GUESTIN
-i ath3 -j GUESTIN
[ .... ]
floresta-flats-apt01-BZ.5.43.43#
3) Итак, хотя сами правила GUESTIN есть, кажется, что прошивка 5.43.43 просто *НЕ* перенаправляет трафик через правила GUESTIN для VLAN-интерфейсов (при отключённом Гостевом портале). Для «основных» интерфейсов перенаправление работает, а для VLAN (ath0.10, ath1.10, ath2.10, ath3.10 на этом AP) — нет. А так как трафик на «основных» интерфейсах (ath0, ath1 и т.п.) тоже VLAN-тегирован, то, судя по всему, правила GUESTIN ещё не могут корректно их обрабатывать.
4) Первоначально я думал, что дело в контроллере, так как сайт, где впервые обнаружил проблему, работает на 5.14.23. Но поищу на других сайтах с похожими настройками, но уже на контроллере 6.2.26, и там та же проблема: трафик интерфейсов athN.VLANID не перенаправляется на GUESTIN. Значит, вряд ли это связано с контроллером.
5) Это происходит *ТОЛЬКО* при включённых Guest Policies и отключённом Guest Portal. Хотя на новых настройках это, возможно, некорректная конфигурация, на Classic Interface она вполне валидна, и я ожидал, что всё будет работать. Даже если VLAN-тегирование для «горячей точки» в New Interface пока невозможно, на Classic сделать это легко. Если бы SSID не были VLAN-тегированы (а такое возможно только на Classic Interface), то перенаправление основного трафика интерфейсов, скорее всего, было бы достаточно для фильтрации всего трафика правилами GUESTIN.
6) Подтверждаю, что на контроллерах версий 5.14.23 и 6.2.26 с гостевым порталом, включённым, прошивках 5.43.43 GA, 5.43.44 EA, 5.60.9 GA и 5.71.1 EA правила ebtables -t nat PREROUTING строятся корректно, и там отображаются все интерфейсы athN.VLANID. Пример (контроллер 6.2.26 и прошивка 5.43.43):
39-P2-alimentacao-p05-2006-BZ.5.43.43# ebtables -t nat -L PREROUTING
Bridge table: nat
Bridge chain: PREROUTING, entries: 16, policy: ACCEPT
[ ... ]
-i ath0 -j GUESTIN
-i ath1 -j GUESTIN
-i ath2 -j GUESTIN
-i ath3 -j GUESTIN
[ ... ]
-i ath2.151 -j GUESTIN
-i ath0.151 -j GUESTIN
[ ... ]
-i ath3.150 -j GUESTIN
-i ath1.150 -j GUESTIN
39-P2-alimentacao-p05-2006-BZ.5.43.43#
7) Проверял поведение на устройствах Gen3 (NanoHD) с прошивкой 5.60.9 — та же самая проблема.
В общем, я уверен, что это баг прошивок 5.x. При включённых Guest Policies трафик интерфейсов athN.VLANID *всегда* должен перенаправляться на GUESTIN, а не только при включённом Guest Portal. Раньше на 4.3.20 это работало отлично, а в 5.x — перестало. Точно не знаю, с какого релиза 5.x это началось.
Подробный сценарий:
1) Есть два AP (Gen2 AC-Lite, подключены к одному сайту, настройки у них полностью одинаковые, один работает на 5.43.43, другой — на 4.3.20).
2) На устройстве с 4.3.20, глядя на вывод «ebtables -t nat -L PREROUTING», чётко видно, что трафик с интерфейсов athN.VLANID перенаправляется на GUESTIN. На 5.43.43 такого не наблюдается. (удалю все строки с «--mark-target CONTINUE», чтобы сократить данные, они для сути не влияют).
Пример вывода на 4.3.20:
floresta-flats-apt02-BZ.4.3.20# ebtables -t nat -L PREROUTING
Bridge table: nat
Bridge chain: PREROUTING, entries: 16, policy: ACCEPT
[ .... ]
-i ath0 -j GUESTIN
-i ath1 -j GUESTIN
-i ath2 -j GUESTIN
-i ath3 -j GUESTIN
-i ath2.10 -j GUESTIN
-i ath0.10 -j GUESTIN
-i ath1.10 -j GUESTIN
-i ath3.10 -j GUESTIN
floresta-flats-apt02-BZ.v4.3.20#
Пример вывода на 5.43.43:
floresta-flats-apt01-BZ.5.43.43# ebtables -t nat -L PREROUTING
Bridge table: nat
Bridge chain: PREROUTING, entries: 12, policy: ACCEPT
[ ... ]
-i ath0 -j GUESTIN
-i ath1 -j GUESTIN
-i ath2 -j GUESTIN
-i ath3 -j GUESTIN
[ .... ]
floresta-flats-apt01-BZ.5.43.43#
3) Итак, хотя сами правила GUESTIN есть, кажется, что прошивка 5.43.43 просто *НЕ* перенаправляет трафик через правила GUESTIN для VLAN-интерфейсов (при отключённом Гостевом портале). Для «основных» интерфейсов перенаправление работает, а для VLAN (ath0.10, ath1.10, ath2.10, ath3.10 на этом AP) — нет. А так как трафик на «основных» интерфейсах (ath0, ath1 и т.п.) тоже VLAN-тегирован, то, судя по всему, правила GUESTIN ещё не могут корректно их обрабатывать.
4) Первоначально я думал, что дело в контроллере, так как сайт, где впервые обнаружил проблему, работает на 5.14.23. Но поищу на других сайтах с похожими настройками, но уже на контроллере 6.2.26, и там та же проблема: трафик интерфейсов athN.VLANID не перенаправляется на GUESTIN. Значит, вряд ли это связано с контроллером.
5) Это происходит *ТОЛЬКО* при включённых Guest Policies и отключённом Guest Portal. Хотя на новых настройках это, возможно, некорректная конфигурация, на Classic Interface она вполне валидна, и я ожидал, что всё будет работать. Даже если VLAN-тегирование для «горячей точки» в New Interface пока невозможно, на Classic сделать это легко. Если бы SSID не были VLAN-тегированы (а такое возможно только на Classic Interface), то перенаправление основного трафика интерфейсов, скорее всего, было бы достаточно для фильтрации всего трафика правилами GUESTIN.
6) Подтверждаю, что на контроллерах версий 5.14.23 и 6.2.26 с гостевым порталом, включённым, прошивках 5.43.43 GA, 5.43.44 EA, 5.60.9 GA и 5.71.1 EA правила ebtables -t nat PREROUTING строятся корректно, и там отображаются все интерфейсы athN.VLANID. Пример (контроллер 6.2.26 и прошивка 5.43.43):
39-P2-alimentacao-p05-2006-BZ.5.43.43# ebtables -t nat -L PREROUTING
Bridge table: nat
Bridge chain: PREROUTING, entries: 16, policy: ACCEPT
[ ... ]
-i ath0 -j GUESTIN
-i ath1 -j GUESTIN
-i ath2 -j GUESTIN
-i ath3 -j GUESTIN
[ ... ]
-i ath2.151 -j GUESTIN
-i ath0.151 -j GUESTIN
[ ... ]
-i ath3.150 -j GUESTIN
-i ath1.150 -j GUESTIN
39-P2-alimentacao-p05-2006-BZ.5.43.43#
7) Проверял поведение на устройствах Gen3 (NanoHD) с прошивкой 5.60.9 — та же самая проблема.
В общем, я уверен, что это баг прошивок 5.x. При включённых Guest Policies трафик интерфейсов athN.VLANID *всегда* должен перенаправляться на GUESTIN, а не только при включённом Guest Portal. Раньше на 4.3.20 это работало отлично, а в 5.x — перестало. Точно не знаю, с какого релиза 5.x это началось.
