Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 85 Следующий »

Описание

Система Netams WNAM будет рассмотрена для портальной авторизации пользователей Wi-Fi.

Взаимодействие системы авторизации Netams WNAM с контроллероми WLC/ESR доступна на:

WLC/ESR-15/30/3200, vWLC - начиная с версии WNAM 1.6.4010

В  данной статье будет рассмотрен пример настройки авторизации клиента через гостевой портал путем идентификации по коду ваучера. Другие способы гостевой авторизации выходят за рамки данной статьи, так как взаимодействие между системой WNAM и BRAS WLC не изменяется. 

Перед началом построения взаимодействия между Netams WNAM и WLC необходимо настроить и протестировать работу беспроводной сети и контроллера WLC без портальной авторизации и сетевого экрана. Если беспроводная сеть функционирует корректно, можно приступать к настройки портальной авторизации.

В данной статье используется подключение ТД к контроллеру WLC на основе сети L3 с построением Data SoftGRE туннеля. В статье настрoйка WLC детально описана настройка данной схемы подключения.
Рекомендуется ознакомиться с тонкостями настройки BRAS на ESR/WLC с портальной авторизацией на основе SoftWLC , в следующих статьях:

Задача

Настроить со стороны WLC перенаправление неавторизованных клиентов на сервер портальной авторизации WNAM. Со стороны WNAM создать площадку, правила авторизации и аутентификации, ваучеры для новых клиентов.

  • Контроллер WLC имеет адреса:
    • из сети WNAM: 100.110.0.246/23 (Vlan 2);
    • из сети управления ТД: 192.168.1.1/24 (Bridge 1, Vlan 1);
    • из сети клиентов ТД с портальной авторизацией: 192.168.3.1/24 (Bridge 3, Vlan 3).
  • Сервер авторизации WNAM имеет адрес: 100.110.1.44/23 (Vlan 2);
  • Точка доступа подключена к WLC. Получает адрес контроллера и терминации GRE туннеля в 43 опции из пула DHCP, настроенного на WLC из сети: 192.168.1.0/24 (Vlan 1);
  • Клиенты получают адреса из пула DHCP, настроенного на WLC из сети: 192.168.2.0/24 (Vlan 3).
  • Сервис для доступа в Интернет после авторизации на портале имеет имя: INTERNET.

Решение

Настройка будет выполнена на базе заводской конфигурации (Factory).

Шаги выполнения:

  1. Конфигурование WLC:
    1. Конфигурация Object-Group - группы адресов для NAT, неавторизованных пользователей, url-адрес для перенаправления авторизации, адрес WNAM сервера;
    2. Конфигурация Bridge - для сетевой связности;
    3. Конфигурация Vlan;
    4. Конфигурация ACL - для ограничения доступа к сети для неавторизованных клиентов, для авторизации, для получения полного доступа для авторизованных клиентов;
    5. Конфигурация RADIUS - для взаимодействия WLC и WNAM;
    6. Конфигурация NAT - для доступа в интернет Wi-Fi клиентам;
    7. Конфигурация Security Zone - для разрешения редиректа запросов неавторизованных клиентов на WNAM;
    8. Конфигурация SSID - для подключения клиентов;
    9. Конфигурация BRAS - для пересылки неавторизованных клиентов на WNAM.
  2. Конфигурирование WNAM:
    1. Создание сервера
    2. Создание площадки
    3. Создание группы ваучеров
    4. Конифгурирование прави аутентификации
    5. Конфигурирование правил авторизации

Лицензирование

Для конфигурации взаимодействия Netams WNAM и WLC, необходима лицензия BRAS для WLC.
Детально о том, как установить и применить лицензию описано в статье – Активация функционала по лицензии.
Проверить наличие лицензии можно с помощью команды show licence:

show licence
wlc# show licence
Feature                            Source     State         Value                              Valid from             Expiries               
--------------------------------   --------   -----------   --------------------------------   --------------------   --------------------   
BRAS                               File       Active        true                               --                     --                     
BRAS                               File       Candidate     true                               --                     --                     
WLC                                Boot       Active        true                               --                     --                     
WLC                                Boot       Candidate     true                               --                     --                            

Взаимодействие элементов системы


wlc# configure
wlc(config)#	


