Назад | Перейти на главную страницу

не может читать клиентов из таблицы nas в freeradius только из clients.conf

Я установил freeradius на Centos.

База данных MySQL заполнена некоторыми данными для тестирования, а также настроены файлы freeradiusd.conf и sql.conf.

Сервер RADIUS может подключаться к базе данных MySQL, и я могу аутентифицировать пользователей с его помощью. У меня также настроен удаленный клиент RADIUS, который работает с моим администрируемым порталом и сервером RADIUS, однако он работает только тогда, когда у меня настроен IP-адрес клиента в /etc/raddb/clients.conf. Это не работает с таблицей MySQL 'nas'.

Другими словами, freeradius, похоже, не запрашивает мою таблицу nas из базы данных MySQL.

В моем /etc/raddb/mods-enabled/sql файл у меня следующий:

# Table to keep radius client info
nas_table = "nas"

# Set to 'yes' to read radius clients from the database ('nas' table)
read_clients = yes

В моей таблице nas у меня есть следующее:

id       nasname       shortname       type       ports       secret  server      community       description
1       xx.xx.xx.xx       NULL       other       NULL       testing123 
default      NULL       RADIUS Client

... где xx.xx.xx.xx - правильный IP-адрес моего клиента RADIUS.

Когда я пытаюсь войти через портал авторизации, когда freeradius работает в режиме отладки, я получаю следующее:

Wed Aug  8 06:39:11 2018 : Info: Ready to process requests
Wed Aug  8 06:39:19 2018 : Error: Ignoring request to auth address * port 1812 bound to server default from unknown client xx.xx.xx.xx port 55546 proto udp
Wed Aug  8 06:39:19 2018 : Info: Ready to process requests
Wed Aug  8 06:39:21 2018 : Error: Ignoring request to auth address * port 1812 bound to server default from unknown client xx.xx.xx.xx port 55546 proto udp
Wed Aug  8 06:39:21 2018 : Info: Ready to process requests
Wed Aug  8 06:39:24 2018 : Error: Ignoring request to auth address * port 1812 bound to server default from unknown client xx.xx.xx.xx port 55546 proto udp
Wed Aug  8 06:39:24 2018 : Info: Ready to process requests
eWed Aug  8 06:39:28 2018 : Error: Ignoring request to auth address * port 1812 bound to server default from unknown client xx.xx.xx.xx port 55546 proto udp

Я заметил в выводе отладки, что данные в nas загружаются

Wed Aug  8 09:07:58 2018 : Debug: rlm_sql (sql): Reserved connection (0)
Wed Aug  8 09:07:58 2018 : Debug: rlm_sql (sql): Executing select query: SELECT id, nasname, shortname, type, secret, server FROM nas
Wed Aug  8 09:07:58 2018 : Debug: rlm_sql (sql): Adding client xx.xx.xx.xx (xx.xx.xx.xx) to default clients list
Wed Aug  8 09:07:58 2018 : Debug: Adding client xx.xx.xx.xx/32 (xx.xx.xx.xx) to prefix tree 32
Wed Aug  8 09:07:58 2018 : Debug: rlm_sql (xx.xx.xx.xx): Client "xx.xx.xx.xx" (sql) added
Wed Aug  8 09:07:58 2018 : Debug: rlm_sql (sql): Released connection (0)
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "pap" from file /etc/raddb/mods-enabled/pap
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "reject" from file /etc/raddb/mods-enabled/always
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "fail" from file /etc/raddb/mods-enabled/always
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "ok" from file /etc/raddb/mods-enabled/always
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "handled" from file /etc/raddb/mods-enabled/always
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "invalid" from file /etc/raddb/mods-enabled/always
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "userlock" from file /etc/raddb/mods-enabled/always
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "notfound" from file /etc/raddb/mods-enabled/always
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "noop" from file /etc/raddb/mods-enabled/always
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "updated" from file /etc/raddb/mods-enabled/always
Wed Aug  8 09:07:58 2018 : Debug:   # Instantiating module "monthlycounter" from file /etc/raddb/mods-enabled/sqlcounter

Любая помощь будет принята с благодарностью! PS: Я попытался изменить короткое имя в таблице nas так же, как и ip, но это все равно не сработало

Итак, проблема в том, что вы указываете виртуальный сервер для добавления клиентов. По всем правилам он должен действительно выйти из строя, потому что виртуальный сервер "по умолчанию" на самом деле не существует, но я думаю, что код клиента SQL прощает.

Путаница понятна, потому что есть файл freeradius/sites-available/default, но, если вы посмотрите на начало раздела сервера server { на самом деле он не указывает имя, виртуальный сервер в этом файле не имеет идентификатора. Если вы хотите, чтобы это работало так, как вы планировали, вам нужно было бы назвать виртуальный сервер чем-нибудь, например server default {.

Таким образом, у вас есть два варианта: либо установить для этого поля значение NULL, чтобы все клиенты добавлялись в глобальную таблицу клиентов, либо указать идентификатор для виртуального сервера.