Page tree
Skip to end of metadata
Go to start of metadata

Порядок действий

  1. Подготовка конфигурации
  2. Подготовка инициализационного скрипта
  3. Настройка logrotate
  4. Настройка автоматического запуска
  5. Запуск

Примечание: в данном руководстве <name> — имя создаваемого экземпляра (например test).

Подготовка конфигурации

За основу можно взять конфигурацию имеющегося экземпляра сервера FreeRADIUS. Также нужно создать директорию для логов нового экземпляра.

root@server:~#
cp -pr /etc/freeradius /etc/freeradius-<name>
mkdir /var/log/freeradius-<name>
chown freerad:freerad /var/log/freeradius-<name>

Здесь /etc/freeradius — это директория с конфигурацией действующего экземпляра.

Конфигурационные файлы необходимо отредактировать, добавив имя экземпляра к параметрам logdir, raddbdir и name. Также нужно указать порты для авторицации и аккаунтинга в параметрах port секций listen.

/etc/freeradius-<name>/radiusd.conf
...

logdir = /var/log/freeradius-<name>
raddbdir = /etc/freeradius-<name>

...

name = freeradius-<name>

...

pidfile = ${run_dir}/${name}.pid

...

listen {
...
    type = auth
...
	port = <free_port_number>
...
}

...

listen {
...
    type = acct
...
	port = <free_port_number + 1>
...
}

...

Для inner-tunnel (если используется) также нужно указать новый порт:

/etc/freeradius-<name>/sites-enabled/inner-tunnel
...

listen {
       ipaddr = 127.0.0.1
       port = <free_port_number + 2>
       type = auth
}

...

Подготовка инициализационного скрипта

За основу берётся инициализационный скрипт имеющегося экземпляра сервера FreeRADIUS:

root@server:~#
cp -p /etc/init.d/freeradius /etc/init.d/freeradius-<name>

В скрипт следует внести следующие коррективы:

/etc/init.d/freeradius-<name>
...

# Provides:          freeradius-<name>

...

PIDFILE="/var/run/freeradius-<name>/freeradius-<name>.pid"

...

PARAMS="-d /etc/freeradius-<name>"

...

test_freeradius_config() {
  ...
  out=`$PROGRAM -Cxl stdout $FREERADIUS_OPTIONS $PARAMS`; ret=$?

...

# /var/run may be a tmpfs
if [ ! -d /var/run/freeradius-<name> ]; then
  mkdir -p /var/run/freeradius-<name>
  chown freerad:freerad /var/run/freeradius-<name>
fi

... 

case "$1" in
        start)
                log_daemon_msg "Starting $DESCR" "$PROG"
        		export LC_ALL=en_US.UTF-8
                start_daemon -p "$PIDFILE" "$PROGRAM" $FREERADIUS_OPTIONS $PARAMS || ret=$?

...

        debug)
                $PROGRAM -X $FREERADIUS_OPTIONS $PARAMS

...

Настройка logrotate

В конфигурацию для freeradius следует добавить для нового экземпляра секцию следующего вида:

/etc/logrotate.d/freeradius
/var/log/freeradius-<name>/*.log {
        weekly
        rotate 52
        compress
        delaycompress
        notifempty
        missingok
        postrotate
                /etc/init.d/freeradius-<name> reload > /dev/null
        endscript
}

Настройка автоматического запуска

root@server:~#
update-rc.d freeradius-<name> defaults

Запуск

root@server:~#
/etc/init.d/freeradius-<name> start
  • No labels