У меня есть сервер Freeradius, который использует MySQL для хранения данных.
ниже моя база данных
radcheck table
+-----+----------+--------------------+----+--------------+
| id | username | attribute | op | value |
+-----+----------+--------------------+----+--------------+
| 474 | varun | Cleartext-Password | := | sunshine3003 |
+-----+----------+--------------------+----+--------------+
radreply table
+----+----------+--------------+----+-------+
| id | username | attribute | op | value |
+----+----------+--------------+----+-------+
| 1 | varun | Fall-Through | = | Yes |
+----+----------+--------------+----+-------+
radgroupcheck table
+----+-----------+-----------+----+-------+
| id | groupname | attribute | op | value |
+----+-----------+-----------+----+-------+
| 1 | group1 | Auth-Type | := | PAP |
| 2 | eapgroup | Auth-Type | := | EAP |
+----+-----------+-----------+----+-------+
radusergroup table
+----------+-----------+----------+
| username | groupname | priority |
+----------+-----------+----------+
| varun | eapgroup | 1 |
| varun | group1 | 2 |
+----------+-----------+----------+
У нас есть два разных клиента, которые используют два разных типа аутентификации со свободным радиусом. Один использует PAP
и отправляет пароль в атрибуте User-Password
.
а другой клиент пользователя EAP
и отправляет пароль в EAP-Message
и Message-Authenticator
Что я хочу, так это, когда PAP не проходит аутентификацию или когда отсутствует атрибут User-Password
он должен использовать EAP
качестве Auth-Type
а если EAP
и Message-Authenticator
не присутствуют в атрибуте radius, он должен ответить Access-reject или сбой аутентификации сообщение.
Любая помощь будет оценена