faq обучение настройка
Текущее время: Чт мар 28, 2024 13:35

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Чт апр 15, 2021 09:22 
Не в сети

Зарегистрирован: Ср апр 21, 2010 13:53
Сообщений: 29
Откуда: Глазов
Доброго дня!
Начинаю постигать дзен freeradius для доступа на коммутаторы. Не могу понять, почему Failed to authenticate the user:
Код:
radcheck
+----+----------+--------------------+----+-----------+
| id | username | attribute          | op | value     |
+----+----------+--------------------+----+-----------+
|  3 | metal    | Cleartext-Password | := | metalpass |
+----+----------+--------------------+----+-----------+

radusergroup
+----------+-----------+----------+
| username | groupname | priority |
+----------+-----------+----------+
| metal    | users     |        1 |
+----------+-----------+----------+

radgroupcheck
+----+-----------+-----------------------+----+-------+
| id | groupname | attribute             | op | value |
+----+-----------+-----------------------+----+-------+
|  2 | users     | Auth-Type             | := | Local |
+----+-----------+-----------------------+----+-------+

radgroupreply
+----+-----------+-----------------------+----+-------+
| id | groupname | attribute             | op | value |
+----+-----------+-----------------------+----+-------+
|  1 | users     | dlink-Privelege-Level | =  | 3     |
+----+-----------+-----------------------+----+-------+