Конфигурование  WLC

  1. Конфигурация object-group:
    Перейти в конфигурационный режим:

    wlc# configure
    wlc(config)#

    Создать группу wnam_servers:

    wlc(config)# object-group network wnam_servers

    Добавить адрес WNAM сервера:

    wlc(config-object-group-network)#  ip address-range 100.110.1.44
    wlc(config-object-group-network)#  exit

    Создать группу bras_users:

    wlc(config)# object-group network bras_users

    Добавить пул адресов клиентов, которые будут попадать авторизоваться через портал (Bridge 1, Vlan 1):

    wlc(config-object-group-network)# ip address-range 192.168.2.2-192.168.2.254 
    wlc(config-object-group-network)# exit

    Создать группу local:

    wlc(config)# object-group network local

    Добавить пул адресов из сети клиентов, которые будут получать доступ в интернет через NAT:

    wlc(config-object-group-network)# ip address-range 192.168.2.1-192.168.2.254
    wlc(config-object-group-network)# exit

    Создать группу defaultService:

    wlc(config)# object-group url defaultService

    Добавить url с адресом WNAM сервера для работы правила фильтрации авторизации пользователей:

    wlc(config-object-group-url)# http://100.110.1.44
    wlc(config-object-group-url)# exit

    Создаем группу redirect:

    wlc(config)# object-group service redirect

    Добавляем пул портов для прослушивание http/https траффика:

    wlc(config-object-group-service)# port-range 3128-3135
    wlc(config-object-group-service)# exit

    Важно!

    Cлушающий порт прокси будет открыт для каждого ядра WLC/ESR. HTTP Начинается с порта 3128.
    У WLC-30 4 ядра, тогда указывается пул для HTTP 3128-3131, для HTTPS 3132-3135.


    Полная конфигурация object-group:

    object-group network wnam_servers
      ip address-range 100.110.1.44
    exit
    object-group network bras_users
      ip address-range 192.168.2.2-192.168.2.254
    exit
    object-group network local
      ip address-range 192.168.2.1-192.168.2.254
    exit
    object-group url defaultService
      url http://100.110.1.44
    exit
    object-group service redirect
      port-range 3128-3135
    exit
  2. Конфигурация Bridge:
    Конфигурация Bridge UPLINK:

    wlc(config)# bridge 2

    Прописать ip-адрес для связности с сервером WNAM:

    wlc(config-bridge)# ip address 100.110.0.246/23
    wlc(config-bridge)# exit

    Конфигурация Bridge users:

    wlc(config)# bridge 3

    Добавить location для определения сервером WNAM неавторизованных клиентов:

    wlc(config-bridge)# location data10
    wlc(config-bridge)# exit

    Полная конифгурация Bridge:

    bridge 1
      vlan 1
      description "MGMT-AP"
      security-zone trusted
      ip address 192.168.1.1/24
      no spanning-tree
      enable
    exit
    bridge 2
      vlan 2
      description "UPLINK"
      security-zone untrusted
      ip address 100.110.0.246/23
      no spanning-tree
      enable
    exit
    bridge 3
      description "BRAS-users"
      vlan 3
      mtu 1458
      history statistics
      security-zone users
      ip address 192.168.2.1/24
      no spanning-tree
      location data10
      enable
    exit
  3.  Конфигурация Vlan:
    Конфигурация клиентского Vlan 3 (Bridge 3):

    wlc(config)# vlan 3

    Добавить параметр force-up, который переводит Vlan в режим постоянного статуса UP:

    wlc(config-vlan)# force-up
    wlc(config-vlan)# exit

    Полная конфигурация Vlan:

    vlan 3
      force-up
    exit
    vlan 2
    exit
  4. Настройка списков контроля доступа:
    Создание списка контроля доступа для ограничения неавторизованных пользователей в сети, которым разрешено выполнять DNS-запросы, получать адрес по протоклу dhcp:

    wlc(config-acl)# ip access-list extended BYPASS
    

    Создание правила с номером 10, это правило отвечает за разрешение получение адреса по протоколу dhcp неавторизованным клиентам:

    wlc(config-acl)# rule 10

    Добавляем действие правила - разрешение:

    wlc(config-acl-rule)# action permit 

    Добавляем совпадение по протоколу udp:

    wlc(config-acl-rule)# match protocol udp

    Добавляем совпадение по порту источника:

    wlc(config-acl-rule)# match source-port 68

    Добавляем совпадение по порту назначения:

    wlc(config-acl-rule)# match destination-port 67

    Включаем правило:

    wlc(config-acl-rule)# enable
    wlc(config-acl-rule)# exit

    Создаем правило под номером 11, оно отвечает за разрешение DNS-запросов неавторизованных клиентов:

    wlc(config-acl)# rule 11

    Добавляем действие правило - разрешение:

    wlc(config-acl-rule)# action permit

    Добавляем совпадение по протоколу udp:

    wlc(config-acl-rule)# match protocol udp

    Добавляем совпадение по порту назначения 53:

    wlc(config-acl-rule)# match destionation-port 53

    Включаем правило:

    wlc(config-acl-rule)# enable
    wlc(config-acl-rule)# exit
    wlc(config-acl)# exit

    Создаем список контроля доступа для авторизации клиентов, в котором разрешены http/https-запросы:
    Создаем списка контроля доступа:

    wlc(config)# ip access-list extended WELCOME

    Создаем правило с номером 10, в котором разрешены https-запросы:

    wlc(config-acl)# rule 10

    Добавляем действие правила - разрешение:

    wlc(config-acl-rule)# action permit

    Добавляем совпадение по протоколу tcp:

    wlc(config-acl-rule)# match protocol tcp

    Добавляем совпадение по порту назначения:

    wlc(config-acl-rule)# match destination-port 443

    Включаем правило:

    wlc(config-acl-rule)# enable
    wlc(config-acl-rule)# exit

    Создаем правило с номером 30, в котором разрешены http-запросы:

    wlc(config-acl)# rule 30

    Добавляем действие правила - разрешение:

    wlc(config-acl-rule)# action permit

    Добавляем совпадние по протоколу udp:

    wlc(config-acl-rule)# match protocol udp

    Добавялем совпадение по порту назначения:

    wlc(config-acl-rule)# match destination-port 80

    Включаем правило:

    wlc(config-acl-rule)# enable
    wlc(config-acl-rule)# exit
    wlc(config-acl)# exit

    Создаем список контроля доступа, который будет применяться после авторизации клиента, он разрешает полный доступ:
    Создание списка:

    wlc(config)# ip access-list extended INTERNET

    Создаем правило с номером 10, которое разрешает все:

    wlc(config-acl)# rule 10

    Добавляем действие правила - разрешение:

    wlc(config-acl-rule)# action permit

    Включаем правило:

    wlc(config-acl-rule)# enable
    wlc(config-acl-rule)# exit
    wlc(config-acl)# exit

    Полная конфигурация списков контроля доступа:

    ip access-list extended BYPASS
      rule 10
        action permit
        match protocol udp
        match source-port 68
        match destination-port 67
        enable
      exit
      rule 11
        action permit
        match protocol udp
        match destination-port 53
        enable
      exit
    exit
    ip access-list extended WELCOME
      rule 10
        action permit
        match protocol tcp
        match destination-port 443
        enable
      exit
      rule 30
        action permit
        match protocol tcp
        match destination-port 80
        enable
      exit
    exit
    ip access-list extended INTERNET
      rule 10
        action permit
        enable
      exit
    exit
  5. Настройка RADIUS:
    Добавляем RADIUS-сервер с адресом WNAM:

    wlc(config)# radius-server host 100.110.1.44
    

    Указываем секретный ключ для взаимодействия:

    wlc(config-radius-server)# key ascii-text wnampass
    

    Указываем адрес источник (Bridge 2):

    wlc(config-radius-server)# source-address 100.110.0.246
    wlc(config-radius-server)# exit
    

    Создаем aaa профиль с адресом WNAM сервера:

    wlc(config)# aaa radius-profile bras_radius
    

    Указываем адрес WNAM сервера:

    wlc(config-aaa-radius-profile)# radius-server host 100.110.1.44
    wlc(config-aaa-radius-profile)# exit
    

    Создаем сервер DAS:

    wlc(config)# das-server das
    

    Указываем секретный ключ:

    wlc(config-das-server)# key ascii-text wnampass
    

    Указываем порт:

    wlc(config-das-server)# port 3799
    

    Добавляем object-group, в которой указан адрес сервера WNAM:

    wlc(config-das-server)# clients object-group wnam_servers
    wlc(config-das-server)# exit
    

    Создаем aaa профиль для DAS-сервера:

    wlc(config)# aaa das-profile bras_das
    

    Указываем имя DAS-сервера, которое создали ранее:

    wlc(config-aaa-das-server)# das-server das
    wlc(config-aaa-das-server)# exit 
    

    Полная конфигурация RADIUS:

    radius-server host 100.110.1.44
      key ascii-text wnampass
      source-address 100.110.0.246
    exit
    aaa radius-profile bras_radius
      radius-server host 100.110.1.44
    exit
    
    das-server das
      key ascii-text wnampass
      port 3799
      clients object-group wnam_servers
    exit
    aaa das-profile bras_das
      das-server das
    exit
  6. Настройка NAT:
    Переходим в блок конифгурации NAT:

    wlc(config)# nat source

    Создаем пул, в котором указывается адрес для подмены:

    wlc(config-snat)# pool translate

    Указываем адрес (Bridge 2):

    wlc(config-snat-pool)# ip address-range 100.110.0.246
    wlc(config-snat-pool)# exit

    Создаем список правил:

    wlc(config-snat)# ruleset SNAT

    Указываем внешний интерфейс, в который будет происходить трансляция адресов:

    wlc(config-snat-ruleset)# to interface gigabitethernet 1/0/1

    Создаем правило с номером 1:

    wlc(config-snat-ruleset)# rule 1

    Добавляем совпадение по адресу источника, в качестве которого выступает object-group с пулом адресов клиентов:

    wlc(config-snat-rule)# match source-address object-group local

    Указываем действие правила - преобразование адресов источника в адрес, указанный в пуле translate:

    wlc(config-snat-rule)# action source-nat pool translate

     Включаем правило:

    wlc(config-snat-rule)# enable
    wlc(config-snat-rule)# exit
    wlc(config-snat-ruleset)# exit
    wlc(config-snat)# exit

    Полная конфигурация NAT:

    nat source
      pool translate
        ip address-range 100.110.0.246
      exit
      ruleset SNAT
        to interface gigabitethernet 1/0/1
        rule 1
          match source-address object-group local
          action source-nat pool translate
          enable
        exit
      exit
    exit
  7. Конфигурация Конфигурация security zone-pair:
    Переходим в блок security zone-pair users self, чтобы открыть http/https порты в файрволле:

    wlc(config)# security zone-pair users self

    Добавляем правило с номером 50:

    wlc(config-security-zone-pair)# rule 50

     Указываем действие для правила - разрешение:

    wlc(config-security-zone-pair-rule)# action permit 

     Добавляем совпадение по протоколу tcp:

    wlc(config-security-zone-pair-rule)# match protocol tcp
    Добавляем совпадение по пулу портов в object-group:
    wlc(config-security-zone-pair-rule)# match destionation-port object-group redirect
    Включаем правило:
    wlc(config-security-zone-pair-rule)# enable
    wlc(config-security-zone-pair-rule)# exit
    wlc(config-security-zone)# exit
    Полная конфигурация Security zone-pair:
    security zone-pair trusted untrusted
      rule 1
        action permit
        enable
      exit
    exit
    security zone-pair trusted trusted
      rule 1
        action permit
        enable
      exit
    exit
    security zone-pair trusted self
      rule 10
        action permit
        match protocol tcp
        match destination-port object-group ssh
        enable
      exit
      rule 20
        action permit
        match protocol icmp
        enable
      exit
      rule 30
        action permit
        match protocol udp
        match source-port object-group dhcp_client
        match destination-port object-group dhcp_server
        enable
      exit
      rule 40
        action permit
        match protocol udp
        match destination-port object-group ntp
        enable
      exit
      rule 50
        action permit
        match protocol tcp
        match destination-port object-group dns
        enable
      exit
      rule 60
        action permit
        match protocol udp
        match destination-port object-group dns
        enable
      exit
      rule 70
        action permit
        match protocol tcp
        match destination-port object-group netconf
        enable
      exit
      rule 80
        action permit
        match protocol tcp
        match destination-port object-group sa
        enable
      exit
      rule 90
        action permit
        match protocol udp
        match destination-port object-group radius_auth
        enable
      exit
      rule 100
        action permit
        match protocol gre
        enable
      exit
      rule 110
        action permit
        match protocol tcp
        match destination-port object-group airtune
        enable
      exit
      rule 120
        action permit
        match protocol tcp
        match destination-port object-group web
        enable
      exit
    exit
    security zone-pair untrusted self
      rule 1
        action permit
        match protocol udp
        match source-port object-group dhcp_server
        match destination-port object-group dhcp_client
        enable
      exit
    exit
    security zone-pair users self
      rule 10
        action permit
        match protocol icmp
        enable
      exit
      rule 20
        action permit
        match protocol udp
        match source-port object-group dhcp_client
        match destination-port object-group dhcp_server
        enable
      exit
      rule 30
        action permit
        match protocol tcp
        match destination-port object-group dns
        enable
      exit
      rule 40
        action permit
        match protocol udp
        match destination-port object-group dns
        enable
      exit
      rule 50
        action permit
        match protocol tcp
        match destination-port object-group redirect
    exit
    security zone-pair users untrusted
      rule 1
        action permit
        enable
      exit
    exit
  8. Настройка SSID:
    Переходим в раздел конфигурации WLC:
    wlc(config)# wlc
    Переходим в конфигурацию SSID:
    wlc(config-wlc)# ssid-profile default-ssid
    Указываем имя SSID, которые будет вещаться для клиентов:
    wlc(config-wlc-ssid)# ssid F.E.freeSSID
    wlc(config-wlc-ssid)# exit
    wlc(config-wlc)# exit
    Полная конфигурация SSID:
    wlc
      ssid-profile default-ssid
        description F.E.free
        ssid F.E.freeSSID
        vlan-id 3
        802.11kv
        band 2g
        band 5g
        enable
      exit
    exit
  9. Конфигурация редиректа клиентов:
    Переходим в блок настроек редиректа:
    wlc(config)# subscriber-control
    Добавляем профиль aaa das-сервера:
    wlc(config-subscriber-control)# aaa das-profile bras_das
    Добавляем профль aaa RADIUS  для создания сессий:
    wlc(config-subscriber-control)# aaa sessions-radius-profile bras_radius
    Добавляем профиль aaa RADIUS для доступа к сервисам:
    wlc(config-subscriber-control)# aaa services-radius-profile bras_radius 
    Указываем внешний  ip WLC (Bridge 2), который будет выступать атрибутом NAS-IP-Address в RADIUS-запросах на WNAM:
    wlc(config-subscriber-control)# nas-ip-address 100.110.0.246 
    Включаем аутентификацию сессий по мак-адресам:
    wlc(config-subscriber-control)# session mac-authentication 
    Указываем список контроля доступа для неавторизованных клиентов:
    wlc(config-subscriber-control)# bypass-traffic-acl BYPASS 
    Переходим в блок конифгурации сервиса:
    wlc(config-subscriber-control)# default-service
    Указываем список контроля доступа, который будет применяться для неавторизованных клиентов:
    wlc(config-subscriber-default-service)# class-map BYPASS
    Указываем фильтр по имени сервиса для редиректа:
    wlc(config-subscriber-default-service)# filter-name local defaultService
    Указываем действие сервиса - разрешить:
    wlc(config-subscriber-default-service)# filter-action permit
    Указываем url адрес, куда будет перенаправлять неавторизованных клиентов:
    wlc(config-subscriber-default-service)# default-action redirect http://100.110.1.44/cp/eltexwlc
    Указываем время таймаута сессии:
    wlc(config-subscriber-default-service)# session-timeout 600
    wlc(config-subscriber-default-service)# exit
    Включаем работу редиректа:
    wlc(config-subscriber-control)# enable
    wlc(config-subscriber-control)# exit
    Полная конфигурация настроек редиректа:
    subscriber-control
      aaa das-profile bras_das
      aaa sessions-radius-profile bras_radius
      aaa services-radius-profile bras_radius
      nas-ip-address 100.110.0.246
      session mac-authentication
      bypass-traffic-acl BYPASS
      default-service
        class-map BYPASS
        filter-name local defaultService
        filter-action permit
        default-action redirect http://100.110.1.44/cp/eltexwlc
        session-timeout 600
      exit
      enable
    exit

    Важно!

    При конфигурации default-action redirect всегда используется шаблон "http://<ip-address WNAM>/cp/eltexwlc", где <ip-address WNAM> сетевой адрес сервера Netams WNAM.
    В случае указания другого url авторизация работать не будет.

#!/usr/bin/clish
#260
#1.26.1
#06/08/2024
#17:35:15
hostname wlc

object-group service airtune
  port-range 8099
exit
object-group service dhcp_client
  port-range 68
exit
object-group service dhcp_server
  port-range 67
exit
object-group service dns
  port-range 53
exit
object-group service netconf
  port-range 830
exit
object-group service ntp
  port-range 123
exit
object-group service radius_auth
  port-range 1812
exit
object-group service sa
  port-range 8043-8044
exit
object-group service ssh
  port-range 22
exit
object-group service https
  port-range 443
exit
object-group service redirect
  port-range 3128-3131
exit

object-group network wnam_servers
  ip address-range 100.110.1.44
exit
object-group network bras_users
  ip address-range 192.168.2.2-192.168.2.254
exit
object-group network local
  ip address-range 192.168.2.1-192.168.2.254
exit
exit
object-group url defaultService
  url http://100.110.1.44
exit

syslog max-files 3
syslog file-size 512
syslog sequence-numbers
syslog file tmpsys:syslog/default
  severity info
exit

radius-server local
  nas ap
    key ascii-text encrypted testing123
    network 192.168.1.0/24
  exit
  nas local
    key ascii-text encrypted testing123
    network 127.0.0.1/32
  exit
  domain default
    user admin
      password ascii-text encrypted admin
    exit
    user test
      password ascii-text encrypted test
    exit
  exit
  virtual-server default
    enable
  exit
  enable
exit
username admin
  password encrypted password
exit

radius-server host 100.110.1.44
  key ascii-text encrypted wnampass
  source-address 100.110.0.246
exit
radius-server host 127.0.0.1
  key ascii-text encrypted testing123
exit
aaa radius-profile bras_radius
  radius-server host 100.110.1.44
exit
aaa radius-profile default_radius
  radius-server host 127.0.0.1
exit

das-server das
  key ascii-text encrypted wnampass
  port 3799
  clients object-group wnam_servers
exit
aaa das-profile bras_das
  das-server das
exit


boot host auto-config
boot host auto-update

vlan 3
  force-up
exit
vlan 2
exit

no spanning-tree

domain lookup enable

security zone trusted
exit
security zone untrusted
exit
security zone users
exit
security zone dmz
exit

ip access-list extended BYPASS
  rule 10
    action permit
    match protocol udp
    match source-port 68
    match destination-port 67
    enable
  exit
  rule 11
    action permit
    match protocol udp
    match destination-port 53
    enable
  exit
exit
ip access-list extended WELCOME
  rule 10
    action permit
    match protocol tcp
    match destination-port 443
    enable
  exit
  rule 30
    action permit
    match protocol tcp
    match destination-port 80
    enable
  exit
exit
ip access-list extended INTERNET
  rule 10
    action permit
    enable
  exit
exit

subscriber-control
  aaa das-profile bras_das
  aaa sessions-radius-profile bras_radius
  aaa services-radius-profile bras_radius
  nas-ip-address 100.110.0.246
  session mac-authentication
  bypass-traffic-acl BYPASS
  default-service
    class-map BYPASS
    filter-name local defaultService
    filter-action permit
    default-action redirect http://100.110.1.44/cp/eltexwlc
    session-timeout 600
  exit
  enable
exit

bridge 1
  vlan 1
  description "MGMT-AP"
  security-zone trusted
  ip address 192.168.1.1/24
  no spanning-tree
  enable
exit
bridge 2
  vlan 2
  description "UPLINK"
  security-zone untrusted
  ip address 100.110.0.246/23
  no spanning-tree
  enable
exit
bridge 3
  description "BRAS-users"
  vlan 3
  mtu 1458
  security-zone users
  ip address 192.168.2.1/24
  no spanning-tree
  location data10
  enable
exit

interface gigabitethernet 1/0/1
  description "UPLINK"
  mode switchport
  switchport access vlan 2
exit
interface gigabitethernet 1/0/2
  description "AP-MGMT"
  mode switchport
exit
interface gigabitethernet 1/0/3
  mode switchport
exit
interface gigabitethernet 1/0/4
  lldp receive
exit
interface tengigabitethernet 1/0/1
  mode switchport
  switchport access vlan 2
exit
interface tengigabitethernet 1/0/2
  mode switchport
exit

tunnel softgre 1
  mode data
  local address 192.168.1.1
  default-profile
  enable
exit

security zone-pair trusted self
  rule 10
    action permit
    match protocol tcp
    match destination-port object-group ssh
    enable
  exit
  rule 20
    action permit
    match protocol icmp
    enable
  exit
  rule 30
    action permit
    match protocol udp
    match source-port object-group dhcp_client
    match destination-port object-group dhcp_server
    enable
  exit
  rule 40
    action permit
    match protocol udp
    match destination-port object-group ntp
    enable
  exit
  rule 50
    action permit
    match protocol tcp
    match destination-port object-group dns
    enable
  exit
  rule 60
    action permit
    match protocol udp
    match destination-port object-group dns
    enable
  exit
  rule 70
    action permit
    match protocol tcp
    match destination-port object-group netconf
    enable
  exit
  rule 80
    action permit
    match protocol tcp
    match destination-port object-group sa
    enable
  exit
  rule 90
    action permit
    match protocol udp
    match destination-port object-group radius_auth
    enable
  exit
  rule 100
    action permit
    match protocol gre
    enable
  exit
  rule 110
    action permit
    match protocol tcp
    match destination-port object-group airtune
    enable
  exit
exit
security zone-pair trusted trusted
  rule 1
    action permit
    enable
  exit
exit
security zone-pair trusted untrusted
  rule 1
    action permit
    enable
  exit
exit
security zone-pair untrusted self
  rule 1
    action permit
    match protocol udp
    match source-port object-group dhcp_server
    match destination-port object-group dhcp_client
    enable
  exit
  rule 10
    action permit
    match protocol tcp
    match destination-port object-group ssh
    enable
  exit
  rule 20
    action permit
    match protocol tcp
    match destination-port object-group http
    enable
  exit
exit
security zone-pair users self
  rule 10
    action permit
    match protocol icmp
    enable
  exit
  rule 20
    action permit
    match protocol udp
    match source-port object-group dhcp_client
    match destination-port object-group dhcp_server
    enable
  exit
  rule 30
    action permit
    match protocol tcp
    match destination-port object-group dns
    enable
  exit
  rule 40
    action permit
    match protocol udp
    match destination-port object-group dns
    enable
  exit
exit
security zone-pair users untrusted
  rule 1
    action permit
    enable
  exit
exit

security passwords default-expired

nat source
  pool translate
    ip address-range 100.110.0.246
  exit
  ruleset factory
    to zone untrusted
    rule 10
      description "replace 'source ip' by outgoing interface ip address"
      action source-nat interface
      enable
    exit
  exit
  ruleset SNAT
    to interface gigabitethernet 1/0/1
    rule 1
      match source-address object-group local
      action source-nat pool translate
      enable
    exit
  exit
exit

ip dhcp-server
ip dhcp-server pool ap-pool
  network 192.168.1.0/24
  address-range 192.168.1.2-192.168.1.254
  default-router 192.168.1.1
  dns-server 192.168.1.1
  option 42 ip-address 192.168.1.1
  vendor-specific
    suboption 12 ascii-text "192.168.1.1"
    suboption 15 ascii-text "https://192.168.1.1:8043"
  exit
exit
ip dhcp-server pool users-pool
  network 192.168.2.0/24
  address-range 192.168.2.2-192.168.2.254
  default-router 192.168.2.1
  dns-server 192.168.2.1
exit

ip route 0.0.0.0/0 100.110.0.1

softgre-controller
  nas-ip-address 127.0.0.1
  data-tunnel configuration wlc
  aaa radius-profile default_radius
  keepalive-disable
  service-vlan add 3
  enable
exit

wlc
  outside-address 192.168.1.1
  service-activator
    aps join auto
  exit
  airtune
    enable
  exit
  ap-location default-location
    description default-location
    mode tunnel
    ap-profile default-ap
    ssid-profile default-ssid
  exit
  ssid-profile default-ssid
    description F.E.free
    ssid F.E.freeSSID
    vlan-id 3
    802.11kv
    band 2g
    band 5g
    enable
  exit
  ap-profile default-ap
    password ascii-text encrypted testing123
    services
      ip ssh server
      ip http server
    exit
  exit
  radius-profile default-radius
    auth-address 192.168.1.1
    auth-password ascii-text encrypted testing123
    domain default
  exit
  ip-pool default-ip-pool
    description default-ip-pool
    ap-location default-location
  exit
  enable
exit

ip ssh server

clock timezone gmt +7

ntp enable
ntp broadcast-client enable
ntp server 194.190.168.1
exit

ip https server

Конфигурация WNAM

Создание сервера

На стороне системы авторизации  переходим: Конфигурация → Сервера доступа → Создать сервер.

В закладке Параметры:

  • Создаётся объект Сервер доступа (тип: Eltex);
  • Заполняем поля IP адрес и Внешний IP адрес (адрес вашего WLC, смотрящий в сторону WNAM);
  • Имя устройства и Местоположение (произвольно).

Во вкладке RADIUS указывается RADIUS-ключ (wnampass), в  поле "Атрибуты CoA / пост-авторизации": 

