Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Информация

Приведенная конфигурация настраивает проксирвоание в режиме 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



Пересоздаем контейнер

Блок кода
themeRDark
sudo docker compose down eltex-radius
sudo docker compose up -d eltex-radius


Проксирование двух и более доменов на разные RADIUS-сервера

...