Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Описание


С версии SoftWLC 1.27 включено динамическое изучение записей NAS для RADIUS-запросов клиентов. Наличие записи NAS проверяется для запросов клиентов с любых адресов.


Сервис используется для обеспечения механизмов ААА  при обслуживании пользователей Wi-Fi, подключаемых с использованием механизма безопасности WPA-enterprise (EAP).

Точки доступа при подключении клиента производят его авторизацию и аутентификацию по протоколу RADIUS с данными серверами, серверы, в свою очередь, производят запрос клиентских данных из базы данных на серверах DB, а также выполняет вспомогательные функции при авторизации пользователей через ESR/BRAS.

В штатном режиме использования в составе SoftWLC RADIUS тесно интегрирован с PCRF и выполняет в этой связке следующие функции.

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

При аутентификации пользователей RADIUS перекладывает часть проверок на PCRF.

Среди них:

  • проверка статуса SSID;
  • проверка числа одновременных подключений (если используется атрибут Simultaneous-Use)

Управление сервисом


Установка сервиса

apt-get install eltex-radius-db

apt-get install eltex-radius

Способ запуска/остановки

ДействиеКомандаОтвет
Проверка состоянияservice eltex-radius status

Сервис запущен

Active: active (running)

Сервис не запущен

Active: inactive (dead)

Остановка сервисаservice eltex-radius stop

Сервис успешно остановлен

Active: inactive (dead)

Запуск сервисаservice eltex-radius start

Сервис успешно запущен

Active: active (running)

Перезапуск сервисаservice eltex-radius restart

Сервис успешно перезапущен

Active: active (running)

Запуск в отладочном режимеeltex-radius -X

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