Cisco-AVPair=subscriber:command=account-loggon
Idle-Timeout=1200
Acct-Interim-Interval=300
Cisco-AVPair=subscriber:vrf=1

В поле ввода "Секретный ключ" указываем ключ, который указали для radius-server host 100.110.1.44 в конфигурации WLC:

wnampass

Создание площадки

Далее создаем площадку, к которой у нас будет привязана страница гостевого портала: Конфигурация → Площадки → Создать площадку.

В поле "Тип" выбираем "Площадка", в поле "Разрешенный сервер доступа" выбираем созданный ранее сервер. В поле "Присвоенная IP подсеть или МАС точек доступа" указываем наш пул IP для пользователей портала (сеть Bridge 3 на WLC).

Важно!

Таким образом через привязку пулов IP можно привязать разные Площадки с разными порталами авторизации, трафик клиентов которых терминируется на одном WLC.
Разрешенный сервер соответственно на разных площадках будет один и тот же.


Далее выбираем созданную площадку.
На вкладке "Авторизация" выбираем "Метод" – "Ввод кода с ваучера". Указываем срок валидности ваучера для авторизации. В параметре "Имя страницы" выбираем "Ваучер (по умолчанию)". Данных настроек достаточно для работы гостевого портала с авторизацией по коду из Ваучера.
Настройка других способов авторизации выходит за рамки данной статьи.


Создание группы ваучеров

Переходим к созданию ваучеров для авторизации: Конфигурация → Гостевая авторизация → Ваучеры → Создать группу ваучеров.


В дальнейшем коды данных ваучеров будут использоваться для авторизации клиентов на гостевом портале.

Создаем правило для редиректа на гостевой портал (копируем стандартное правило редиректа и модифицируем его).

Конифгурирование прави аутентификации

Переходим во вкладку: Конфигурация → Правила аутентификации.
Создаем новое правило аутентификации и настраиваем, как на скриншоте приведенном ниже. Источник запроса выбираем проводной (BRAS у нас находится на проводном интерфейсе).
В параметре  "Входящий радиус атрибут" выбираем "NAS-Port-ID" равным тому "location" который указали в настройках Bridge 3 на WLC, на котором терминируется клиентский трафик.
Таким образом свяжем данное правило с  SSID с гостевым доступом.

Важно!

В данное правило можно добавить дополнительными параметрами  при необходимости.

Правило аутентификации привязывается к правилу авторизации при помощи тега. В данном примере указан тег guest-wifi-redirect.

Важно!

Обратите внимание, чтобы тег был уникальным и совпадал с соответствующим правилом авторизации.
Если сработало правило аутентификации, далее по данному тегу запускается соответствующее правило авторизации.


Приступаем к созданию правила аутентификации для доступа клиента в Internet.
Параметры "Источник запроса" и "Входящий RADIUS атрибут" настраиваем так же, как в правиле для редиректа (объяснение выше).

Важно!

 Необходимо использовать уникальный тег, как в примере выше. В данном примере указан тег guest-wifi-permit.


Конфигурирование правил авторизации

Создаем правила авторизации:

Переходим во вкладку: Конфигурация → Правила авторизации.
Первое правило для редиректа на портал приводим к виду, как на примере ниже.
В результате должен быть ответ протокола Radius формата "Access-Reject" от сервиса авторизации системе BRAS на WLC.

Важно!

Правило привязывается по совпадению тега, поэтому тег должен быть такой же, как и в правиле аутентификации. 


Второе правило для предоставления доступа в Internet. В блоке "Применить" параметра "RADIUS атрибуты" необходимо прописать атрибут назначающий сессии клиента сервис  доступа с названием INTERNET, который настроен в виде списка контроля доступа на WLC.

Cisco-Account-Info=AINTERNET

В результате, на данном этапе, должен быть ответ протокола Radius формата "Access-Accept" от сервиса авторизации системе BRAS на WLC. В нем будет содержаться атрибут с указанием наименования сервиса доступного абоненту.


Логика взаимдействия на этапе предоставления доступа в инетрнет

Контроллер WLC в ходе авторизации запрашивает параметры сервиса INTERNET в пакете Radius "Access-Request", а  WNAM, в свою очередь,  отдаёт их в ответном пакете "Access-Accept", где в атрибуте "Cisco-AVPair", со значением "subscriber:traffic-class=INTERNET".
Эта последовательность зашита в логику взаимодействия с оборудованием Eltex и не требует дополнительной настройки.

На этом конфигурация сервиса Netams WNAM завершена.
После конфигурирования портала и контроллера WLC при подключения к SSID с названием "F.E.freeSSID" будет регистрация в сети. Мы попадем на портал авторизации, где необходимо ввести один из свободных ваучеров. Посмотреть доступные ваучеры можно: Конфигурация → Гостевая авторизация → Ваучеры. Выбираем созданную группу Test_Guest-Portal и вводим свободный. После авторизации будет предоставлен доступ в интернет, а введенный ваучер привяжется

Отладочная информация Netams WNAM

Логирование работы правил авторизации

Мониторинг логов работы правил авторизации необходимо перейти в: Диагностика → Корпоративные подключения

Пример лога гостевого Wi-Fi tester Guest Portal Redirect
1: fillFromRadiusAttributes - identity: '78:98:E8:1E:67:07', portType: EthernetMAB
2: fillFromRadiusAttributes - mac: '78:98:E8:1E:67:07'
3: fillFromRadiusAttributes - password: present in request
4: fillFromRadiusAttributes - nas: 'WLC-30 [F.E.]', ip: 100.110.0.246, id: 6614c699fd772e622ebb0689, vendor: ELTEX [enabled]
5: fillFromRadiusAttributes - nas: IP address: 100.110.0.246, identifier: 'null', port: 'location data10'
6: fillFromRadiusAttributes - site: 'test', id: new [enabled]
7: fillFromRadiusAttributes - session id: '3098476543630901255'
8: radius - received 8 attributes in the request: 
    Cisco-AVPair-subscriber:vrf = 1
    User-Name = 78:98:E8:1E:67:07
    Cisco-AVPair-subscriber:CELL = d998075724dc24029b359a8db24682a0
    User-Password = (password length: 8)
    NAS-IP-Address = 100.110.0.246
    Cisco-AVPair-subscriber:l2-interface = softgre 1.4
    Acct-Session-Id = 3098476543630901255
    NAS-Port-Id = location data10
