| Оглавление |
|---|
Описание
В статье рассматривается настройка проксирования RADIUS-запросов от ТД через контроллер WLC в NAC-систему. ТД является устройством идентификации (NAS-клиент), RADIUS-запросы будут исходить от ТД. Контроллер WLC выполняет роль посредника в общении ТД и NAC-системы.
...
Проксирование RADIUS-запросов позволяет использовать общее хранилище учетных данных пользователей Wi-Fi.
| Scroll Pagebreak |
|---|
| Подсказка |
|---|
Для успешной авторизации на внешнем RADIUS-сервере необходимо:
|
...
- При подключении к SSID клиент вводит учетные данные в виде логина (username) и пароля (password), которые приходят на ТД.
- ТД отправляет запрос (Access-Request) на RADIUS-сервер WLC, в атрибуте NAS-IP будет задан IP-адрес ТД. На WLC настроено проксирование на внешний RADIUS-сервер.
- Получив от ТД запрос (Access-Request), WLC подменит NAS-IP на IP-адрес, который указан в конфигурации и отправит запрос на внешний RADIUS-сервер.
- Внешний RADIUS-сервер проверяет наличие записи NAS-IP WLC в своей конфигурации.
- Если запись найдена, происходит проверка учетной записи пользователя и в случае успешной проверки, внешний RADIUS-сервер отправляет ответ (Access-Accept) в сторону WLC.
- WLC, получив ответ от внешнего RADIUS-сервера, пересылает ответ ТД.
- После успешного подключения клиента ТД отправляет запрос (Accounting-Request) на WLC (если отправка включена в конфигурации).
- WLC подменяет NAS-IP и пересылает запрос на внешний RADIUS-сервер.
- Внешний RADIUS-сервер отправляет ответ (Accounting-Response) WLC. WLC пересылает запрос ТД.
Задача. Реализация авторизации с помощью одного radius-сервера
Настроить перенаправление всех RADIUS-запросов от ТД из сети 192.168.1.0/24 на вышестоящий сервер:
...
Настройка локального RADIUS-сервера.
Перейдите в конфигурационный режим:Блок кода language vb theme Eclipse wlc# configure wlc(config)#
Перейдите в раздел radius-server local:
Блок кода language vb theme Eclipse wlc(config)# radius-server local wlc(config-radius)#
Scroll Pagebreak Пропишите NAS.
Добавьте подсети ТД (адресное пространство ТД, т. е. их IP-адреса), которые будут обслуживаться локальным RADIUS-сервером при Enterprise-авторизации пользователей Wi-Fi в nas ap:Блок кода language vb theme Eclipse wlc(config-radius)# nas ap wlc(config-radius-nas)# network 192.168.1.0/24 wlc(config-radius-nas)# key ascii-text password wlc(config-radius-nas)# exit
Scroll Pagebreak Подсказка При схеме подключения ТД через L3-сеть (с SoftGRE-туннелями) в конфигурации должна быть настроена запись для nas local, если она отсутствует, то её необходимо добавить:
Блок кода language vb theme Eclipse wlc(config-radius)# nas local wlc(config-radius-nas)# key ascii-text password wlc(config-radius-nas)# network 127.0.0.1/32 wlc(config-radius-nas)# exit
Настройте virtual-server.
Настройте virtual-server для проксирования RADIUS-запросов на внешний сервер. Задайте имя virtual-server:Блок кода language vb theme Eclipse wlc(config-radius)# virtual-server default
Задайте nas-ip.
Подсказка title Подмена NAS-IP В локальном RADIUS-сервере есть возможность изменять NAS-IP во всех входящих RADIUS-запросах от ТД к WLC.
Если параметр не задан, при пересылке RADIUS-запросов на внешний сервер в атрибуте NAS-IP будет записан адрес ТД. Это может повлечь за собой ошибки в процессе аутентификации, которые подробно рассмотрены в разделе Возможные проблемы при авторизации.Блок кода language vb theme Eclipse wlc(config-radius-vserver)# nas-ip-address 10.10.20.1
Включите режим проксирования.
Блок кода language vb theme Eclipse wlc(config-radius-vserver)# mode proxy
Включите привязку к upstream-pool
Блок кода language vb theme Eclipse wlc(config-radius-vserver)# upstream-pool default
Включите virtual-server.
Блок кода language vb theme Eclipse wlc(config-radius-vserver)# enable wlc(config-radius-vserver)# exit
Scroll Pagebreak Настройте upstream-server.
Настройте upstream-server доступна из раздела radius-server. Создайте upstream-server для настройки параметров вышестоящего сервера:
Блок кода language vb theme Eclipse wlc(config-radius)# upstream-server eltex
Задайте адрес вышестоящего сервера. На этот сервер будут перенаправляться запросы от ТД:
Блок кода language vb theme Eclipse wlc(config-radius-upstream-server)# host 10.10.10.12
Включите режим проксирования для запросов аутентификации и аккаунтинга.scroll-pagebreak
Подсказка title Типы upstream серверов Server-type auth – проксирование только запросов аутентификации. Запросы будут проксироваться на порт, указанный в параметре port (по умолчанию – 1812).
Server-type acct – проксирование только аккаунтинга. Проксирование осуществляется на порт, указанный в параметре port (по умолчанию – 1812). При необходимости порт может быть изменен (стандартный порт для аккаунтинга – 1813).
Server-type all – проксирование запросов аутентификации и аккаунтинга. Запросы аутентификации будут проксироваться на порт, указанный в параметре port (по умолчанию – 1812), а аккаунтинг будет проксироваться на порт = 'port'+1 (то есть по умолчанию – 1813).
Выберите режим all, так как нужно перенаправлять все запросы.
Блок кода language vb theme Eclipse wlc(config-radius-upstream-server)# server-type all
Якорь upstream-server.key upstream-server.key Задайте ключ для вышестоящего сервера.
Блок кода language vb theme Eclipse wlc(config-radius-upstream-server)# key ascii-text password wlc(config-radius-upstream-server)# exit
- Настройте upstream-pool.
Настройте upstream-pool доступна из раздела radius-server. Создайте upstream-pool для настройки всех необходимых upstream-server:Блок кода language vb theme Eclipse wlc(config-radius)# upstream-pool default
Укажите необходимые upstream-pool для проксирования radius запросов.
Блок кода language vb theme Eclipse wlc(config-radius-upstream-pool)# upstream-server eltex
Включите режим проксирования для запросов аутентификации и аккаунтинга.
Scroll Pagebreak Подсказка title Типы upstream серверов Server-type auth – проксирование только запросов аутентификации. Запросы будут проксироваться на порт, указанный в параметре port (по умолчанию – 1812).
Server-type acct – проксирование только аккаунтинга. Проксирование осуществляется на порт, указанный в параметре port (по умолчанию – 1812). При необходимости порт может быть изменен (стандартный порт для аккаунтинга – 1813).
Server-type all – проксирование запросов аутентификации и аккаунтинга. Запросы аутентификации будут проксироваться на порт, указанный в параметре port (по умолчанию – 1812), а аккаунтинг будет проксироваться на порт = 'port'+1 (то есть по умолчанию – 1813).
Выберите режим all, так как нужно перенаправлять все запросы.
Блок кода language vb theme Eclipse wlc(config-radius-upstream-pool)# server-type all
Конфигурация раздела radius-server.
Блок кода language vb theme Eclipse radius-server local nas local key ascii-text encrypted 8CB5107EA7005AFF network 127.0.0.1/32 exit nas ap key ascii-text encrypted 8CB5107EA7005AFF network 192.168.1.0/24 exit virtual-server default mode proxy nas-ip-address 10.10.20.1 upstream-pool default enable exit upstream-server eltex host 10.10.10.12 server-type all key ascii-text password exit upstream-pool default server-type all upstream-server eltex exit enable exitScroll Pagebreak
Настройка в разделе WLC.
Перейдите в раздел wlc:Блок кода language vb theme Eclipse wlc(config)# wlc
Настройте radius-profile.
Настройте профиль default-radius:Блок кода language vb theme Eclipse wlc(config-wlc)# radius-profile default-radius
Поскольку настраивается проксирование запросов аутентификации и аккаунтинга, то в auth-address и acct-address должен быть указан адрес контроллера, который доступен для ТД. Ключ RADIUS-сервера (auth-password/acct-password) должен совпадать с ключом, указанным для nas ap, который был указан в radius-server local.
Якорь wlc.radius-profile wlc.radius-profile Блок кода language vb theme Eclipse wlc(config-wlc-radius-profile)# auth-address 192.168.1.1 wlc(config-wlc-radius-profile)# auth-password ascii-text password wlc(config-wlc-radius-profile)# acct-address 192.168.1.1 wlc(config-wlc-radius-profile)# acct-password ascii-text password
Подсказка Если используется проксирование на SoftWLC, необходимо указать домен RADIUS. Этот домен должен совпадать с доменом, в котором созданы учетные записи пользователей Enterprise на SoftWLC.
Блок кода language vb theme Eclipse wlc(config-wlc-radius-profile)# domain root
Включите отправку аккаунтинга на RADIUS-сервер.
Блок кода language vb theme Eclipse wlc(config-wlc-radius-profile)# acct-enable
Включите добавление идентификатора RADIUS-сессии в запросах аккаунтинга.
Блок кода language vb theme Eclipse wlc(config-wlc-radius-profile)# auth-acct-id-send
Задайте временной интервал обновления аккаунтинга.
Блок кода language vb theme Eclipse wlc(config-wlc-radius-profile)# acct-interval 600
Конфигурация radius-profile.
Блок кода language vb theme Eclipse radius-profile default-radius auth-address 192.168.1.1 auth-password ascii-text password auth-acct-id-send acct-enable acct-address 192.168.1.1 acct-password ascii-text password acct-periodic acct-interval 600 exit
Scroll Pagebreak Создайте ssid-profile.
Создайте новый профиль SSID:Блок кода language vb theme Eclipse wlc(config-wlc)# ssid-profile test_enterprise
Укажите в ssid-profile ранее настроенный профиль radius-profile.
Блок кода language vb theme Eclipse wlc(config-wlc-ssid-profile)# radius-profile default-radius
Задайте имя SSID.
Блок кода language vb theme Eclipse wlc(config-wlc-ssid-profile)# ssid "test_enterprise"
Задайте режим безопасности.
Блок кода language vb theme Eclipse wlc(config-wlc-ssid-profile)# security-mode WPA2_1X
Задайте VLAN.
Блок кода language vb theme Eclipse wlc(config-wlc-ssid-profile)# vlan-id 3
Задать остальные параметры SSID.
Блок кода language vb theme Eclipse wlc(config-wlc-ssid-profile)# description "SSID for enterprise users" wlc(config-wlc-ssid-profile)# 802.11kv wlc(config-wlc-ssid-profile)# band 2g wlc(config-wlc-ssid-profile)# band 5g wlc(config-wlc-ssid-profile)# enable wlc(config-wlc-ssid-profile)# exit
Конфигурация ssid-profile.
Блок кода language vb theme Eclipse ssid-profile test_enterprise description "SSID for enterprise users" ssid "test_enterprise" radius-profile default-radius vlan-id 3 security-mode WPA2_1X 802.11kv band 2g band 5g enable exit
Включить ssid-profile в локацию.
Включите созданный SSID в локацию. ТД получит конфигурацию и начнёт вещать данные SSID. В примере ниже ssid-profile включен в локацию default-location.Блок кода language vb theme Eclipse ap-location default-location ssid-profile test_enterprise exit
Конфигурация раздела wlc.
Блок кода language vb theme Eclipse 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 airtune-profile default_airtune ssid-profile default-ssid ssid-profile test_enterprise exit airtune-profile default_airtune description "default_airtune" exit ssid-profile default-ssid description "default-ssid" ssid "default-ssid" radius-profile default-radius vlan-id 3 security-mode WPA2_1X 802.11kv band 2g band 5g enable exit ssid-profile test_enterprise description "SSID for enterprise users" ssid "test_enterprise" radius-profile default-radius vlan-id 3 security-mode WPA2_1X 802.11kv band 2g band 5g enable exit radio-2g-profile default_2g description "default_2g" exit radio-5g-profile default_5g description "default_5g" exit ap-profile default-ap description "default-ap" password ascii-text encrypted 8CB5107EA7005AFF exit radius-profile default-radius description "default-radius" auth-address 192.168.1.1 auth-password ascii-text encrypted 8CB5107EA7005AFF auth-acct-id-send acct-enable acct-address 192.168.1.1 acct-password ascii-text encrypted 8CB5107EA7005AFF acct-periodic domain default exit wids-profile default-wids description "default-wids" exit ip-pool default-ip-pool description "default-ip-pool" ap-location default-location exit enable exit
- Настройка firewall.
Для приёма аккаунтинга разрешите прохождение UDP-трафика по порту 1813 из зоны trusted в зону self. В заводской конфигурации порт 1813 закрыт.Перейдите в конфигурационный режим:
Блок кода language vb theme Eclipse wlc# configure wlc(config)#
Создайте группу radius_acct:
Блок кода object-group service radius_acct port-range 1813 exit
Добавьте правило в zone-pair trusted self:
Блок кода security zone-pair trusted self rule 91 action permit match protocol udp match destination-port object-group radius_acct enable exit exit
Примените и подтвердите конфигурацию.
Блок кода language vb theme Eclipse wlc# commit wlc# confirm
...
| Раскрыть | |||||||
|---|---|---|---|---|---|---|---|
|
| Scroll Pagebreak |
|---|
Задача. Реализация авторизации с помощью нескольких radius-серверов
Настроить перенаправление всех RADIUS-запросов от ТД c разными ssid из сети 192.168.1.0/24 на необходимый radius сервер:
- IP-адрес radius-сервера для ssid1: 10.10.10.12
- IP-адрес radius-сервера для ssid2: 10.10.10.44
- Порт для авторизации: 1812
- Порт для аккаунтинга: 1813
- Ключ сервера: password
...
Настройка локального RADIUS-сервера.
Перейдите в конфигурационный режим:Блок кода language vb theme Eclipse wlc# configure wlc(config)#
Перейдите в раздел radius-server local:
Блок кода language vb theme Eclipse wlc(config)# radius-server local wlc(config-radius)#
Пропишите NAS.
Добавьте подсети ТД (адресное пространство ТД, т. е. их IP-адреса), которые будут обслуживаться локальным RADIUS-сервером при Enterprise-авторизации пользователей Wi-Fi в nas ap:Блок кода language vb theme Eclipse wlc(config-radius)# nas ap wlc(config-radius-nas)# network 192.168.1.0/24 wlc(config-radius-nas)# key ascii-text password wlc(config-radius-nas)# exit
Scroll Pagebreak Подсказка При схеме подключения ТД через L3-сеть (с SoftGRE-туннелями) в конфигурации должна быть настроена запись для nas local, если она отсутствует, то её необходимо добавить:
Блок кода language vb theme Eclipse wlc(config-radius)# nas local wlc(config-radius-nas)# key ascii-text password wlc(config-radius-nas)# network 127.0.0.1/32 wlc(config-radius-nas)# exit
Настройте upstream-server для каждого из используемых radius серверов.
Настройте upstream-server доступна из раздела radius-server. Создайте upstream-server для настройки параметров вышестоящего сервера:
Блок кода language vb theme Eclipse wlc(config-radius)# upstream-server eltex1
Задайте адрес вышестоящего сервера. На этот сервер будут перенаправляться запросы от ТД:
Блок кода language vb theme Eclipse wlc(config-radius-upstream-server)# host 10.10.10.12
Включите режим проксирования для запросов аутентификации и аккаунтинга.
Scroll Pagebreak Подсказка title Типы upstream серверов Server-type auth – проксирование только запросов аутентификации. Запросы будут проксироваться на порт, указанный в параметре port (по умолчанию – 1812).
Server-type acct – проксирование только аккаунтинга. Проксирование осуществляется на порт, указанный в параметре port (по умолчанию – 1812). При необходимости порт может быть изменен (стандартный порт для аккаунтинга – 1813).
Server-type all – проксирование запросов аутентификации и аккаунтинга. Запросы аутентификации будут проксироваться на порт, указанный в параметре port (по умолчанию – 1812), а аккаунтинг будет проксироваться на порт = 'port'+1 (то есть по умолчанию – 1813).
Выберите режим all, так как нужно перенаправлять все запросы.
Блок кода language vb theme Eclipse wlc(config-radius-upstream-server)# server-type all
Якорь upstream-server.key upstream-server.key Задайте ключ для вышестоящего сервера.
Блок кода language vb theme Eclipse wlc(config-radius-upstream-server)# key ascii-text password wlc(config-radius-upstream-server)# exit
Настройте upstream-server для следующего radius сервера:
Блок кода language vb theme Eclipse wlc(config-radius)# upstream-server eltex2
Задайте адрес вышестоящего сервера. На этот сервер будут перенаправляться запросы от ТД:
Блок кода language vb theme Eclipse wlc(config-radius-upstream-server)# host 10.10.10.44
Включите режим проксирования для запросов аутентификации и аккаунтинга.
Блок кода language vb theme Eclipse wlc(config-radius-upstream-server)# server-type all
Якорь upstream-server.key upstream-server.key Задайте ключ для вышестоящего сервера.
Настройте upstream-pool доступна из раздела radius-server. Создайте upstream-pool для настройки всех необходимых upstream-server:Блок кода language vb theme Eclipse wlc(config-radius-upstream-server)# key ascii-text password wlc(config-radius-upstream-server)# exit
Блок кода language vb theme Eclipse wlc(config-radius)# upstream-pool pool1
Укажите необходимые upstream-pool для проксирования radius запросов.
Блок кода language vb theme Eclipse wlc(config-radius-upstream-pool)# upstream-server eltex1
Включите режим проксирования для запросов аутентификации и аккаунтинга.scroll-pagebreak
Подсказка title Типы upstream серверов Server-type auth – проксирование только запросов аутентификации. Запросы будут проксироваться на порт, указанный в параметре port (по умолчанию – 1812).
Server-type acct – проксирование только аккаунтинга. Проксирование осуществляется на порт, указанный в параметре port (по умолчанию – 1812). При необходимости порт может быть изменен (стандартный порт для аккаунтинга – 1813).
Server-type all – проксирование запросов аутентификации и аккаунтинга. Запросы аутентификации будут проксироваться на порт, указанный в параметре port (по умолчанию – 1812), а аккаунтинг будет проксироваться на порт = 'port'+1 (то есть по умолчанию – 1813).
Выберите режим all, так как нужно перенаправлять все запросы.
Настройте upstream-pool для второго ssidБлок кода language vb theme Eclipse wlc(config-radius-upstream-pool)# server-type all wlc(config-radius-upstream-pool)# exit
Блок кода language vb theme Eclipse wlc(config-radius)# upstream-pool pool2
Укажите необходимые upstream-pool для проксирования radius запросов.
Блок кода language vb theme Eclipse wlc(config-radius-upstream-pool)# upstream-server eltex2
Включите режим проксирования для запросов аутентификации и аккаунтинга.
Блок кода language vb theme Eclipse wlc(config-radius-upstream-pool)# server-type all
Настройте virtual-server.
Настройте virtual-server для проксирования RADIUS-запросов на внешний сервер. Задайте имя virtual-server:Блок кода language vb theme Eclipse wlc(config-radius)# virtual-server default
Настройте ssid-profile для которого будут применяться настройки проксирования radis запросов. Задайте имя ssid-profile:
Блок кода language vb theme Eclipse wlc(config-radius-vserver)# ssid-profile ssid1
Задайте nas-ip.
Подсказка title Подмена NAS-IP В локальном RADIUS-сервере есть возможность изменять NAS-IP во всех входящих RADIUS-запросах от ТД к WLC.
Если параметр не задан, при пересылке RADIUS-запросов на внешний сервер в атрибуте NAS-IP будет записан адрес ТД. Это может повлечь за собой ошибки в процессе аутентификации, которые подробно рассмотрены в разделе Возможные проблемы при авторизации.Блок кода language vb theme Eclipse wlc(config-radius-vserver-ssid-profile)# nas-ip-address 10.10.20.1
Включите режим проксирования.
Блок кода language vb theme Eclipse wlc(config-radius-vserver-ssid-profile# mode proxy
Включите привязку к ранее созданному pstream-pool pool1
Блок кода language vb theme Eclipse wlc(config-radius-vserver-ssid-profile)# upstream-pool pool1 wlc(config-radius-vserver-ssid-profile)# exit
Настройте следующий ssid-profile для которого будут применяться настройки проксирования radis запросов. Задайте имя ssid-profile:
Блок кода language vb theme Eclipse wlc(config-radius-vserver)# ssid-profile ssid2
Блок кода language vb theme Eclipse wlc(config-radius-vserver-ssid-profile)# nas-ip-address 10.10.20.1
Включите режим проксирования.
Блок кода language vb theme Eclipse wlc(config-radius-vserver-ssid-profile# mode proxy
Включите привязку к ранее созданному pstream-pool pool2
Блок кода language vb theme Eclipse wlc(config-radius-vserver-ssid-profile)# upstream-pool pool2 wlc(config-radius-vserver-ssid-profile)# exit
Включите virtual-server.
Блок кода language vb theme Eclipse wlc(config-radius-vserver)# enable wlc(config-radius-vserver)# exit
- Настройка в разделе WLC.
Перейдите в раздел wlc:Блок кода language vb theme Eclipse wlc(config)# wlc
...
| Раскрыть | |||||||
|---|---|---|---|---|---|---|---|
|
| Якорь | ||||
|---|---|---|---|---|
|
| Scroll Pagebreak |
|---|
Возможные проблемы
Рассмотрим возможные проблемы при авторизации.
...