mod_xml_radius и FreeRADIUS

43 views
Skip to first unread message

Михаил Калинин

unread,
Sep 28, 2018, 4:07:18 AM9/28/18
to freeswitch-ru
Ребят, давайте помогайте...) Время поджимает, а это жесть какая-то.

В общем, авторизация по радиусу (FreeRADIUS 3) нужна для FreeSWITCH'а, для этого выбрал модуль mod_xml_radius. Еще есть mod_rad_auth, но говорят он падает порой при нагрузке.
Хорош, скомпилил его из сорцов под нужную версию (пробовал и 1.6 и 1.8), подключил. Смотрю что прилетает на FreeRADIUS:

(0)   Cisco-AVPair = "request-type=user"
(0)   Cisco-AVPair = "src-gw-ip=91.219...."
(0)   Cisco-AVPair = "src-gw-name=test"
(0)   User-Name = "test"
(0)   Attr-103 = 0x3930336264656134373163393337636462646637373864636434376461613063
(0)   Attr-104 = 0x39312e3233332e32382e313332
(0)   Attr-105 = 0x63343836646130622d306233632d343531322d386434332d633364303837633831666239
(0)   Attr-115 = 0x74657374
(0)   Attr-109 = 0x7369703a39312e3233332e32382e313332
(0)   Attr-108 = 0x5245474953544552
(0)   Attr-111 = 0x4d4435
(0)   Attr-110 = 0x61757468
(0)   Attr-113 = 0x36346362646235612d356363312d653831312d383363382d323063663330383662363464
(0)   Attr-114 = 0x3030303030303031
(0)   Service-Type = Authenticate-Only
(0)   NAS-Port = 0
(0)   NAS-IP-Address = 192.168....


Хорошо, не подключен словарь какой-нить, думаю. Какой же, rfc5090 скорей всего, такой же, который идет с модулем. Подключаю, при старте FreeRADIUS ругается:
Errors reading dictionary: dict_init: /usr/share/freeradius/dictionary.rfc5090[9]: dict_addattr: Duplicate attribute name Digest-Response

Ищу, где же еще этот Digest-Response есть?.. В dictionary.iana он, ок, комменчу там (айдишник почему-то другой?..):

#ATTRIBUTE      Digest-Response                         206     string

Дальше конфликт с Digest-Realm и несколькими другими параметрами, делаю тоже самое.

В итоге на Радиусе вижу такой пакет:
(0)   Cisco-AVPair = "request-type=user"
(0)   Cisco-AVPair = "src-gw-ip=91.219...."
(0)   Cisco-AVPair = "src-gw-name=test"
(0)   User-Name = "test"
(0)   Digest-Response = "8f9a9d5d9c9ed45e2420c438b5a9789b"
(0)   Digest-Realm = "91.233...."
(0)   Digest-Nonce = "ab5b934c-d7d3-4519-9a7f-8c96caa3d6f2"
(0)   Digest-Username = "test"
(0)   Digest-URI = "sip:91.233...."
(0)   Digest-Method = "REGISTER"
(0)   Digest-Algorithm = "MD5"
(0)   Digest-Qop = "auth"
(0)   Digest-CNonce = "848d24ee"
(0)   Digest-Nonce-Count = "00000001"
(0)   Service-Type = Authenticate-Only
(0)   NAS-Port = 0
(0)   NAS-IP-Address = 192.168....


Вроде как всё ок, есть Digest-* атрибуты, но модуль digest Радиуса их не признает!!! От этого и неработоспособность:
(0)     [digest] = noop

Что делать ребят?? Как их подружить??
Reply all
Reply to author
Forward
0 new messages