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

Ключ

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

...

Редактирование /etc/eltex-radius/proxy.conf в этом случае не требуется.


Проксирование

...

авторизации на сторонний RADIUS-сервер при docker инсталяции.

Рассмотрим самый простой случай проксирования запросов авторизации на один сторонний RADIUS-сервер

...

Для этого нужно отредактировать файл /etc.
Чтобы изменения настроек не терялись при обновлении, перенесите нужные переменные из environment/eltex-radius.env(приведенные ниже) в environment-overrides/eltex-radius/local.conf.env. Настройка выполняется следующим образом:

Блок кода
languageapplescript
themeRDark
titleчасть конфигурационного файла /etc/eltex-radius/local.conf
# 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.

После чего необходимо пересобрать контейнер

Блок кода
themeRDark
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следующим образом:

Блок кода
languageapplescript
themeRDark
titleчасть конфигурационного файла /etc/eltex-radius/local.conf
# 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:

Блок кода
languageapplescript
themeRDark
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, значение оставить тем же:

Блок кода
languageapplescript
themeRDark
realm auth_proxy {
		pool = auth_proxy_failover
}

А также, в файле /etc/eltex-radius/servers/default в секцию preacct после preprocess добавить строку proxy_auth:

Блок кода
languagebash
themeRDark
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, значение оставить тем же:

Блок кода
languageapplescript
themeRDark
realm auth_proxy {
		pool = auth_proxy_failover
}

А также, в файле /etc/eltex-radius/servers/default в секцию preacct после preprocess добавить строку proxy_auth:

Блок кода
languagebash
themeRDark
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 для каждого из серверов, на которые осуществляется проксирование:

Блок кода
languageapplescript
themeRDark
# 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.

Блок кода
languageapplescript
themeRDark
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, значение оставить тем же:

Image Added

2)sudo docker cp eltex-radius:/etc/eltex-radius/servers/default /home/tester/ - копируем еще один файл контейнера

в файле /etc/eltex-radius/servers/default в секцию preacct после preprocess добавить строку proxy_auth:


Image Added
3)Файлы складываем в директорию data/eltex-radius/etc/eltex-radius/
и в docker-compose.yml в секции volumes для сервиса eltex-radius добавляем  

Блок кода
themeRDark
- ./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)Даем необходимые права файлам

Блок кода
themeRDark
sudo chmod 664 data/eltex-radius/etc/eltex-radius/proxy.conf
sudo chmod 664 data/eltex-radius/etc/eltex-radius/default

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

Блок кода
themeRDark
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. Настройка выполняется следующим образом:

Блок кода
themeRDark
# 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/ - копируем нужный файл из контейнера, и настраиваем следующим образом

applescript
Блок кода
Блок кода
language
themeRDark
# 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.

Блок кода
languageapplescriptactionscript3
themeRDark
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 добавляем
 

Блок кода
themeRDark
- ./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

Даем необходимые права файлам

Блок кода
themeRDark
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

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

Блок кода
themeRDark
sudo docker compose down eltex-radius
sudo docker compose up -d eltex-radius
Информация
Приведенная конфигурация настраивает проксирвоание в режиме failover, что задается параметром type в секции home_server_pool. Также доступен режим балансировки нагрузки между серверами, о чем подробнее можно узнать по второй ссылке из раздела Источники.


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

...