9: filterForPapMacMethod - checkMABPassword: matched captiveportal_pass for 'Редирект для гостевого Wi-Fi tester'
10: authentication - a1profiles candidates: 1 with preliminary processing result: RadiusResponse [state=OK, attributes=[]]
11: authentication - final result: Redirect with policy 'Редирект для гостевого Wi-Fi tester' and tag 'guest-wifi-redirect'
12: authorization - guest redirect
13: radius - send RADIUS REJECT, reason: This will instruct Wi-Fi controller to execute redirect action
Пример лога гостевого Wi-Fi tester Доступ для гостевого Wi-Fi
1: fillFromRadiusAttributes - identity: '78:98:E8:1E:67:07', portType: EthernetMAB
2: fillFromRadiusAttributes - mac: '78:98:E8:1E:67:07'
3: fillFromRadiusAttributes - password: present in request
4: fillFromRadiusAttributes - nas: 'WLC-30 [F.E.]', ip: 100.110.0.246, id: 6614c699fd772e622ebb0689, vendor: ELTEX [enabled]
5: fillFromRadiusAttributes - nas: IP address: 100.110.0.246, identifier: 'null', port: 'location data10'
6: fillFromRadiusAttributes - site: 'test', id: new [enabled]
7: fillFromRadiusAttributes - session id: '3098476543630901255'
8: radius - received 8 attributes in the request: 
    Cisco-AVPair-subscriber:vrf = 1
    User-Name = 78:98:E8:1E:67:07
    Cisco-AVPair-subscriber:CELL = d998075724dc24029b359a8db24682a0
    User-Password = (password length: 8)
    NAS-IP-Address = 100.110.0.246
    Cisco-AVPair-subscriber:l2-interface = softgre 1.4
    Acct-Session-Id = 3098476543630901255
    NAS-Port-Id = location data10
9: filterForPapMacMethod - checkMABPassword: matched captiveportal_pass for 'Доступ для гостевого Wi-Fi tester'
10: authentication - a1profiles candidates: 1 with preliminary processing result: RadiusResponse [state=OK, attributes=[]]
11: authentication - final result: Allow with policy 'Доступ для гостевого Wi-Fi tester' and tag 'guest-wifi-permit'
12: authorization - a2profiles candidates: 7
13: authorization - final result: Accept with policy 'Доступ для гостевого Wi-Fi'
14: radius - send RADIUS ACCEPT with 1 attributes
15: radius -     attribute: Cisco-Account-Info = AINTERNET
16: addIP - Set IP address 192.168.3.21 on Accounting message (session 3098476543630901255)

Информация о ваучерах

Информация о статусе ваучеров находится по пути: Конфигурация → Гостевая авторизация → Ваучеры.
Затем необходимо выбрать нужную группу.

Информация о клиентах Wi-Fi

Также посмотреть активные клиентские подключения к Wi-Fi можно посмотреть на контроллере WLC командой:

wlc# show subscriber-control sessions status

Ниже приведен пример вывода активных клиентских сессий на контроллере WLC:

wlc# sh subscriber-control sessions status
Session id             User name         IP address        MAC address         Interface              Domain
--------------------   ---------------   ---------------   -----------------   --------------------   ---------------
3098476543630901251    78:98:E8:1E:67:   192.168.3.21      78:98:e8:1e:67:07   softgre 1.4            --
                       07
wlc# sh subscriber-control services counters session-id 3098476543630901251
Service id             Service name      Recv packets     Recv bytes       Send packets     Send bytes
--------------------   ---------------   --------------   --------------   --------------   --------------
3134505340649865218    A INTERNET        4559             3868861          3842             692224
wlc# sh wlc clients
MAC User            MAC AP              Hostname AP                      SSID              RSSI      AP-Location         Username
-----------------   -----------------   ------------------------------   ---------------   -------   -----------------   -----------------
78:98:e8:1e:67:07   68:13:e2:02:ea:20   WEP-3ax                          F.E.freeSSID      -35       default-location    --

Расположение логов

На сервере WNAM лог авторизации пользователей находится в файле: /home/wnam/logs/wnam.log

