lazor Опубликовано 7 сентября, 2009 · Жалоба Добного времени суток. Такая ситуация - запустил аккаунтинг связка - 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 ПОдскажите пожалуйста в какую сторону копать? Кто виновен в данной ситуации свитч? Или так и должно быть?мвм Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 7 сентября, 2009 · Жалоба а авторизацию влан запрашивает? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lazor Опубликовано 7 сентября, 2009 · Жалоба Да. авторизацию запрашивает, авторизируется и во влан нужный засовывается с этим проблем нет. Только страрт_стоп аккаунтиг не показывает. 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 7 сентября, 2009 · Жалоба Acccess-Accept ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lazor Опубликовано 7 сентября, 2009 (изменено) · Жалоба Вот с привязкой к влану 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. Изменено 7 сентября, 2009 пользователем lazor Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 7 сентября, 2009 (изменено) · Жалоба авторизация по SQL? А просто по маку авторизация если какой выдаёт Acct-Session-Id? Изменено 7 сентября, 2009 пользователем terrible Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lazor Опубликовано 7 сентября, 2009 · Жалоба Авторизация по маку, не SQL(сначала всю систему отладим на файлах, уже после переводить на SQL будем). По идее Acct-Session-Id это просто идентификатор сессии который кто то генерирует, чтобы единожды знать активен хост или нет(что то наподобие сессии в браузере) и по нему радиус определяет что это именно тот хост. На самом деле нужно узнать кто герерирует этот самый Acct-Session-Id и уже в сторону него копать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 8 сентября, 2009 (изменено) · Жалоба Телесин генерирует, он-же отдаёт сессию на аккаунтинг. Непонятно только как заставить радиус проглатывать пакеты с таким Acct-Session-Id Поле он выдаёт очень большое + использует знак "|", что радиусу не нравится Изменено 8 сентября, 2009 пользователем terrible Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dk_ Опубликовано 8 сентября, 2009 (изменено) · Жалоба У FreeRADIUS есть модуль, который позволяет генерировать вместо приходящего с NAS атрибута Acct-Session-Id свой собственный, составленный из полей RADIUS-запроса, от которых потом хэш берётся. Этот модуль специально сделан для «кривого» железа, которое не может выдавать нормальные Acct-Session-Id. Попробуйте его приспособить, должно сработать. Изменено 8 сентября, 2009 пользователем dk_ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lazor Опубликовано 8 сентября, 2009 (изменено) · Жалоба Телесин генерирует, он-же отдаёт сессию на аккаунтинг. Непонятно только как заставить радиус проглатывать пакеты с таким Acct-Session-IdПоле он выдаёт очень большое + использует знак "|", что радиусу не нравится Нее :) я там выше видимо не совсем корректно сказал, там где очень большое поле как раз все нормально, аккаунтинг отрабатывает нормально. А ругается он как раз в следующем случае на отсутствие Acct-Session-Id. 2dk_ Ваш вариант похоже более убедителен про "кривое железо". Не подскажите хотябы часть названия этого модуля? Изменено 8 сентября, 2009 пользователем lazor Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dk_ Опубликовано 9 сентября, 2009 · Жалоба Модуль 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" } Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lazor Опубликовано 9 сентября, 2009 · Жалоба Ааа, этот модуль у меня включен, он как раз и генерирует уникальный ИД, но в данном случае это не помогает :( Судя по 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 сплошные костыли а не свитч Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...