Данное руководство предназначено для настройки FreeRADIUS, установленного не из репозитория компании Латера.

В данном руководстве предполагается, что агент HARD установлен в директорию /opt/hydra/hard, а конфигурационные файлы FreeRADIUS находятся в каталоге /etc/freeradius. В зависимости от способа установки FreeRADIUS, его конфигурационные файлы могут находиться в других каталогах: в директории /etc/raddb или в /usr/local/etc/raddb.

Включение логирования

Необходимо отредактировать секцию log конфигурационного файла /etc/freeradius/radiusd.conf, установив следующие параметры:

log {
...
	auth = yes
...
	auth_badpass = yes
...
	auth_goodpass = yes
...
}

Для корректной работы FreeRADIUS-сервера с АСР необходимо подключить дополнительный словарь. Подключение нового словаря осуществляется путем редактирования файла /etc/freeradius/dictionary. Сами словари, как правило, находятся в папке /usr/share/freeradius. Поместите файл словаря dictionary.hydra в эту папку и добавьте в файл /etc/freeradius/dictionary строку:

$INCLUDE	/usr/share/freeradius/dictionary.hydra

Также необходимо дополнить инициализационный скрипт FreeRADIUS — /etc/init.d/freeradius.

export LC_ALL=en_US.UTF-8 

Данный код необходимо дописать в районе 42 строки, перед вызовом start-stop-daemon.

Настройка модуля perl

Необходимо скопировать файл модуля hard.pm в директорию с конфигурацией FreeRADIUS:

user@server:~$ sudo cp /opt/hydra/hard/opt/freeradius/hard.pm /etc/freeradius/hard.pm

В файле /etc/freeradius/modules/perl следует изменить значение параметра module, указав в нём путь к файлу модуля:

perl {
...
	module = ${confdir}/hard.pm			
...
} 

В файл /etc/freeradius/sites-available/default нужно внести следующие изменения:

В файл /etc/freeradius/sites-available/inner-tunnel, в секцию authenticate нужно добавить вызов модуля perl:

authenticate {
...
	Auth-Type Perl {
		# HARD
		perl
	}
...
}

В начало файла /etc/freeradius/users нужно добавить следующее:

# HARD
DEFAULT Auth-Type = Perl
	Fall-Through = 1

В конец файла /etc/freeradius/clients.conf необходимо добавить IP-адреса и RADIUS-secret серверов доступа, которые будут клиентами данного RADIUS-сервера:

client 10.10.10.1 {
	secret = secretkey_here
}

Настройка параметров подключения к агенту HARD

Параметры подключения к агенту HARD необходимо указать в файле /etc/freeradius/hard.pm следующим образом:

...
# Параметры для связи с HARD
use constant HARD_API_URL       => "http://<hard_ip_addr>:<hard_port>/<plugin_name>/<plugin_object>";
use constant HARD_AUTH_USER     => "<hard_login>";
use constant HARD_AUTH_PASSWORD => "<hard_password>";
...

Пример:

...
# Параметры для связи с HARD
use constant HARD_API_URL       => "http://127.0.0.1:11080/base/main"; # API URL
use constant HARD_AUTH_USER     => "hydra";                            # Логин
use constant HARD_AUTH_PASSWORD => "q123";                             # Пароль
...

Настройка RADIUS-службы

В файле /etc/freeradius/hard.pm также необходимо указать сетевую RADIUS-службу, которая будет использоваться с данным сервером:

# Код сетевой службы RADIUS в АСР
use constant HYDRA_AAA_SERV     => "RADIUS-VPN";

Тестирование

Проверьте корректность настройки FreeRADIUS путём его запуска в отладочном режиме:

user@server:~$ sudo freeradius -X

Можно приступать к тестированию RADIUS-взаимодействия. Это можно делать двумя способами: либо с помощью утилит radclient и radtest, входящих в поставку FreeRADIUS, либо с использованием настоящего оборудования.