Стандартная настройка
Существует возможность запустить eltex-radius в docker-контейнере. Для этого необходимо подготовить файл с переменными окружения .env, eltex-radius.env и docker-compose.yml.
1) Выключить сервис eltex-radius, если он включен с помощью команды service eltex-radius stop
. В случае, если сервис был ранее установлен, необходимо отключить его запуск при перезагрузке сервера командой systemctl disable eltex-radius.service
2) В EMS-Администрирование-Настройка сервера-системные модули убрать галочку с пункта перезапускать Radius (потребуется настроить динамическое изучение клиентов eltex-radius).
3) Предварительно установить docker, docker-compose если он еще не установлен.
4) Создать отдельную папку, в которой будут храниться все конфигурационные файлы докер-контейнера (здесь и далее - eltex-radius):
eltex@eltex:~$ mkdir -p eltex-radius/certs/ eltex@eltex:~$ cd eltex-radius
5) Создать файлы docker-compose.yml, .env и eltex-radius.env со следующим содержанием:
В файле eltex-radius.env необходимо переопределить следующие параметры:
- RADIUS_DB_HOST - адрес хоста с сервисом mysql
- RADIUS_DB_PORT - порт сервиса mysql
- RADIUS_DB_LOGIN - логин сервиса mysql
- RADIUS_DB_PASSWORD - пароль сервиса mysql
- RADIUS_DB_NAME - название БД сервиса mysql
- RADIUS_PCRF_HOST - адрес хоста с сервисом eltex-pcrf
Т.к. Eltex-EMS не выполняет рестарт eltex-radius запущенного в контейнера - необходимо обязательно включить динамическое изучение клиентов, в противном случае запросы ТД, добавленных в таблицу nas после последнего перезапуска радиуса будут отклоняться.
Включить динамическое изучение клиентов:
- RADIUS_DYNAMIC_CLIENTS=true
- RADIUS_DYNAMIC_CLIENT_SUBNET - указать подсеть (можно суммирующую), из которой будут выдаваться адреса клиентам (ТД, ESR), с которых они будут выполнять запросы к eltex-radius
Если не установлены пакет eltex-oui-list, установить его.
Перед запуском необходимо перейти на хост с установленным eltex-radius-nbi и убедиться, что серверный сертификат подписан надежным алгоритмом с помощью команды
openssl x509 -text -noout -in /var/lib/eltex-radius-nbi/certificates/server.crt
Необходимо рассмотреть параметр Signature Algorithm, и в случае, если этот параметр равен md5WithRSAEncryption
, необходимо пересоздать серверный сертификат с помощью следующих команд:
$ sudo dpkg-reconfigure eltex-radius-nbi $ openssl x509 -text -noout -in /var/lib/eltex-radius-nbi/certificates/server.crt Убедиться Signature Algorithm: sha256WithRSAEncryption $ sudo /var/lib/eltex-radius-nbi/setup_er_eap.sh $ sudo service eltex-radius restart
Необходимо скопировать CA certificate, server certificate, server private key с хоста, где установлен пакет eltex-radius-nbi в соответствующие директории для docker-контейнера (здесь - eltex-radius/certs/ca для ca-certificate (wireless-ca.crt), eltex-radius/certs для server.crt и server.key) можно с помощью скрипта update_certificates.sh
Пример вызова: SOFTWLC_HOST=<пользователь хоста с nbi>@<ip адрес хоста с nbi> bash ./update-certificates.sh
В случае однохостовой установки можно запустить скрипт без параметров: ./update-certificates.sh
Необходимо разрешить доступ до БД mysql с любого адреса, закомментировав параметр bind-address и перезапустить сервис mysql
sudo sed -i -e "s/\(bind-address.*=.*\)/#\1/" /etc/mysql/mysql.conf.d/mysqld.cnf sudo systemctl restart mysql.service
Запуск контейнера выполняется командой docker-compose up -d
Необходимо добавить сервер, на котором запущен eltex-radius, в качестве nas-клиента в EMS. В поле Адрес указываем IP адресом хоста, на котором запущен EMS.
Добавить Radius в дерево EMS, указать IP адрес хоста, на котором запущен docker-compose.
Перезагрузить docker-compose командой docker-compose restart
Настройка сервиса для использования проксирования авторизации и аккаунтинга на сторонний Radius-сервер
1) Для настройки проксирования необходимо скопировать некоторые конфигурационные файлы с самого контейнера с помощью следующих команд:
2) Привести настройки docker-compose.yml к следующиему виду, добавив несколько волюмов с конфигурационной информацией. В случае настроки проксирования авторизации+аккаунтинга необходимо раскомментировать порт 1813:
3) Остальная настройка проксирования выполняется согласно инструкции для deb-пакета.
3) Перезагрузить docker-compose командой docker-compose restart
Запуск eltex-radius в отладочном режиме
Для запуска eltex-radius в docker-compose в отладочном режиме необходимо в файле docker-compose.yml добавить блок command:
Запустить eltex-radius командой docker-compose up -d.
Также для отладки возможно использование утилиты eraddebug с помощью следующей команды:
docker-compose exec eltex-radius eraddebug
Подробную информацию можно узнать в v1.30_Снятие radius debug
Используемые переменные
Переменная | Значение по умолчанию |
RADIUS_AUTH_PORT | 1812 |
RADIUS_ACCT_PORT | 1813 |
RADIUS_INNER_TUNNEL_PORT | 18121 |
RADIUS_DB_HOST | localhost |
RADIUS_DB_PORT | 3306 |
RADIUS_DB_LOGIN | radius |
RADIUS_DB_PASSWORD | radpass |
RADIUS_DB_NAME | radius |
RADIUS_PCRF_HOST | 127.0.0.1 |
RADIUS_PCRF_PORT | 7080 |
RADIUS_PCRF_ENABLED | 1 |
RADIUS_CA_CERT_NAME | default.pem |
RADIUS_TLS_KEY_PASSWORD | eltex |
RADIUS_PROXY_AUTH | 0 |
RADIUS_PROXY_DOMAIN_REGEX | ^(.+\.)?enterprise\.root$ |
RADIUS_PROXY_HOST | 127.0.0.1 |
RADIUS_PROXY_PORT | 18121 |
RADIUS_PROXY_SECRET | eltex |
RADIUS_UBI_VENDOR_REGEX | Apple|Ubiquiti |
RADIUS_VENDOR_GROUP_ENABLED | 1 |
RADIUS_DYNAMIC_CLIENTS | false |
RADIUS_DYNAMIC_CLIENT_SUBNET | 192.168.0.0/16 |
RADIUS_DYNAMIC_CLIENT_LIFETIME | 3600 |
RADIUS_DYNAMIC_CLIENT_RATE_LIMIT | false |
RADIUS_PROXY_SSID_ENABLED | 0 |
RADIUS_PROXY_SSID_VALUE | EAP_TLS |
RADIUS_PROXY_SSID_HOST | 127.0.0.1 |
RADIUS_PROXY_SSID_PORT | 18122 |
RADIUS_PROXY_SSID_SECRET | eltex |
RADIUS_STATUS_HOST | 127.0.0.1 |
RADIUS_STATUS_PORT | 18123 |
RADIUS_STATUS_CLIENT_HOST | 127.0.0.1 |
RADIUS_STATUS_CLIENT_SECRET | eltex |
TZ | Asia/Novosibirsk |