Данную инструкцию рассмотрим для ситуации, когда пользователи и логи 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. На нем уже должна быть создана база с правильными именем и таблицей.
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…