LINUX.ORG.RU
решено ФорумAdmin

простой freeradius сервер


0

0

не получается заставить работать радиус в самом простом варианте - авторизация только из локального users

Конфиг работал на freeradius 1.xx, приобновлении до 2.0.5 перестал. changelog изучил, поправил по мелочам всякое изменившееся.

сейчас выдает еследующие ошибки:

rad_recv: Access-Request packet from host 10.x.x.x port 1645, id=17, length=82
        User-Name = "user"
        User-Password = "test"
        NAS-Port = 2
        NAS-Port-Id = "tty2"
        NAS-Port-Type = Virtual
        Calling-Station-Id = "10.x.x.x"
        NAS-IP-Address = 10.x.x.x
+- entering group authorize
++[preprocess] returns ok
++[files] returns noop
auth: No authenticate method (Auth-Type) configuration found for the request: Rejecting the user
auth: Failed to validate the user.
Login incorrect: [xxxx] (from client xxxxx port 2 cli 10.x.x.x)
Sending Access-Reject of id 17 to 10.x.x.x port 1645
Finished request 0.

конфиг минималистический. вот функциональный кусок (пропущенные все начальные настройки)

$INCLUDE ${confdir}/clients.conf

modules {
  preprocess {
    huntgroups         = ${confdir}/huntgroups
    hints              = ${confdir}/empty_file
  }

  files {
    usersfile          = ${confdir}/users
    acctusersfile      = ${confdir}/empty_file
    preproxy_usersfile = ${confdir}/empty_file
    compat             = no
  }

  always fail {
    rcode = fail
  }
  always reject {
    rcode = reject
  }
  always ok {
    rcode = ok
  }
}

authorize {
  preprocess
  files
}
instantiate  {
}
authenticate {
}
preacct      {
}
accounting   {
}
session      {
}
post-auth    {
}
pre-proxy    {
}
post-proxy   {
}

вот фаил users

user    Cleartext-Password == "test", Auth-Type := Local, NAS-Port-Type == Virtual
        Service-Type += Administrative-User,
        APC-Service-Type += 2

есть какие-нибудь идеи?

>>auth: No authenticate method (Auth-Type) configuration found for the request: Rejecting the user

auth: Failed to validate the user.

ни на какие мысли не наталкивает ? почему секция authenticate в конфиге пустая ?

sasha999 ★★★★ ()
Ответ на: комментарий от easy_john

я как-то слабо представляю как это - авторизация без аутентификации - не
поясните ?

PS:

Аутентифика́ция (англ. Authentication) — проверка принадлежности субъекту доступа предъявленного им идентификатора; подтверждение подлинности

Авторизация (англ. authorization):

1. Процесс предоставления определенному лицу прав на выполнение некоторых действий.

2. Процесс подтверждения (проверки) прав пользователей на выполнение некоторых действий

sasha999 ★★★★ ()
Ответ на: комментарий от sasha999

ради интереса собрал freeradius 1.1.8 (последний из ветки 1.x) - прямо с этим конфигом нормально работает и авторизует как надо.

вопрос открыт, что нужно сказать 2.x, что бы получить такой же простой минималистичный радиус сервер.

easy_john ()
Ответ на: комментарий от sasha999

старый 1.1.8, все работает

rad_recv: Access-Request packet from host 10.1.x.x:1645, id=37, length=81
        User-Name = "user"
        User-Password = "test"
        NAS-Port = 1
        NAS-Port-Id = "tty1"
        NAS-Port-Type = Virtual
        Calling-Station-Id = "10.x.x.x"
        NAS-IP-Address = 10.1.x.x
Sending Access-Accept of id 37 to 10.1.x.x port 1645
        Service-Type += Administrative-User
        APC-Service-Type += 2

новый. добавил files в authenticate. не помогло:

rad_recv: Access-Request packet from host 10.1.x.x port 1645, id=46, length=81
        User-Name = "user"
        User-Password = "test"
        NAS-Port = 1
        NAS-Port-Id = "tty1"
        NAS-Port-Type = Virtual
        Calling-Station-Id = "10.x.x.x"
        NAS-IP-Address = 10.1.x.x
+- entering group authorize
++[preprocess] returns ok
++[files] returns noop
auth: No authenticate method (Auth-Type) configuration found for the request: Rejecting the user
auth: Failed to validate the user.
Login incorrect: [user] (from client xxxxxxx port 1 cli x.x.x.x)
Sending Access-Reject of id 46 to 10.1.x.x port 1645

easy_john ()
Ответ на: комментарий от sasha999

попробовал:

./radiusd.conf[118]: Expecting section start brace '{' after "allways ok"
со скобками то же не хочет. в общем оно в этой секции одижает увидеть только всякие pap, chap, unix. я не понимаю зачем они тут, и как мне их настроить.

easy_john ()
Ответ на: комментарий от ventilator

у юзера вместо «Auth-Type := Local» поставить «Auth-Type = Local» ? пробовал. без именений. и «Auth-Type == Local» пробовал.

только если добавить строку с «дефолтным юзером» а-ля

DEFAULT   Auth-Type := Local
но тогда начинает ругаться что юзернейм не найден. ну то есть проходит всех юзеров и срабатывает только на этой последней стороке.

easy_john ()
Ответ на: комментарий от ventilator

спасибо, строчка навела меня на мысль погуглить.

ответ нашелся в http://xgu.ru/wiki/RADIUS

> test    Auth-Type := Local, User-Password == "test"
That should be
 test    Auth-Type = Local, User-Password := "test"

Все сразу заработало.

дебаг успешной авторизации:

rad_recv: Access-Request packet from host 10.1.x.x port 1645, id=66, length=81
        User-Name = "user"
        User-Password = "test"
        NAS-Port = 1
        NAS-Port-Id = "tty1"
        NAS-Port-Type = Virtual
        Calling-Station-Id = "x.x.x.x"
        NAS-IP-Address = 10.1.x.x
+- entering group authorize
++[preprocess] returns ok
    users: Matched entry user at line 50
++[files] returns ok
  rad_check_password:  Found Auth-Type Local
auth: type Local
auth: user supplied User-Password matches local User-Password
Login OK: [user] (from client xxxxxx port 1 cli x.x.x.x)
Sending Access-Accept of id 66 to 10.1.x.x port 1645
        Service-Type += Administrative-User
        APC-Service-Type += 2

дебаг авторизации c ошибкой в пароле (специально):

rad_recv: Access-Request packet from host 10.1.x.x port 1645, id=65, length=81
        User-Name = "user"
        User-Password = "testo"
        NAS-Port = 1
        NAS-Port-Id = "tty1"
        NAS-Port-Type = Virtual
        Calling-Station-Id = "x.x.x.x"
        NAS-IP-Address = 10.1.x.x
+- entering group authorize
++[preprocess] returns ok
    users: Matched entry user at line 50
++[files] returns ok
  rad_check_password:  Found Auth-Type Local
auth: type Local
auth: user supplied User-Password does NOT match local User-Password
auth: Failed to validate the user.
Login incorrect: [user] (from client xxxxxx port 1 cli x.x.x.x)
Sending Access-Reject of id 65 to 10.1.x.x port 1645
        Service-Type += Administrative-User
        APC-Service-Type += 2

рекомендую.

easy_john ()
Ответ на: комментарий от sasha999

да я перед написанием поста гуглил часа три-четыре. но вот такой ньюанс с плюсами и равно - упустил.

easy_john ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.