Всем привет. Хочу поделиться вариантом реализации корпоративного wifi на нескольких SSID с разными политиками доступа для каждой беспроводной сети и доменной аутентификацией.
Схема тестового стенда выглядит так:


Подробности под катом.

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

  • vlan 10 — SSID PL_Public — сеть с доменной авторизацией для подключения персональных устройств сотрудников к Internet без доступа к корпоративным ресурсам
  • vlan 20 — SSID PL_Private — сеть с доменной авторизацией для сотрудников, находящихся в домене в группе WIFI_PL_Private c доступом к корпоративным ресурсам
  • vlan 30 — SSID PL_Guest — сеть с одноразовыми паролями со сроком действия 8 часов, вводимыми через веб-портал

Первая задача — создаем на контроллере нужные беспроводные сети. Контроллер позволяет разлить настройки на все точки в сети.

В Profiles добавляем наш Radius-сервер, указав общий Secret. Точка должна быть добавлена как Radius Client на сервере. Если точек много, можно настроить nat, чтобы все точки виделись на сервере с одним IP.



Добавляем нужные SSID на контроллере.




Особенность решения заключается в том, что Radius-сервер должен применять разные политики аутентификации для этих SSID. Разделение по политикам можно сделать на основании поля Called-Station-ID, который передается в запросе аутентификации и представляет собой MAC точки и SSID.



Для этого создаем политику для Private vlan, которая проверяет, является ли пользователь членом доменной группы WIFI_PL_Private.



В условиях указываем регулярное выражение для Caller Station ID, позволяющее проверять SSID со всех точек в сети .*:PL_Private, а также проверку членства в группе.



Вторая политика запрещает доступ для всех остальных пользователей домена к этой SSID. Это сделано потому, что если не будет явного Deny Access, следующая по списку политика аутентифицирует всех пользователей.

Третья политика разрешает доступ к сети PL_Public для всех пользователей домена.

Вторая задача — гостевой портал для одноразовых паролей. Эта задача решается средствами самого контроллера UniFi.

Для сети PL_Guest определяем, что она является открытой и гостевой.



Во вкладке Guest Portal включаем Hotspot-аутентификацию, при желании кастомизируем стартовую страницу портала.



В настройках Hotspot включаем аутентификацию по ваучерам.



Нажав на ссылку Go to hotspot manager, генерируем ваучеры.



При попытке подключения к гостевой сети с телефона, видим приглашение ввести код ваучера:


После подключения видим в менеджере хотспота статистику.



Из VLAN, в котором находится гостевая сеть, должен быть доступ к UniFi контроллеру, так как портал крутится на нем.

Благодарю за внимание :)
Поделиться с друзьями
-->

