С версии SoftWLC 1.27 включено динамическое изучение записей NAS для RADIUS-запросов клиентов. Наличие записи NAS проверяется для запросов клиентов с любых адресов. |
Сервис используется для обеспечения механизмов ААА при обслуживании пользователей Wi-Fi, подключаемых с использованием механизма безопасности WPA-enterprise (EAP).
Точки доступа при подключении клиента производят его авторизацию и аутентификацию по протоколу RADIUS с данными серверами, серверы, в свою очередь, производят запрос клиентских данных из базы данных на серверах DB, а также выполняет вспомогательные функции при авторизации пользователей через ESR/BRAS.
В штатном режиме использования в составе SoftWLC RADIUS тесно интегрирован с PCRF и выполняет в этой связке следующие функции.
RADIUS уведомляет PCRF обо всех результатах аутентификации пользователей, чтобы PCRF мог корректно отобразить состояние сессии клиента и в дальнейшем обрабатывать аккаунтинг.
При аутентификации пользователей RADIUS перекладывает часть проверок на PCRF.
Среди них:
apt-get install eltex-radius-db apt-get install eltex-radius |
| Действие | Команда | Ответ | ||
|---|---|---|---|---|
| Проверка состояния | service eltex-radius status | Сервис запущен
Сервис не запущен
| ||
| Остановка сервиса | service eltex-radius stop | Сервис успешно остановлен
| ||
| Запуск сервиса | service eltex-radius start | Сервис успешно запущен
| ||
| Перезапуск сервиса | service eltex-radius restart | Сервис успешно перезапущен
| ||
| Запуск в отладочном режиме | 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);Содержит основные настройки сервиса.
# Ports on which the server will listen auth_port=1812 #acct_port=1813 inner_tunnel_port=18121 # MariaDB 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-PCRF | 1813 |
| inner_tunnel_port | Служебный порт для работы enterprise-авторизации, не рекомендуется изменять | 18121 |
Настройка подключения к БД MariaDB radius | ||
| db_host | IP-адрес подключения к БД | localhost |
| db_port | Порт подключения к БД | 3306 |
| db_login | Логин подключения к БД | radius |
| db_password | Пароль подключения к БД | radpass |
| db_name | Имя используемой БД | radius |
Подключение к сервису PCRF | ||
| pcrf_host | IP-адрес подключения к сервису | 127.0.0.1 |
| pcrf_port | Порт подключения к сервису | 7080 |
| pcrf_enabled | Включить/отключить подключение к сервису PCRF. Если PCRF не используется - надо включить настройку acct_port | 1 |
Имя CA-сертификата, используемого для авторизации по TLS и ключ для серверного сертификата | Эти параметры будут изменены автоматически при выполнении скрипта установки сертификата, который находится в пакете eltex-radius-nbi | |
| ca_cert_name | Имя сертификата | default.pem |
| tls_key_password | Пароль от закрытого ключа сертификата | eltex |
Настройка проксирования запросов на сторонний RADIUS сервер по домену | ||
| proxy_auth | Включить/отключить проксирование (по умолчанию отключено) | 0 |
| proxy_domain_regex | Регулярное выражение, в котором определяется домен для запросов которого будет выполняться проксирование | ^(.+\.)?enterprise\.root$ |
| proxy_host | IP-адрес, на который будет выполняться проксирование | 127.0.0.1 |
| proxy_port | Порт, на который будет выполняться проксирование | 18121 |
| proxy_secret | Secret, используемый для отправки проксируемого трафика | eltex |
Активация специальных алгоритмов обработки запросов на авторизацию для устройств некоторых производителей | ||
| ubi_vendor_regex | Название вендора | Apple|Ubiquiti |
| vendor_group_enabled | включение/отключение специальных алгоритмов обработки | 1 |
Настройка динамических клиентов для авторизации | Позволяет получать информацию о новых клиентах из таблицы "nas" без рестарта "eltex-radius" | |
| dynamic_clients | Включение/отключение динамического изучения клиентов в таблице nas | true |
| dynamic_client_subnet | Подсеть, для клиентов которой будет выполнятся динамический поиск клиентов в таблице nas | 0.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_host | IP-адрес, на который будет выполняться проксирование | 127.0.0.1 |
| proxy_ssid_port | Порт, на который будет выполняться проксирование | 18122 |
| proxy_ssid_secret | Secret, используемый для отправки проксируемого трафика | eltex |
| Получение статуса сервера | ||
| status_host | IP-адрес, на которой ожидаются запросы о статусе radius-сервера | 127.0.0.1 |
| status_port | Порт, на который ожидаются запросы о статусе radius-сервера | 18123 |
| status_client_host | IP-адрес, с которого ожидаются запросы о статусе radius-сервера | 127.0.0.1 |
| status_client_secret | Secret, используемый для запросов о статусе радиус-сервера | eltex |
Данная таблица находится в БД radius и содержит адреса клиентов (точек доступа), имеющих право отправлять запросы на проведение авторизации пользователей.
Если клиент не включен в эту таблицу, то запросы авторизации будут игнорироваться. После обновления состава этой таблице необходим ручной перезапуск eltex-radius.
service eltex-radius restart |
При изменении состава дерева объектов в EMS (добавлении/удалении точек доступа) происходит автоматическое обновление таблицы и перезапуск eltex-radius.
Возможна настройка "eltex-radius", которая позволяет динамически проверять информацию в таблице nas о неизвестных клиентах без перезапуска. За это отвечает группа настроек "Настройка динамических клиентов для авторизации", по умолчанию функционал отключен. Для включения функционала необходимо настроить:
Выполнить перезапуск:
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 для ubuntu:
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. Если этого не происходит, то следует обновить SoftWLC с помощью последнего скрипта-установщика или выполнить следующие действия:
Установить владельца директории /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 |
$ sudo chown root:adm /var/log/eltex-radius $ sudo chown root:adm /var/log/eltex-radius/radius.log |
Ротация логов осуществляется с помощью утилиты logrotate. Настройки ротации логов в файле /etc/logrotate.d/eltex-radius приведены ниже для разных ОС
Перезапустить сервисы eltex-radius и rsyslog:
sudo systemctl restart eltex-radius sudo systemctl restart rsyslog |
Настройки для перенаправления находятся в файле /etc/rsyslog.d/eltex-radius.conf.
Нужно раскомментировать в /etc/syslog-ng/conf.d/eltex-radius.conf
# GELF appender: port=12201 template (create JSON)
destination d_gelf1_upd {
network(
"SERVER-IP"
port(12201)
transport(udp)
# GELF template (create JSON)
template("$(format-json
version=\"1.1\"
host=$FULLHOST
message=$MESSAGE
timestamp=$ISODATE
level=int64($LEVEL_NUM)
_facility=\"eltex-radius\")\n")
);
};
log {
source(s_src);
filter(f_radiusd);
destination(d_gelf1_upd);
}; |
| SERVER-IP поменять на свой, port 12201 как и в других eltex сервисах |
Для ротации логов при помощи logrotate нужно создать файл конфигурации, пример приведен ниже:
/var/log/eltex-radius/radius.log {
maxsize 10M
daily
missingok
rotate 10
compress
dateext
notifempty
create
sharedscripts
postrotate
invoke-rc.d syslog-ng reload > /dev/null 2>&1 || true
endscript
} |
В данному случае,
maxsize 10M - максимальный размер одного файла - 10 Мб, при его превышении происходит ротацияdaily - выполнять ротацию ежедневноrotate 10 - сохранять файлы за последние 10 днейcompress - производить сжатие файловcreate - создавать новый файлpostrotate - reload сервера, чтобы начать запись в созданный файлНастройки для перенаправления находятся в файле /etc/rsyslog.d/eltex-radius.conf.
Нужно раскомментировать в /etc/syslog-ng/conf.d/eltex-radius.conf
# GELF appender: port=12201
if ( $programname == "radiusd" and $syslogfacility-text == "local1") then {
action(type="omfwd" target="SERVER-IP" port="12201" protocol="udp" template="gelf1")
} |
| SERVER-IP поменять на свой, port 12201 как и в других eltex сервисах |
Для ротации логов при помощи logrotate нужно создать файл конфигурации, пример приведен ниже:
/var/log/eltex-radius/radius.log {
maxsize 10M
daily
missingok
rotate 10
compress
dateext
notifempty
create
sharedscripts
postrotate
/usr/lib/rsyslog/rsyslog-rotate || true
endscript
} |
В данному случае,
maxsize 10M - максимальный размер одного файла - 10 Мб, при его превышении происходит ротацияdaily - выполнять ротацию ежедневноrotate 10 - сохранять файлы за последние 10 днейcompress - производить сжатие файловcreate - создавать новый файлpostrotate - reload сервера, чтобы начать запись в созданный файл