...
| Информация |
|---|
Приведенная конфигурация настраивает проксирвоание в режиме failover, что задается параметром type в секции home_server_pool. Также доступен режим балансировки нагрузки между серверами, о чем подробнее можно узнать по второй ссылке из раздела Источники. |
Проксирование авторизации и аккаунтинга на сторонний RADIUS-сервер при docker инсталяции.
Для проксирования аккаунтинг-запросов также, как и запросов авторизации необходимо внести изменения в файле контейнера /etc/eltex-radius/proxy.conf.
1)sudo docker cp eltex-radius:/etc/eltex-radius/proxy.conf /home/tester/ - копируем нужный файл из контейнера
В секции home_server изменить значение параметра type на auth+acct:
В секции realm auth proxy заменить параметр auth_pool на pool, значение оставить тем же:
2)sudo docker cp eltex-radius:/etc/eltex-radius/servers/default /home/tester/ - копируем еще один файл контейнера
в файле /etc/eltex-radius/servers/default в секцию preacct после preprocess добавить строку proxy_auth:
3)Файлы складываем в директорию data/eltex-radius/etc/eltex-radius/
и в docker-compose.yml в секции volumes для сервиса eltex-radius добавляем
| Блок кода |
|---|
- ./data/eltex-radius/etc/eltex-radius/proxy.conf:/etc/eltex-radius/proxy.conf:ro
- ./data/eltex-radius/etc/eltex-radius/default:/etc/eltex-radius/servers/default:ro |
4)Даем необходимые права файлам
| Блок кода |
|---|
sudo chmod 664 data/eltex-radius/etc/eltex-radius/proxy.conf
sudo chmod 664 data/eltex-radius/etc/eltex-radius/default |
5)Пересоздаем контейнер
| Блок кода |
|---|
sudo docker compose down eltex-radius
sudo docker compose up -d eltex-radius |
Проксирование авторизации и аккаунтинга на группу сторонних RADIUS-серверов
Этот вариант требует значительной модификации конфигурационных файлов. Будет рассмотрено проксирование на 2 сторонних RADIUS-сервера, но предложенным методом можно масштабировать и далее.
Чтобы изменения настроек не терялись при обновлении, перенесите нужные переменные из environment/eltex-radius.env(приведенные ниже) в environment-overrides/eltex-radius.env. Настройка выполняется следующим образом:
| Блок кода |
|---|
# Proxying
RADIUS_PROXY_AUTH=1
RADIUS_PROXY_DOMAIN_REGEX=^(.+\.)?root$
RADIUS_PROXY1_HOST=100.110.3.88
RADIUS_PROXY1_PORT=1812
RADIUS_PROXY1_SECRET=eltex
RADIUS_PROXY2_HOST=100.110.2.235
RADIUS_PROXY2_PORT=1812
RADIUS_PROXY2_SECRET=eltex |
Для проксирования двух и более доменов на разные RADIUS-сервера необходимо внести изменения в файле контейнера /etc/eltex-radius/local.conf
sudo docker cp eltex-radius:/etc/eltex-radius/local.conf /home/tester/ - копируем нужный файл из контейнера, и настраиваем следующим образом
| Блок кода |
|---|
# Proxying
proxy_auth=$ENV{RADIUS_PROXY_AUTH}
proxy_domain_regex=$ENV{RADIUS_PROXY_DOMAIN_REGEX}
proxy1_host=$ENV{RADIUS_PROXY_HOST}
proxy1_port=$ENV{RADIUS_PROXY_PORT}
proxy1_secret=$ENV{RADIUS_PROXY_SECRET}
proxy2_host=$ENV{RADIUS_PROXY_HOST}
proxy2_port=$ENV{RADIUS_PROXY_PORT}
proxy2_secret=$ENV{RADIUS_PROXY_SECRET} |
Для каждого сервера должна быть добавлена и описана секция home_server с уникальным именем.
Все home_server должны быть добавлены в пул home_server_pool, который, в свою очередь, должен быть указан в realm auth_proxy. Так как проксировать предполагается и аккаунтинг, и авторизацию - параметр, указывающий на пул, должен называться pool.
| Блок кода |
|---|
home_server auth_proxy1 {
type = auth+acct
ipaddr = "$ENV{RADIUS_PROXY1_HOST}"
port = "$ENV{RADIUS_PROXY1_PORT}"
secret = "$ENV{RADIUS_PROXY1_SECRET}"
response_window = 20
#
# Start "zombie_period" after this many responses have
# timed out.
#
# response_timeouts = 1
zombie_period = 40
revive_interval = 120
status_check = status-server
check_interval = 30
check_timeout = 4
num_answers_to_alive = 3
max_outstanding = 65536
}
home_server auth_proxy2 {
type = auth+acct
ipaddr = "$ENV{RADIUS_PROXY2_HOST}"
port = "$ENV{RADIUS_PROXY2_PORT}"
secret = "$ENV{RADIUS_PROXY2_SECRET}"
response_window = 20
#
# Start "zombie_period" after this many responses have
# timed out.
#
# response_timeouts = 1
zombie_period = 40
revive_interval = 120
status_check = status-server
check_interval = 30
check_timeout = 4
num_answers_to_alive = 3
max_outstanding = 65536
}
home_server_pool auth_proxy_failover {
type = fail-over
home_server = auth_proxy1
home_server = auth_proxy2
} |
В файле /etc/eltex-radius/servers/default в секцию preacct после preprocess добавить строку proxy_auth, как описано в предыдущем разделе.
Файлы складываем в директорию data/eltex-radius/etc/eltex-radius/
и в docker-compose.yml в секции volumes для сервиса eltex-radius добавляем
| Блок кода |
|---|
- ./data/eltex-radius/etc/eltex-radius/proxy.conf:/etc/eltex-radius/proxy.conf:ro
- ./data/eltex-radius/etc/eltex-radius/default:/etc/eltex-radius/servers/default:ro
- ./data/eltex-radius/etc/eltex-radius/local.conf:/etc/eltex-radius/local.conf:ro |
Даем необходимые права файлам
s
| Блок кода |
|---|
udo chmod 664 data/eltex-radius/etc/eltex-radius/proxy.conf
sudo chmod 664 data/eltex-radius/etc/eltex-radius/default
sudo chmod 664 data/eltex-radius/etc/eltex-radius/local.conf |
Пересоздаем контейнер
| Блок кода | ||
|---|---|---|
| ||
sudo docker compose down eltex-radius
sudo docker compose up -d eltex-radius |
Проксирование двух и более доменов на разные RADIUS-сервера
...