Комментарии (21)


  1. dimarikpro
    13.02.2017 21:02

    Какое оборудование и сколько для этого пользовали? Тачсвич Про??? Сколько сотрудников потянет?


  1. Dr_Wut
    13.02.2017 22:23

    Ну… На 5-7 человек может и пойдет. Вопросы:
    1. Как авторизуются компьютеры до авторизации пользователя? Что там с доменными политиками для компьютера? Что будет делать человек если у него протух локальный кеш керберос-тикетов?
    2. Как авторизуются пользователи?
    3. Зачем на радиус прописывать каждую точку? Кто занимается авторизацией?
    4. Решение с nat-ом вообще адски странное.


    1. sisaenkov
      14.02.2017 08:01

      Какие алгоритмы, на Ваш взгляд, были бы оптимальными для решения своих же вопросов?


    1. alk0v
      14.02.2017 09:56

      Доменные компьютеры отлично работают по кабелю. 802.1х и аутентификация по сертификату компьютера на свичах, wifi в первую очередь для телефонов и планшетов. В чем проблема с кэш-ем тикетов? И при чем здесь вообще авторизация пользователей?
      «Зачем на радиус прописывать каждую точку? Кто занимается авторизацией?» потому что запросы аутентификации идут от точки, а не от UniFi контроллера, поэтому каждая точка должна быть прописана на Radius-сервере как клиент, или есть альтернативы? Для этого и нат, все точки в своем влане, на Радиусе добавлен только один клиент с адресом nat-сервера. Если этому есть разумная альтернатива, готов выслушать предложения.


      1. kvant21
        14.02.2017 11:14
        +1

        При добавлении RADIUS клиента в NPS поддерживается CIDR-синтаксис в поле «адрес». Можно сразу всю подсеть с точками добавить как одного клиента.
        NAT, конечно, оригинально, но…


        1. alk0v
          14.02.2017 23:12

          Благодарю, попробую задать подсеть.


      1. Dr_Wut
        14.02.2017 17:43

        Есть доменные ноутбуки. А есть ноуты, у которых вообще нет разъема под сеть.

        Проблема с кэшем что человек в принципе не сможет залогинится если у него нет локального пользователя.

        У всех нормальных продакшен-решений aaa происходит именно на контроллере. Он в принципе то для этого и нужен в том числе.

        Ну а решение с натом — это костыль из-за странного поведения контроллера.

        Ну а разумная альтернатива — нормальное решение для корпоративного вифи — Aruba, cisco, Zyxel, Motorola, Juniper, HP


  1. alk0v
    14.02.2017 10:02

    Прошу простить автора
    plotnikovasiliy комментария об использовании NAS-id, случайно нажал «отклонить» вместо «ответить». Я не уверен, что на UBNT можно указать NAS-id для SSID, сейчас там передается MAC-адрес точки и это поле не изменяется.


  1. Shaz
    14.02.2017 11:18

    Нубский вопрос — а как клиент узнает свой код ваучера?


    1. DaemonGloom
      14.02.2017 12:52
      +2

      Получит на бумажке от секретаря, например.


    1. alk0v
      14.02.2017 23:13

      именно так, на ресепшене


  1. varnav
    14.02.2017 17:40

    Нет никаких подробностей о настройке RADIUS в Windows.


  1. Reflector_U
    14.02.2017 23:14

    У нас такая архитектура прекрасно себя зарекомендовала и работает уже несколько лет. Отличная управляемость, масштабируемость. Доменные пользователи на ноутбуках никак не ущемлены, входят по сертификату, авторизация для них прозрачна.


  1. alk0v
    14.02.2017 23:18

    Блин, как заапрувить отклоненный комментарий? Второй раз на те же грабли (((
    Vit_habr, сорри
    «Автор, а можно поподробнее по настройке каналов между этим всем? На точку отдаётся trunk? 5 vlan native у вас?»
    Да, к точке идет транк с 5-м native vlan.


  1. md_axel
    15.02.2017 09:09

    А почему не используете вкладку Hotspot 2.0?
    И, да, можно подробно про настройку VLANов на коммутаторах UniFi (как- то у них это реализовано, не как общепринято)?


    1. alk0v
      15.02.2017 09:11

      Коммутаторы у нас Juniper, там все стандартно. Hotspot 2.0 еще вроде как бета, не разбирался с ней, попробую и ее тоже.


      1. md_axel
        15.02.2017 09:19

        Поделитесь пожалуйста, как попробуете.


  1. Pave1
    15.02.2017 17:57

    Интересно, не научились ли данные поделки понимать Radius VLAN assigment?
    Что позволяют взрослые вендоры.


    1. alk0v
      15.02.2017 22:29

      Не думаю, что это очень актуально для беспроводных девайсов, влан привязан к ssid, в отдельных ssid вообще без radius аутентификация. Для проводных — да, удобно. Но из личного опыта, были проблемы с dhcp, когда адрес выдавался до переключения в нужный влан и потом приходилось руками делать renew. Уже не помню как именно решал эту проблему.


  1. dollarstar
    15.02.2017 22:29

    SWITCH какой используете?


    1. alk0v
      15.02.2017 22:30

      Juniper EX2200