Jump to content
Калькуляторы

Аккаунтинг Radius VLAN телесин

Добного времени суток.

 

Такая ситуация - запустил аккаунтинг связка - FreeRadius + AT 9424T когда аутенификация идет просто по маку, все нормально, но как только аутенифицируется клиент которому через радиус назначается VLAN аккаунтинг не проходит, радиус выдает такое предупреждение

 

rlm_acct_unique: WARNING: Attribute Acct-Session-Id was not found in request, unique ID MAY be inconsistent

 

И в лог акаунтинга пишется

 

Acct-Status-Type = Failed

 

ПОдскажите пожалуйста в какую сторону копать? Кто виновен в данной ситуации свитч? Или так и должно быть?мвм

Share this post


Link to post
Share on other sites

Да. авторизацию запрашивает, авторизируется и во влан нужный засовывается с этим проблем нет. Только страрт_стоп аккаунтиг не показывает.

 

rad_recv: Accounting-Request packet from host 10.x.x.x port 1026, id=13, length=166
    Acct-Status-Type = Start
    NAS-IP-Address = 10.x.x.x
    NAS-Port = 15
    Framed-MTU = 1336
    NAS-Port-Type = Ethernet
    Acct-Authentic = RADIUS
    Called-Station-Id = "00-15-55-AC-50-1C"
    Calling-Station-Id = "00-00-00-00-00-55"
    User-Name = "00-00-00-00-00-55"
    Acct-Session-Id = "00000000|00-15-55-AC-50-1C|00-00-00-00-00-55|1.15|1"
+- entering group preacct
++[preprocess] returns ok

 

А если включаю привязку влана по маку то получаем следующее

rad_recv: Accounting-Request packet from host 10.x.x.x port 1026, id=21, length=113
    Acct-Status-Type = Failed
    NAS-IP-Address = 10.x.x.x
    NAS-Port = 15
    Framed-MTU = 1336
    NAS-Port-Type = Ethernet
    Acct-Authentic = RADIUS
    Called-Station-Id = "00-15-55-AC-50-1C"
    Calling-Station-Id = "00-00-00-00-00-11"
    User-Name = "00-00-00-00-00-11"
+- entering group preacct
++[preprocess] returns ok
rlm_acct_unique: WARNING: Attribute Acct-Session-Id was not found in request, unique ID MAY be inconsistent

 

 

Вот содержимое файла users

 

00-00-00-00-00-11       Auth-Type := Local, Cleartext-Password := 00-00-00-00-00-11
        Tunnel-Type = "VLAN",
        Tunnel-Medium-Type = "IEEE-802",
        Tunnel-Private-Group-ID = "test_2"

00-00-00-00-00-22       Auth-Type := Local, Cleartext-Password := 00-00-00-00-00-22
        Tunnel-Type = "VLAN",
        Tunnel-Medium-Type = "IEEE-802",
        Tunnel-Private-Group-ID = "test_1"

00-00-00-00-00-77       Auth-Type := Local, Cleartext-Password := 00-00-00-00-00-77

00-00-00-00-00-55       Auth-Type := Local, Cleartext-Password := 00-00-00-00-00-55

Share this post


Link to post
Share on other sites

Вот с привязкой к влану

auth: user supplied User-Password matches local User-Password
Login OK: [00-00-00-00-00-11/00-00-00-00-00-11] (from client TEST_AT9424T port 15 cli 00-00-00-00-00-11)
+- entering group post-auth
++[exec] returns noop
Sending Access-Accept of id 16 to 10.x.x.x port 1026
    Tunnel-Type:0 = VLAN
    Tunnel-Medium-Type:0 = IEEE-802
    Tunnel-Private-Group-Id:0 = "test_2"
Finished request 32.

 

А вот без привязки

auth: user supplied User-Password matches local User-Password
Login OK: [00-00-00-00-00-55/00-00-00-00-00-55] (from client TEST_AT9424T port 15 cli 00-00-00-00-00-55)
+- entering group post-auth
++[exec] returns noop
Sending Access-Accept of id 1 to 10.x.x.x port 1026
Finished request 36.

Edited by lazor

Share this post


Link to post
Share on other sites

авторизация по SQL?

А просто по маку авторизация если какой выдаёт Acct-Session-Id?

Edited by terrible

Share this post


Link to post
Share on other sites

Авторизация по маку, не SQL(сначала всю систему отладим на файлах, уже после переводить на SQL будем). По идее Acct-Session-Id это просто идентификатор сессии который кто то генерирует, чтобы единожды знать активен хост или нет(что то наподобие сессии в браузере) и по нему радиус определяет что это именно тот хост.

 

На самом деле нужно узнать кто герерирует этот самый Acct-Session-Id и уже в сторону него копать.

Share this post


Link to post
Share on other sites

Телесин генерирует, он-же отдаёт сессию на аккаунтинг. Непонятно только как заставить радиус проглатывать пакеты с таким Acct-Session-Id

Поле он выдаёт очень большое + использует знак "|", что радиусу не нравится

Edited by terrible

Share this post


Link to post
Share on other sites

У FreeRADIUS есть модуль, который позволяет генерировать вместо приходящего с NAS атрибута Acct-Session-Id свой собственный, составленный из полей RADIUS-запроса, от которых потом хэш берётся. Этот модуль специально сделан для «кривого» железа, которое не может выдавать нормальные Acct-Session-Id. Попробуйте его приспособить, должно сработать.

Edited by dk_

Share this post


Link to post
Share on other sites
Телесин генерирует, он-же отдаёт сессию на аккаунтинг. Непонятно только как заставить радиус проглатывать пакеты с таким Acct-Session-Id

Поле он выдаёт очень большое + использует знак "|", что радиусу не нравится

Нее :) я там выше видимо не совсем корректно сказал, там где очень большое поле как раз все нормально, аккаунтинг отрабатывает нормально. А ругается он как раз в следующем случае на отсутствие Acct-Session-Id.

 

2dk_

 

Ваш вариант похоже более убедителен про "кривое железо". Не подскажите хотябы часть названия этого модуля?

Edited by lazor

Share this post


Link to post
Share on other sites

Модуль rlm_acct_unique. Комментарии из конфига FreeRADIUS:

    #  Create a unique accounting session Id.  Many NASes re-use
    #  or repeat values for Acct-Session-Id, causing no end of
    #  confusion.
    #
    #  This module will add a (probably) unique session id 
    #  to an accounting packet based on the attributes listed
    #  below found in the packet.  See doc/rlm_acct_unique for
    #  more information.
    #
    acct_unique {
        key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port"
    }

Share this post


Link to post
Share on other sites

Ааа, этот модуль у меня включен, он как раз и генерирует уникальный ИД, но в данном случае это не помогает :(

 

Судя по

rad_recv: Accounting-Request packet from host 10.x.x.x port 1026, id=21, length=113
    Acct-Status-Type = Failed

Со свитча уже прилетает информация, что произошла ошибка аккаунтинга, т.е. тут проблема похоже в информации которую кидает свитч.

 

Задал вопрос на форуме алиена все полчат как партизаны.

 

P.S. этот AT 9424T сплошные костыли а не свитч

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this