Конфигурация находится в /etc/eltex-radius. Из всех файлов проводить действия рекомендуется только со следующими:

  • local.conf - все основные параметры, которые может понадобиться редактировать;
  • certs/server.crt - сертификат сервера, используемый в EAP-TLS;
  • certs/server.key - приватный ключ сервера, используемый в EAP-TLS;
  • certs/ca/*.pem - сертификаты корневых CA (при настройке EAP-TLS сертификат CA рекомендуется назвать local.pem и прописать в local.conf);

/etc/eltex-radius/local.conf

Содержит основные настройки сервиса.

/etc/eltex-radius/local.conf
# Ports on which the server will listen
auth_port=1812
#acct_port=1813
inner_tunnel_port=18121

# MySQL database
db_host="localhost"
db_port=3306
db_login="radius"
db_password="radpass"
db_name="radius"

# PCRF
# If you setting pcrf_enabled=0, then you also should enable accounting port listening in "default" server
pcrf_host="127.0.0.1"
pcrf_port=7080
pcrf_enabled=1

# EAP
ca_cert_name="local.pem"
tls_key_password="1234"

# Proxying
proxy_auth=0
proxy_domain_regex="^(.+\.)?enterprise\.root$"
proxy_host="127.0.0.1"
proxy_port=18121
proxy_secret="eltex"

# Ubiquity vendor detection
ubi_vendor_regex="Apple|Ubiquiti"
vendor_group_enabled=1

# Settings of runtime NAS discovery
dynamic_clients=false
dynamic_client_subnet=192.168.0.0/16
dynamic_client_lifetime=3600
dynamic_client_rate_limit=false

# Proxy SSID (for example to eltex-eap-tls) #139679
proxy_ssid_enabled=0
proxy_ssid_value="EAP_TLS"
proxy_ssid_host="127.0.0.1"
proxy_ssid_port=18122
proxy_ssid_secret="eltex"

# Status-Server settings
status_host="127.0.0.1"
status_port=18123
status_client_host="127.0.0.1"
status_client_secret="eltex"
ПараметрыОписаниеЗначение по умолчанию
Настройка прослушиваемых портов

auth_portПорт прослушивания входящих RADIUS-запросов1812
#acct_portПорт прослушивания входящих ACCT-запросов, по умолчанию отключен, на данном порту обработку ACCT выполняет сервис Eltex-PCRF1813
inner_tunnel_portСлужебный порт для работы enterprise-авторизации, не рекомендуется изменять18121

Настройка подключения к БД  Mysql radius



db_hostIP-адрес подключения к БДlocalhost
db_portПорт подключения к БД3306
db_loginЛогин подключения к БДradius
db_passwordПароль подключения к БДradpass
db_nameИмя используемой БДradius

Подключение к сервису PCRF



pcrf_hostIP-адрес подключения к сервису127.0.0.1
pcrf_portПорт подключения к сервису7080
pcrf_enabledВключить/отключить подключение к сервису PCRF. Если PCRF не используется - надо включить  настройку acct_port1

Имя CA-сертификата, используемого для авторизации

по TLS и ключ для серверного сертификата

Эти параметры будут изменены автоматически при выполнении скрипта установки сертификата, который находится в пакете eltex-radius-nbi


ca_cert_nameИмя сертификатаdefault.pem
tls_key_passwordПароль от закрытого ключа сертификатаeltex

Настройка проксирования запросов на сторонний RADIUS сервер

по домену



proxy_authВключить/отключить проксирование (по умолчанию отключено)0
proxy_domain_regexРегулярное выражение, в котором определяется домен для запросов которого будет выполняться проксирование^(.+\.)?enterprise\.root$
proxy_hostIP-адрес, на который будет выполняться проксирование127.0.0.1
proxy_portПорт, на который будет выполняться проксирование18121
proxy_secretSecret, используемый для отправки проксируемого трафикаeltex

Активация специальных алгоритмов обработки запросов

на авторизацию для устройств некоторых производителей



ubi_vendor_regexНазвание вендораApple|Ubiquiti
vendor_group_enabledвключение/отключение специальных алгоритмов обработки1

Настройка динамических клиентов для авторизации

Позволяет получать информацию о новых клиентах из таблицы "nas" без рестарта "eltex-radius"
dynamic_clientsВключение/отключение динамического изучения клиентов в таблице nastrue
dynamic_client_subnetПодсеть, для клиентов которой будет выполнятся  динамический поиск клиентов в таблице nas0.0.0.0/0
dynamic_client_lifetimeВремя жизни информации о клиенте в кэше (сек)3600
dynamic_client_rate_limitОграничение числа запросов от клиентовfalse

Настройка проксирования запросов на сторонний RADIUS сервер

по SSID



proxy_ssid_enabledВключить/отключить проксирование0
proxy_ssid_valueИмя SSID, для которого будет выполняться проксированиеEAP_TLS
proxy_ssid_hostIP-адрес, на который будет выполняться проксирование127.0.0.1
proxy_ssid_portПорт, на который будет выполняться проксирование18122
proxy_ssid_secretSecret, используемый для отправки проксируемого трафикаeltex
Получение статуса сервера

status_hostIP-адрес, на которой ожидаются запросы о статусе radius-сервера127.0.0.1
status_portПорт, на который ожидаются запросы о статусе radius-сервера18123
status_client_hostIP-адрес, с которого ожидаются запросы о статусе radius-сервера127.0.0.1
status_client_secretSecret, используемый для запросов о статусе радиус-сервераeltex


Таблица NAS


Данная таблица находится в БД radius и содержит адреса клиентов (точек доступа), имеющих право отправлять запросы на проведение авторизации пользователей.

Если клиент не включен в эту таблицу, то запросы авторизации будут игнорироваться. После обновления состава этой таблице необходим ручной перезапуск eltex-radius.

service eltex-radius restart

При изменении состава дерева объектов в EMS (добавлении/удалении точек доступа) происходит автоматическое обновление таблицы и перезапуск eltex-radius.

Настройка eltex-radius в режиме динамического изучения клиентов без перезапуска

Возможна настройка "eltex-radius", которая позволяет динамически проверять информацию в таблице nas о неизвестных клиентах без перезапуска. За это отвечает группа настроек "Настройка динамических клиентов для авторизации", по умолчанию функционал отключен. Для включения функционала необходимо настроить:

  • Включить режим динамического изучения клиентов: dynamic_clients=true
  • Указать подсеть IP-адресов, для которых будет выполнятся динамическое изучение (можно указать только одну подсеть): dynamic_client_subnet=192.168.0.0/16

Выполнить перезапуск:

sudo systemctl restart eltex-radius

Открыть Eltex-EMS, открыть меню "Администрирование" - "Настройка сервера" - "Системные модули" - "radius"  и отключить галочку в настройке "Перезапускать Radius". После этого перестанет выполняться перезапуск сервиса "eltex-radius" при добавлении новых ТД.

При работе в указанном режиме "eltex-radius" при получении запроса от клиента (ТД), выполнит проверку наличия информации о данной ТД в памяти. Если информация не найдена - будет выполнена проверка соответствия IP-адрес клиента подсети, указанной в настройке dynamic_client_subnet. Если IP-адрес клиента попадает в указанную подсеть - будет выполнен запрос в БД к таблице nas и если там будет найден IP-адрес клиента - приступит к обработке его запроса. Полученная информация о клиенте попадет в кэш и при повторных обращениях клиента повторных обращений к БД не будет. Время хранения информации о клиенте в кэше определяется настройкой dynamic_client_lifetime.


Логирование


Настройки логирования сервера содержатся в секции log файла /etc/eltex-radius/radiusd.conf. По умолчанию секция выглядит так:

log {
  destination = syslog
  syslog_facility = local1
  colourise = yes
  stripped_names = no
  auth = yes
  auth_badpass = yes
  auth_goodpass = yes
  msg_denied = "You are already logged in - access denied"
}

Перенаправление логов в файл /var/log/eltex-radius/radius.log

Логи сервиса по умолчанию перенаправляются в файл /var/log/eltex-radius/radius.log. Если этого не происходит, то следует обновить SoftWLC с помощью последнего скрипта-установщика или выполнить следующие действия:

  1. Установить владельца директории /var/log/eltex-radius и файла /var/log/eltex-radius/radius.log в значение, соответствующее syslog пользователю и его группе в операционной системе. Например, для ubuntu:

    $ sudo chown syslog:adm /var/log/eltex-radius
    $ sudo chown syslog:adm /var/log/eltex-radius/radius.log
  2. Так как сервису rsyslog необходимо обновлять конфигурацию после каждого выполнения logrotate, то для этого в системе должен существовать специальный скрипт rsyslog-rotate для правильного рестарта сервиса. Поэтому необходимо убедиться, что в директории /usr/lib/rsyslog/ находится файл с именем rsyslog-rotate и содержимым:

    /usr/lib/rsyslog/rsyslog-rotate
    #!/bin/sh
    
    if [ -d /run/systemd/system ]; then
        systemctl kill -s HUP rsyslog.service
    else
        invoke-rc.d rsyslog rotate > /dev/null
    fi

    Если файла не существует, то создать его с этим содержимым и установить следующие разрешения:

    $ sudo сhmod 755 /usr/lib/rsyslog/rsyslog-rotate
    $ sudo chmod +x /usr/lib/rsyslog/rsyslog-rotate
  3. В файле /etc/logrotate.d/eltex-radius раскомментировать следующие строки:

    /etc/logrotate.d/eltex-radius
    #sharedscripts
            #postrotate
            #        /usr/lib/rsyslog/rsyslog-rotate
            #endscript
  4. Перезапустить сервис rsyslog:

    $ sudo systemctl restart rsyslog.service

Перенаправление логов в Graylog

Настройки для перенаправления находятся в файле /etc/rsyslog.d/eltex-radius.conf

# GELF appender: port=12203
if ( $programname == "radiusd" and $syslogfacility-text == "local1") then {
    action(type="omfwd" target="lab3-test.eltex.loc" port="12203" protocol="udp" template="gelf1")
}

Ротация логов

Для ротации логов при помощи logrotate нужно создать файл конфигурации, пример приведен ниже:

/etc/logrotate.d/eltex-radius
/var/log/eltex-radius/radius.log {
        maxsize 10M
        daily
        missingok
        rotate 10
        compress
        dateext
        notifempty
        create
        sharedscripts
        postrotate
                /usr/lib/rsyslog/rsyslog-rotate
        endscript
}

В данному случае,

  • maxsize 10M - максимальный размер одного файла - 10 Мб, при его превышении происходит ротация
  • daily - выполнять ротацию ежедневно
  • rotate 10 - сохранять файлы за последние 10 дней
  • compress - производить сжатие файлов
  • create - создавать новый файл
  • postrotate - reload сервера, чтобы начать запись в созданный файл


  • Нет меток