Оглавление |
---|
Описание
Сервис используется для обеспечения механизмов ААА при обслуживании пользователей Wi-Fi, подключаемых с использованием механизма безопасности WPA-enterprise (EAP) (точки доступа при подключении клиента производят его авторизацию и аутентификацию по протоколу RADIUS с данными серверами, серверы, в свою очередь, производят запрос клиентских данных из базы данных на серверах DB), а также выполняет вспомогательные функции при авторизации пользователей через ESR/BRAS.
Управление сервисом
Установка сервиса
Блок кода | ||||
---|---|---|---|---|
| ||||
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
);
/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" |
- Настройка прослушиваемых портов:
Без форматирования |
---|
auth_port=1812 acct_port=1813 inner_tunnel_port=18121 |
- Настройка подключения к базе данных radius:
Без форматирования |
---|
# MySQL database db_host="localhost" db_port=3306 db_login="radius" db_password="radpass" db_name="radius" |
- Подключение к сервису PCRF:
Без форматирования |
---|
# PCRF pcrf_host="127.0.0.1" pcrf_port=7080 pcrf_enabled=1 |
- Название CA-сертификата, используемого для авторизации по TLS и ключ для серверного сертификата. Эти параметры будут изменены автоматически при выполнении скрипта установки сертификата, который находится в пакете eltex-radius-nbi.
Без форматирования |
---|
# EAP ca_cert_name="local.pem" tls_key_password="1234 |
- Настройка проксирования запросов на сторонний RADIUS сервер:
Без форматирования |
---|
proxy_auth=0 proxy_domain_regex="^(.+\.)?enterprise\.root$" proxy_host="127.0.0.1" proxy_port=18121 proxy_secret="eltex" |
- Активация специальных алгоритмов обработки запросов на авторизацию для устройств некоторых производителей.
Без форматирования |
---|
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 |
- Проксирование по SSID:
Без форматирования |
---|
# 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" |
Таблица NAS
Данная таблица находится в БД radius и содержит адреса клиентов (точек доступа), имеющих право отправлять запросы на проведение авторизации пользователей.
Если клиент не включен в эту таблицу, то запросы авторизации будут игнорироваться. После обновления состава этой таблице необходим ручной перезапуск eltex-radius.
Блок кода | ||||
---|---|---|---|---|
| ||||
service eltex-radius restart |
При изменении состава дерева объектов в EMS (добавлении/удалении точек доступа) происходит автоматическое обновление таблицы и перезапуск eltex-radius.
Логирование
Настройки логирования сервера содержатся в секции 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 и файла /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
Так как сервису rsyslog необходимо обновлять конфигурацию после каждого выполнения logrotate, то для этого в системе должен существовать специальный скрипт rsyslog-rotate для правильного рестарта сервиса. Поэтому необходимо убедиться, что в директории /usr/lib/rsyslog/ находится файл с именем rsyslog-rotate и содержимым:
Блок кода title /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
В файле /etc/logrotate.d/eltex-radius раскомментировать следующие строки:
Блок кода title /etc/logrotate.d/eltex-radius #sharedscripts #postrotate # /usr/lib/rsyslog/rsyslog-rotate #endscript
Перезапустить сервис 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 нужно создать файл конфигурации, пример приведен ниже:
Блок кода | ||||
---|---|---|---|---|
| ||||
/var/log/eltex-radius/radius.log { daily rotate 31 create 640 eltxrad eltxrad compress delaycompress notifempty missingok postrotate invoke-rc.d eltex-radius reload >/dev/null 2>&1 || true endscript } |
В данному случае,
daily
- выполнять ротацию ежедневноrotate 31
- сохранять файлы за последний 31 деньcreate 640 eltxrad eltxrad
- создавать новый файл с правами доступа 640, установить владельцем пользователя eltxrad, группу владельца eltxrad, под этой учетной записью работает серверpostrotate
- reload сервера, чтобы начать запись в созданный файл