Пример вывода логов авторизации файла /home/wnam/logs/wnam.log
11:33:41.702 DEBUG [EltexWlcService.java:196] - CP ELTEX WLC clicked: username=78:98:E8:1E:67:07, ip=192.168.3.21, server=100.110.0.246, sessionId=3098476543630901255, dst='http://www.msftconnecttest.com/redirect'
11:33:41.716 DEBUG [PageGenerator.java:713] - processAuthRequest ELTEXWLC: username=78:98:E8:1E:67:07, ip=192.168.3.21, server=100.110.0.246, site_id=new, domain_id=3098476543630901255, dst='http://www.msftconnecttest.com/redirect' adv curr/max=1/1
11:33:41.719 DEBUG [PageGenerator.java:1300] - captive portal redirected to VOUCHER page, username=78:98:E8:1E:67:07, cust=new, form='6614c99dfd772e622ebb06a7'
11:34:13.380 DEBUG [VoucherHandler.java:52] - postVoucher CODE='V3U5', FORM=6614c99dfd772e622ebb06a7, MAC=78:98:E8:1E:67:07, IP=192.168.3.21, site_id=new, name=78:98:E8:1E:67:07
11:34:13.382 DEBUG [VoucherHandler.java:62] - find_voucher: 66b34731933c505a427dad16, code=V3U5, status=Не активирован
11:34:13.395 DEBUG [VoucherHandler.java:125] - postVoucher OK CODE='V3U5', voucher='Группа: WNAM-WLC_01, владелец: admin', vg='WNAM-WLC_01'
11:34:13.399 DEBUG [PageGenerator.java:390] - processRedirectRequestCi mac=78:98:E8:1E:67:07, method=ORIGINAL, formName=, redirectUrl=null, key=b04fb14d-36fb-4c30-a886-bfbab119088c
11:34:13.401 DEBUG [PageGenerator.java:849] - loginAtNasCi ELTEXWLC mac=78:98:E8:1E:67:07, ip=192.168.3.21, server=100.110.0.246, dst='http://www.msftconnecttest.com/redirect'
11:34:13.406 DEBUG [EltexWlcService.java:66] - backToEltexWLC login server='100.110.0.246', user=78:98:E8:1E:67:07, password=password, dst='http://www.msftconnecttest.co...'
11:34:13.407 DEBUG [EltexWlcService.java:85] - open EltexWLC access REQ for IP=192.168.3.21, MAC=78:98:E8:1E:67:07 at NAS_IP=100.110.0.246
11:34:13.411 DEBUG [WnamRadiusService.java:558] - handleRadiusPacket AUTH as=100.110.0.246, secret_len=10, attrs=[Vendor-Specific: 0x, User-Name: 78:98:E8:1E:67:07, User-Password: <stripped out>, NAS-IP-Address: 100.110.0.246, Acct-Session-Id: 3098476543630901255, Vendor-Specific: 0x, Vendor-Specific: 0x, NAS-Port-Id: location data10]
11:34:13.411 DEBUG [ProfilingService.java:440] - handleMac on MAC: 78:98:E8:1E:67:07 for vendor D-Link International
11:34:13.412 DEBUG [ProfilingService.java:466] - handleMac on MAC: 78:98:E8:1E:67:07 checks added: 1, res: [D-Link International]
11:34:13.414 DEBUG [ProfilingService.java:1091] - Endpoint 78:98:E8:1E:67:07 logical profile set to Home Network Devices
11:34:13.414 DEBUG [ProfilingService.java:1102] - Endpoint 78:98:E8:1E:67:07 policy set assigned: [DLink-Device]
11:34:13.416 DEBUG [ProfilingService.java:469] - handleMac on MAC: 78:98:E8:1E:67:07 profiled in 5 ms.
11:34:13.433 DEBUG [WnamRadiusService.java:558] - handleRadiusPacket AUTH as=100.110.0.246, secret_len=10, attrs=[User-Name: INTERNET, Vendor-Specific: 0x, NAS-IP-Address: 100.110.0.246, NAS-Port-Id: location data10, User-Password: <stripped out>, Vendor-Specific: 0x, Vendor-Specific: 0x, Acct-Session-Id: 3134505340649865221, Vendor-Specific: 0x, Vendor-Specific: 0x, Vendor-Specific: 0x]
11:34:13.434 DEBUG [WnamRadiusService.java:558] - handleRadiusPacket ACCT as=100.110.0.246, secret_len=10, attrs=[User-Name: 78:98:E8:1E:67:07, Vendor-Specific: 0x, Acct-Session-Id: 3098476543630901255, Acct-Status-Type: Start, Vendor-Specific: 0x, Event-Timestamp: 1723436510, NAS-Port-Id: location data10, Called-Station-Id: CC-9D-A2-71-94-E0:data10, Vendor-Specific: 0x, Vendor-Specific: 0x, Vendor-Specific: 0x, NAS-Identifier: F.E.wlc-30, Framed-IP-Address: 192.168.3.21, Calling-Station-Id: 78-98-E8-1E-67-07, NAS-IP-Address: 100.110.0.246]
11:34:13.435 DEBUG [WnamRadiusService.java:558] - handleRadiusPacket ACCT as=100.110.0.246, secret_len=10, attrs=[User-Name: 78:98:E8:1E:67:07, Vendor-Specific: 0x, Acct-Session-Id: 3098476543630901255, Acct-Status-Type: Interim-Update, Vendor-Specific: 0x, Event-Timestamp: 1723436806, NAS-Port-Id: location data10, Called-Station-Id: CC-9D-A2-71-94-E0:data10, Vendor-Specific: 0x, Vendor-Specific: 0x, Vendor-Specific: 0x, NAS-Identifier: F.E.wlc-30, Framed-IP-Address: 192.168.3.21, Calling-Station-Id: 78-98-E8-1E-67-07, Vendor-Specific: 0x, Vendor-Specific: 0x, Acct-Input-Gigawords: 0, Acct-Input-Octets: 128192, Acct-Output-Gigawords: 0, Acct-Output-Octets: 149134, Acct-Session-Time: 286, NAS-IP-Address: 100.110.0.246]
11:34:13.436 DEBUG [EltexWlcService.java:176] - sendCoa attrs=8, fail=false, resp=CoA-ACK
11:34:13.437 DEBUG [EltexWlcService.java:148] - open EltexWLC access SUCCESS for IP=192.168.3.21, MAC=78:98:E8:1E:67:07, num_avp=1
11:34:13.440 DEBUG [WnamRadiusService.java:558] - handleRadiusPacket ACCT as=100.110.0.246, secret_len=10, attrs=[User-Name: INTERNET, Vendor-Specific: 0x, Acct-Session-Id: 3134505340649865221, Vendor-Specific: 0x, Acct-Status-Type: Start, Vendor-Specific: 0x, Event-Timestamp: 1723436806, NAS-Port-Id: location data10, Called-Station-Id: CC-9D-A2-71-94-E0:data10, Vendor-Specific: 0x, Vendor-Specific: 0x, Vendor-Specific: 0x, NAS-Identifier: F.E.wlc-30, Framed-IP-Address: 192.168.3.21, Calling-Station-Id: 78-98-E8-1E-67-07, NAS-IP-Address: 100.110.0.246]
11:34:13.450 DEBUG [WnamCmdService.java:630] - ACCT Interim-Update new session ID=3098476543630901255, MAC=78:98:E8:1E:67:07, IP=192.168.3.21, User=78:98:E8:1E:67:07, NAS_IP=100.110.0.246, site_id=new
11:34:13.450 DEBUG [WnamCmdService.java:630] - ACCT Start new session ID=3098476543630901255, MAC=78:98:E8:1E:67:07, IP=192.168.3.21, User=78:98:E8:1E:67:07, NAS_IP=100.110.0.246, site_id=new
11:34:13.450 DEBUG [WnamCmdService.java:630] - ACCT Start new session ID=3098476543630901255, MAC=78:98:E8:1E:67:07, IP=192.168.3.21, User=INTERNET, NAS_IP=100.110.0.246, site_id=new
  • Нет меток