radiusd -X - debug mode
Код:
(2) Received Access-Request Id 137 from 172.16.1.50:1025 to 10.128.1.100:1812 length 84
(2)   User-Name = "metal"
(2)   User-Password = "metalpass"
(2)   NAS-IP-Address = 172.16.1.50
(2)   NAS-Identifier = "Alphanetworks"
(2)   NAS-Port-Type = Virtual
(2)   Service-Type = Framed-User
(2)   Framed-Protocol = PPP
(2) # Executing section authorize from file /etc/raddb/sites-enabled/default
(2)   authorize {
(2)     policy filter_username {
(2)       if (&User-Name) {
(2)       if (&User-Name)  -> TRUE
(2)       if (&User-Name)  {
(2)         if (&User-Name =~ / /) {
(2)         if (&User-Name =~ / /)  -> FALSE
(2)         if (&User-Name =~ /@[^@]*@/ ) {
(2)         if (&User-Name =~ /@[^@]*@/ )  -> FALSE
(2)         if (&User-Name =~ /\.\./ ) {
(2)         if (&User-Name =~ /\.\./ )  -> FALSE
(2)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))  {
(2)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))   -> FALSE
(2)         if (&User-Name =~ /\.$/)  {
(2)         if (&User-Name =~ /\.$/)   -> FALSE
(2)         if (&User-Name =~ /@\./)  {
(2)         if (&User-Name =~ /@\./)   -> FALSE
(2)       } # if (&User-Name)  = notfound
(2)     } # policy filter_username = notfound
(2)     [preprocess] = ok
(2)     [chap] = noop
(2)     [mschap] = noop
(2) eap: No EAP-Message, not doing EAP
(2)     [eap] = noop
(2) sql: EXPAND %{User-Name}
(2) sql:    --> metal
(2) sql: SQL-User-Name set to 'metal'
rlm_sql (sql): Reserved connection (7)
(2) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id
(2) sql:    --> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'metal' ORDER BY id
(2) sql: Executing select query: SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'metal' ORDER BY id
(2) sql: User found in radcheck table
(2) sql: Conditional check items matched, merging assignment check items
(2) sql:   Cleartext-Password := "metalpass"
(2) sql: EXPAND SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id
(2) sql:    --> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'metal' ORDER BY id
(2) sql: Executing select query: SELECT id, username, attribute, value, op FROM radreply WHERE username = 'metal' ORDER BY id
(2) sql: EXPAND SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority
(2) sql:    --> SELECT groupname FROM radusergroup WHERE username = 'metal' ORDER BY priority
(2) sql: Executing select query: SELECT groupname FROM radusergroup WHERE username = 'metal' ORDER BY priority
(2) sql: User found in the group table
(2) sql: EXPAND SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = '%{SQL-Group}' ORDER BY id
(2) sql:    --> SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = 'users' ORDER BY id
(2) sql: Executing select query: SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = 'users' ORDER BY id
(2) sql: Group "users": Conditional check items matched
(2) sql: Group "users": Merging assignment check items
(2) sql:   dlink-Privelege-Level := User
(2) sql:   Auth-Type := Local
(2) sql: EXPAND SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = '%{SQL-Group}' ORDER BY id
(2) sql:    --> SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = 'users' ORDER BY id
(2) sql: Executing select query: SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = 'users' ORDER BY id
(2) sql: Group "users": Merging reply items
(2) sql:   dlink-Privelege-Level = User
rlm_sql (sql): Released connection (7)
Need 1 more connections to reach min connections (3)
rlm_sql (sql): Opening additional connection (9), 1 of 30 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket, server version 8.0.20-alt1, protocol version 10
(2)     [sql] = ok
(2) pap: WARNING: Auth-Type already set.  Not setting to PAP
(2)     [pap] = noop
(2)   } # authorize = ok
(2) Found Auth-Type = Local
(2) Auth-Type sub-section not found.  Ignoring.
(2) Failed to authenticate the user
(2) Using Post-Auth-Type Reject
(2) Post-Auth-Type sub-section not found.  Ignoring.
(2) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(2) Sending delayed response
(2) Sent Access-Reject Id 137 from 10.128.1.100:1812 to 172.16.1.50:1025 length 32
(2)   dlink-Privelege-Level = User
Waking up in 3.9 seconds.
(2) Cleaning up request packet ID 137 with timestamp +55650
Ready to process requests

Вроде бы # authorize = ok, Found Auth-Type = Local, уровень доступа определяется, но тут же (2) Failed to authenticate the user


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Сб апр 17, 2021 12:16 
Не в сети

Зарегистрирован: Ср апр 21, 2010 13:53
Сообщений: 29
Откуда: Глазов
Решил начать все заново. Снес радиус, удалил /etc/raddb, установил снова. /etc/raddb - девственный. Радиус запускается, ждет соединений. При запуске raduis -X вижу в первых же строках:
Код:
including dictionary file /usr/share/freeradius/dictionary

В этом файле, в числе прочего, есть $INCLUDE dictionary.dlink. Содержимое dictionary.dlink:
Скрытый текст: показать
# -*- text -*-
# Copyright (C) 2015 The FreeRADIUS Server project and contributors
##############################################################################
#
# D-Link Vendor Specific Attributes Dictionary
#
# Created by Sylph Lin <sylph.lin@gmail.com>
#
# Version $Id: fcbfce088111094e6bd9dc9b4ae72215b181e141 $
#
##############################################################################

VENDOR Dlink 171

BEGIN-VENDOR Dlink

ATTRIBUTE Dlink-User-Level 1 integer
ATTRIBUTE Dlink-Ingress-Bandwidth-Assignment 2 integer
ATTRIBUTE Dlink-Egress-Bandwidth-Assignment 3 integer
ATTRIBUTE Dlink-1p-Priority 4 integer
ATTRIBUTE Dlink-VLAN-Name 10 string
ATTRIBUTE Dlink-VLAN-ID 11 string
ATTRIBUTE Dlink-ACL-Profile 12 string
ATTRIBUTE Dlink-ACL-Rule 13 string
ATTRIBUTE Dlink-ACL-Script 14 string

VALUE Dlink-User-Level User-Legacy 1
VALUE Dlink-User-Level User 3
VALUE Dlink-User-Level Operator 4
VALUE Dlink-User-Level Admin 5
VALUE Dlink-User-Level Power-User 6
VALUE Dlink-User-Level Admin-Legacy 15

END-VENDOR Dlink

Если в этом файле вписать всякую чушь, raduis -X ругается:
Код:
Errors reading dictionary: dict_init: /usr/share/freeradius/dictionary.dlink[14] invalid entry
То есть файл радиусом читается.
Добавляю в /etc/raddb/users (симлинк на /etc/raddb/mods-config/files/authorize):
Код:
user Cleartext-Password := "userpass"
Dlink-User-Level = 3

Получаю:
Код:
  # Instantiating module "files" from file /etc/raddb/mods-enabled/files
reading pairlist file /etc/raddb/mods-config/files/authorize
/etc/raddb/mods-config/files/authorize[2]: Parse error (check) for entry Dlink-User-Level: Invalid attribute name
Failed reading /etc/raddb/mods-config/files/authorize
/etc/raddb/mods-enabled/files[9]: Instantiation failed for module "files"
:evil: Где что еще не так???


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн апр 19, 2021 08:17 
Не в сети

Зарегистрирован: Ср апр 21, 2010 13:53
Сообщений: 29
Откуда: Глазов
Нашел ответ, подсказали. Отступ нужен:
Код:
user Cleartext-Password := "userpass"
    Dlink-User-Level = 3


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 41


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB