...
Редактирование /etc/eltex-radius/proxy.conf в этом случае не требуется.
Проксирование
...
авторизации на сторонний RADIUS-сервер при docker инсталяции.
Рассмотрим самый простой случай проксирования запросов авторизации на один сторонний RADIUS-сервер
...
Для этого нужно отредактировать файл /etc.
Чтобы изменения настроек не терялись при обновлении, перенесите нужные переменные из environment/eltex-radius.env(приведенные ниже) в environment-overrides/eltex-radius/local.conf.env. Настройка выполняется следующим образом:
| Блок кода | |||||||
|---|---|---|---|---|---|---|---|
| |||||||
# Proxying RADIUS_PROXY_AUTH=1 RADIUS_PROXY_DOMAIN_REGEX=^(.+\.)?enterprise\.root$ RADIUS_PROXY_HOST=# Proxy SSID (for example to eltex-eap-tls) #139679 proxy_ssid_enabled=1 proxy_ssid_value="SSID_NAME" proxy_ssid_host="10.10.10.11" proxyRADIUS_ssidPROXY_portPORT=181221812 proxyRADIUS_ssidPROXY_secretSECRET="eltex"topsecret |
В такой конфигурации все запросы авторизации на ssid SSID_NAME будут проксироваться на в иерархии доменов enterprise.root будут проксироваться на сервер с адресом 10.10.10.11 на порт 18122 (уникальный порт) 1812, при этом в качестве качестве secret будет будет использована фраза eltex.
| Примечание |
|---|
Аккаунтинг в такой конфигурации будет по прежнему обрабатываться локально, т. е. eltex-radius. |
Редактирование /etc/eltex-radius/proxy.conf в этом случае не требуется.
...
фраза topsecret.
После чего необходимо пересобрать контейнер
| Блок кода | ||
|---|---|---|
| ||
sudo docker compose down eltex-radius
sudo docker compose up -d eltex-radius |
Проксирование одного SSID на сторонний RADIUS-сервер
...
Для проксирования аккаунтинг-запросов также, как и запросов авторизации необходимо внести изменения в файле /etc/этого нужно отредактировать файл /etc/eltex-radius/proxylocal.conf.В секции home_server изменить значение параметра type на auth+acctследующим образом:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
# Proxy SSID (for example to eltex-eap-tls) #139679
proxy_ssid_enabled=1
proxy_ssid_value="SSID_NAME"
proxy_ssid_host="10.10.10.11"
proxy_ssid_port=18122
proxy_ssid_secret="eltex" |
В такой конфигурации все запросы авторизации на ssid SSID_NAME будут проксироваться на сервер с адресом 10.10.10.11 на порт 18122 (уникальный порт) при этом в качестве secret будет использована фраза eltex.
| Примечание |
|---|
Аккаунтинг в такой конфигурации будет по прежнему обрабатываться локально, т. е. eltex-radius. |
Редактирование /etc/eltex-radius/proxy.conf в этом случае не требуется.
Проксирование авторизации и аккаунтинга на сторонний RADIUS-сервер
...
Для проксирования аккаунтинг-запросов также, как и запросов авторизации необходимо внести изменения в файле /etc/eltex-radius/proxy.conf.
В секции home_server изменить значение параметра type на auth+acct:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
home_server auth_proxy {home_server auth_proxy { type = auth+acct ipaddr = "${proxy_host}" port = "${proxy_port}" secret = "${proxy_secret}" response_window = 20 # # Start "zombie_period" after this many responses have # timed out. # # response_timeouts = 1 zombie_periodtype = 40auth+acct revive_intervalipaddr = 120 "${proxy_host}" status_checkport = status-server"${proxy_port}" check_intervalsecret = 30"${proxy_secret}" checkresponse_timeoutwindow = 4 20 # num_answers_to_alive = 3 max_outstanding = 65536 } |
В секции realm auth proxy заменить параметр auth_pool на pool, значение оставить тем же:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
realm auth_proxy {
pool = auth_proxy_failover
} |
А также, в файле /etc/eltex-radius/servers/default в секцию preacct после preprocess добавить строку proxy_auth:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
preacct {
preprocess
proxy_auth
acct_counters64
acct_unique
acct_ciscoavpair
# Parse common cisco-avp ('domain' for example)
common_ciscoavpair
rewrite_called_station_id
if (${pcrf_enabled} == 0) {
fill_ap_domain
fill_ssid_security
}
files
} |
Проксирование авторизации и аккаунтинга на группу сторонних RADIUS-серверов
Этот вариант требует значительной модификации конфигурационных файлов. Будет рассмотрено проксирование на 2 сторонних RADIUS-сервера, но предложенным методом можно масштабировать и далее.
# 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
} |
В секции realm auth proxy заменить параметр auth_pool на pool, значение оставить тем же:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
realm auth_proxy {
pool = auth_proxy_failover
} |
А также, в файле /etc/eltex-radius/servers/default в секцию preacct после preprocess добавить строку proxy_auth:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
preacct {
preprocess
proxy_auth
acct_counters64
acct_unique
acct_ciscoavpair
# Parse common cisco-avp ('domain' for example)
common_ciscoavpair
rewrite_called_station_id
if (${pcrf_enabled} == 0) {
fill_ap_domain
fill_ssid_security
}
files
} |
Проксирование авторизации и аккаунтинга на группу сторонних RADIUS-серверов
...
Этот вариант требует значительной модификации конфигурационных файлов. Будет рассмотрено проксирование на 2 сторонних RADIUS-сервера, но предложенным методом можно масштабировать и далее.
Отредактировать /etc/eltex-radius/local.conf, добавив индивидуальные параметры host, port и secret для каждого из серверов, на которые осуществляется проксирование:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
# Proxying
proxy_auth=1
proxy_domain_regex="^(.+\.)?root$"
proxy1_host="10.10.10.11"
proxy1_port=1812
proxy1_secret="topsecret"
proxy2_host="10.10.10.12"
proxy2_port=1812
proxy2_secret="topsecret" |
Согласно этим настройкам модифицировать /etc/eltex-radius/local.conf. Для каждого сервера должна быть добавлена и описана секция home_server с уникальным именем.
Все home_server должны быть добавлены в пул home_server_pool, который, в свою очередь, должен быть указан в realm auth_proxy. Так как проксировать предполагается и аккаунтинг, и авторизацию - параметр, указывающий на пул, должен называться pool.
| Блок кода | ||||
|---|---|---|---|---|
| ||||
home_server auth_proxy1 {
type = auth+acct
ipaddr = "${proxy1_host}"
port = "${proxy1_port}"
secret = "${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 = "${proxy2_host}"
port = "${proxy2_port}"
secret = "${proxy2_secret}"
response_window = 20
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
}
realm auth_proxy {
pool = auth_proxy_failover
} |
В файле /etc/eltex-radius/servers/default в секцию preacct после preprocess добавить строку proxy_auth, как описано в предыдущем разделе.
| Информация |
|---|
Приведенная конфигурация настраивает проксирвоание в режиме 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-серверов при docker инсталяции.
Этот вариант требует значительной модификации конфигурационных файлов. Будет рассмотрено проксирование на 2 сторонних RADIUS-сервера, но предложенным методом можно масштабировать и далее.
Чтобы изменения настроек не терялись при обновлении, перенесите нужные переменные из environment/eltex-radius.env(приведенные ниже) в environment-overrides/eltex-radius.env. Настройка выполняется следующим образом:
| Блок кода | ||
|---|---|---|
| ||
# Proxying
RADIUS_PROXY_AUTH=1
RADIUS_PROXY_DOMAIN_REGEX=^(.+\.)?root$
RADIUS_PROXY1_HOST=10.10.10.11
RADIUS_PROXY1_PORT=1812
RADIUS_PROXY1_SECRET=topsecret
RADIUS_PROXY2_HOST=10.10.10.12
RADIUS_PROXY2_PORT=1812
RADIUS_PROXY2_SECRET=topsecret |
Для проксирования двух и более доменов на разные RADIUS-сервера необходимо внести изменения в файле контейнера /etc/eltex-radius/local.conf
sudo docker cp eltex-radius:Отредактировать /etc/eltex-radius/local.conf, добавив индивидуальные параметры host, port и secret для каждого из серверов, на которые осуществляется проксирование: /home/tester/ - копируем нужный файл из контейнера, и настраиваем следующим образом
| Блок кода | ||
|---|---|---|
| Блок кода | language | applescript|
| ||
# Proxying proxy_auth=1$ENV{RADIUS_PROXY_AUTH} proxy_domain_regex="^(.+\.)?root$"$ENV{RADIUS_PROXY_DOMAIN_REGEX} proxy1_host="10.10.10.11"$ENV{RADIUS_PROXY_HOST} proxy1_port=1812$ENV{RADIUS_PROXY_PORT} proxy1_secret="topsecret"$ENV{RADIUS_PROXY_SECRET} proxy2_host="10.10.10.12"$ENV{RADIUS_PROXY_HOST} proxy2_port=1812$ENV{RADIUS_PROXY_PORT} proxy2_secret="topsecret"$ENV{RADIUS_PROXY_SECRET} |
Согласно этим настройкам модифицировать /etc/eltex-radius/local.conf. Для каждого сервера должна быть добавлена и описана секция home_server с уникальным именем.
Все home_server должны быть добавлены в пул home_server_pool, который, в свою очередь, должен быть указан в realm auth_proxy. Так как проксировать предполагается и аккаунтинг, и авторизацию - параметр, указывающий на пул, должен называться pool.
| Блок кода | ||||
|---|---|---|---|---|
| ||||
home_server auth_proxy1 {
type = auth+acct
ipaddr = "$$ENV{proxy1RADIUS_PROXY1_hostHOST}"
port = "$$ENV{proxy1RADIUS_PROXY1_portPORT}"
secret = "$$ENV{proxy1RADIUS_PROXY1_secretSECRET}"
response_window = 20
#
# Start #
# Start "zombie_period" after this many responses have
# timed 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 type = auth+acct
ipaddr ipaddr = "$$ENV{proxy2RADIUS_PROXY2_hostHOST}"
port port = "$$ENV{proxy2RADIUS_PROXY2_portPORT}"
secret secret = "${proxy2_secret$ENV{RADIUS_PROXY2_SECRET}"
response response_window = 20
#
# Start "zombie_period" after this many responses have
# timed out.
#
# response_timeouts = zombie1
zombie_period = 40
revive revive_interval = 120
status_check = status-server
check status_check = status-server
check_interval = 30
check check_timeout = 4
num_answers_to_alive = 3
max_outstanding = 65536
}
home_server_pool auth_proxy_failover {
type 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
}
realm auth_proxy {
pool = auth_proxy_failover
} |
В файле /etc/eltex-radius/servers/default в секцию preacct после preprocess добавить строку proxy_auth, как описано в предыдущем разделе.
= fail-over
home_server = auth_proxy1
home_server = auth_proxy2
}
realm auth_proxy {
pool = auth_proxy_failover
} |
В файле /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 |
Даем необходимые права файлам
| Блок кода | ||
|---|---|---|
| ||
sudo 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 | ||
| Информация | ||
| Приведенная конфигурация настраивает проксирвоание в режиме failover, что задается параметром type в секции home_server_pool. Также доступен режим балансировки нагрузки между серверами, о чем подробнее можно узнать по второй ссылке из раздела Источники. |
Проксирование двух и более доменов на разные RADIUS-сервера
...
