Categories: Шпаргалки

Настройка Freeradius для хранения radpostauth в альтернативной базе MySQL

Данную инструкцию рассмотрим для ситуации, когда пользователи и логи Freeradius уже хранятся в базе MySQL , но необходимо сбалансировать нагрузку и отправлять логи авторизации (radpostauth) на другой сервер MySQL. Все команды приведены на примере FreeBSD.

Открываем на редактирование файл с политиками freeradius:

# ee /usr/local/etc/raddb/policy.conf

И добавляем следующее:

sql_auth_custom {
post_auth_custom
}

* где sql_auth_custom — название политики; post_auth_custom — имя файла модуля, в котором будут находиться инструкции.

Теперь создаем новый файл в модулях freeradius:

# ee /usr/local/etc/raddb/modules/post_auth_custom

* обратите внимание, для удобства название файла post_auth_custom совпадает с содержимым политики sql_auth_custom .

Приводим содержимое нового файла к следующему виду:

sql post_auth_custom {
database = «mysql»
driver = «rlm_sql_${database}»
server = » 192.168.0.10 »
login = » radius »
password = » radius »
radius_db = » radius »
postauth_table = » radpostauth »
sqltrace = no
sqltracefile = /var/log/postauthtrace.sql
num_sql_socks = 32
connect_failure_retry_delay = 60
sql_user_name = «%{User-Name}»
postauth_query = «INSERT INTO ${postauth_table}
(`username`, `pass`, `reply`, `authdate`, `callfrom`,`callto`,`nasip`,`acctsessionid`,`msg`)
VALUES (
‘%{User-Name}’,
‘%{%{User-Password}:-%{Chap-Password}}’,
‘%{reply:Packet-Type}’, ‘%S’, ‘%{Calling-Station-Id}’, ‘%{Called-Station-Id}’, ‘%{NAS-IP-Address}’, ‘%{Acct-Session-Id}’, ‘%{reply:Reply-Message}’);»

}

* где post_auth_custom — название политики; 192.168.0.10 — IP-адрес альтернативного сервера MySQL; radius (login, password, radius_db) — данные для подключения к базе данных (соответственно, логин, пароль и название базы); radpostauth — имя таблицы для хранения лога.

Теперь открываем следующий файл:

# ee /usr/local/etc/raddb/sites-enabled/default

Находим секцию post-auth и добавляем следующее:

post-auth {

sql_auth_custom

где sql_auth_custom — название нашей политики.

Для применения настроек, перезагружаем службу radiusd:

# service radius restart

После перезагрузки данные об авторизации начнут отправляться на новый сервер MySQL. На нем уже должна быть создана база с правильными именем и таблицей.

admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago