forum.bitel.ru http://forum.bitel.ru/ |
|
Мусор в пересылаемом акаунтинге. (packet.forward) http://forum.bitel.ru/viewtopic.php?f=5&t=7454 |
Страница 1 из 2 |
Автор: | Zar1n [ 23 ноя 2012, 05:26 ] |
Заголовок сообщения: | Мусор в пересылаемом акаунтинге. (packet.forward) |
Очень понадобился функционал пересылки акаунтинга, описанный тут. (понадобился он в связи с внедрение Cisco SCE) http://bgbilling.ru/v5.0/doc/ch03s08s02.html Но есть в нем одна маленькая проблема. Иногда в атрибуте User-Name встречаются пробелы. В логах радиуса, модуля dialup пробелов нет. Похоже, где-то в коде они обрезаются. Возможно ли добавить такую возможность для пересылаемого акаунтинга ? Лог из Cisco Subscriber Manager, в который пересылается акаунтинг. Код: "22-ноя 2012", "15:21:57.344 VLAT","[5]",ERROR,"com.pcube.logger.userlog.UserLog","RADIUS: Login of subscriber icube58716 @1835935452 failed, Name ' icube58716 @1835935452' is too long. Only 64 characters are allowed" tcpdump: Код: 7:43:18.360261 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 505)
192.168.158.132.54401 > sce-csm.radius-acct: [udp sum ok] RADIUS, length: 477 Accounting Request (4), id: 0xab, Authenticator: f66267fd23c7603a7bd8c2eb3248b565 Username Attribute (1), length: 91, Value: icube58716 0x0000: 2020 2020 2020 2020 2020 2020 2020 2020 0x0010: 2020 2020 2069 6375 6265 3538 3731 3620 0x0020: 2020 2020 2020 2020 2020 2020 2020 2020 0x0030: 2020 2020 2020 2020 2020 2020 2020 2020 0x0040: 2020 2020 2020 2020 2020 2020 2020 2020 0x0050: 2020 2020 2020 2020 20 Tunnel Type Attribute (64), length: 6, Value: Tag[Unused]L2TP 0x0000: 0000 0003 NAS IP Address Attribute (4), length: 6, Value: 192.168.158.220 0x0000: c0a8 9edc Tunnel Medium Attribute (65), length: 6, Value: Tag[Unused]IPv4 0x0000: 0000 0001 NAS Port Attribute (5), length: 6, Value: 14713 0x0000: 0000 3979 Tunnel Client End Attribute (66), length: 13, Value: 10.52.8.132 0x0000: 3130 2e35 322e 382e 3133 32 Service Type Attribute (6), length: 6, Value: Framed 0x0000: 0000 0002 Framed Protocol Attribute (7), length: 6, Value: PPP 0x0000: 0000 0001 -- |
Автор: | Cromeshnic [ 23 ноя 2012, 06:30 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Мы у себя тоже пользуемся форвардингом пакетов для SCE. Решили проблему предобработкой, которая не пускает "нехорошие" логины. |
Автор: | skyb [ 23 ноя 2012, 06:30 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
бамп!!! уже третий человек!!! |
Автор: | skyb [ 23 ноя 2012, 06:30 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Cromeshnic писал(а): Мы у себя тоже пользуемся форвардингом пакетов для SCE. Решили проблему предобработкой, которая не пускает "нехорошие" логины. делись )))))) |
Автор: | Cromeshnic [ 23 ноя 2012, 06:33 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Да довольно топорно: Код: if (request.getCode() == RadiusPacket.ACCESS_REQUEST) {
if (!userName.trim().matches("^[A-Za-z0-9_@-]+$")) { request.setStringAttribute(-1, RadiusStandartAttributes.User_Name, userName+"-wrongUsername"); request.addAttribute(new RadiusAttribute.RadiusAttributeString(-1, RadiusStandartAttributes.Vendor_Specific, "'A-Za-z0-9_@-' are only accepted symbols in a user login!")); } //Зарезаем цифровые логины if (userName.trim().matches("^[0-9]{1,10}(@.*)?$")) { request.setStringAttribute(-1, RadiusStandartAttributes.User_Name, userName+"-wrongUsername"); request.addAttribute(new RadiusAttribute.RadiusAttributeString(-1, RadiusStandartAttributes.Vendor_Specific, "Digital logins are not allowed!")); } //Зарезаем логины с пробелами по краям if (!userName.trim().equals(userName)) { request.setStringAttribute(-1, RadiusStandartAttributes.User_Name, userName+"-wrongUsername"); request.addAttribute(new RadiusAttribute.RadiusAttributeString(-1, RadiusStandartAttributes.Vendor_Specific, "Usernames with a trailing space character is not allowed!")); } } |
Автор: | Cromeshnic [ 23 ноя 2012, 06:34 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Перед этим ессна нужно всех клиентов, у кого такие логины, обзвонить и переделать на нормальные. |
Автор: | Zar1n [ 23 ноя 2012, 08:53 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Переодичесски всплывают еще вот такие звери: Код: RADIUS: Logout of subscriber ÍÀÒÀËÜß\icube34572@633884226 failed, Invalid name 'ÍÀÒÀËÜß\icube34572@633884226'. the character at position 0 ('Í') is not allowed" Похоже на реалм, но реалмы мы не используем. У клиента вписан нормальный логин. Такое ощущение, что русские символы туда вставляет клиентская ОС. |
Автор: | Cromeshnic [ 23 ноя 2012, 08:59 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Это винда подставляет, где-то было на форуме про это. Вроде даже в документации было. |
Автор: | Phricker [ 23 ноя 2012, 10:16 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
![]() ![]() Код: User-Name=BLABLABLA\user_name
|
Автор: | Zar1n [ 23 ноя 2012, 11:20 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Phricker И эти чудеса то же было бы неплохо почистить функционалом биллинга )) |
Автор: | Phricker [ 23 ноя 2012, 11:21 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Скрипт предобработки радиус запроса - ваш выбор |
Автор: | Zar1n [ 23 ноя 2012, 11:38 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Phricker Боюсь, пользователи сделают из нашей ТП фарш, а потом начальство из меня )) Вариант не очень приемлем. И рассматривается, только как крайний. |
Автор: | Phricker [ 23 ноя 2012, 12:05 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
А причем тут пользователи, ваша ТП и скрипт предобработки запроса который будет отрезать все в username если там найден знак \ что стоит раньше этого |
Автор: | Zar1n [ 25 ноя 2012, 08:10 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Phricker Судя по найденому обсуждению этой темы в форуме, форвардинг происходит раньше пред-обработки. (могу ошибаться. Если так, то спасибо за подсказку.). А скрипт преведенный выше. В случае нахождения запрещенных символов. Добавляет к юзернейму "-wrongUsername". Пользователь не может авторизироваться и в биллинг падает ошибочка. ТП может без проблем найти проблему и попросить пользователя исправить логин. |
Автор: | snark [ 27 ноя 2012, 16:23 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Zar1n писал(а): функционал пересылки акаунтинга ... Иногда в атрибуте User-Name встречаются пробелы. Ололо! Какая знакомая тема! ![]() Тема про ![]() |
Автор: | Zar1n [ 29 ноя 2012, 06:48 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
snark писал(а): Отлично. ![]() |
Автор: | Phricker [ 29 ноя 2012, 09:43 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Там деньги берут ![]() |
Автор: | stark [ 03 дек 2012, 20:16 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Zar1n писал(а): Очень понадобился функционал пересылки акаунтинга, описанный тут. (понадобился он в связи с внедрение Cisco SCE) http://bgbilling.ru/v5.0/doc/ch03s08s02.html Но есть в нем одна маленькая проблема. Иногда в атрибуте User-Name встречаются пробелы. В логах радиуса, модуля dialup пробелов нет. Похоже, где-то в коде они обрезаются. Возможно ли добавить такую возможность для пересылаемого акаунтинга ? Добавил в TODO |
Автор: | stark [ 03 дек 2012, 20:18 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Zar1n писал(а): Phricker Судя по найденому обсуждению этой темы в форуме, форвардинг происходит раньше пред-обработки. (могу ошибаться. Если так, то спасибо за подсказку.). Да, так и есть. |
Автор: | stark [ 03 дек 2012, 20:23 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Zar1n писал(а): Переодичесски всплывают еще вот такие звери: Код: RADIUS: Logout of subscriber ÍÀÒÀËÜß\icube34572@633884226 failed, Invalid name 'ÍÀÒÀËÜß\icube34572@633884226'. the character at position 0 ('Í') is not allowed" Похоже на реалм, но реалмы мы не используем. У клиента вписан нормальный логин. Такое ощущение, что русские символы туда вставляет клиентская ОС. Для радиуса есть параметр remove.user.name.before.backslash Но он опять же не работает при форвардинге. Мы вообще почти ничего не делаем при форвардинге . Оно вообще не задумывалось как какая-то обработка пакета сложная для последующей пересылки..Я так понимаю, что она была нужна чтобы в конце концов все эти пакеты все равно попадут на наш радиус , а уже знает что надо делать . Вообще мне кажется неправильно вообще использовать наш радиус для форвардинга, неужели нет каких либо других решений? Зачем вообще вам нужен форвардинг , объясните . |
Автор: | snark [ 03 дек 2012, 20:24 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
stark писал(а): Zar1n писал(а): форвардинг происходит раньше пред-обработки Да, так и есть. Сделайте, пожалуйста, чтобы форвардинг был _после_ предобработки (у большинства там что-то да делается). Спасибо. |
Автор: | Cromeshnic [ 03 дек 2012, 21:40 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
У нас форвардинг используется только для интеграции с SCE через их Radius LEG |
Автор: | snark [ 03 дек 2012, 22:54 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Cromeshnic писал(а): У нас форвардинг используется только для интеграции с SCE через их Radius LEG У меня тоже только для этого. У skyb, ЕМНИМС, аналогичная ситуация. |
Автор: | skyb [ 04 дек 2012, 05:36 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
snark писал(а): Cromeshnic писал(а): У нас форвардинг используется только для интеграции с SCE через их Radius LEG У меня тоже только для этого. У skyb, ЕМНИМС, аналогичная ситуация. у меня пока не будет нормального форвардинга, SCE в связке с биллингом стоять не будет |
Автор: | Zar1n [ 04 дек 2012, 06:51 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Тоже используем для Cisco SCE, пересылаем пакеты в Radius LEG. Там, к сожаление возможности обработать нет. |
Автор: | snark [ 17 дек 2012, 18:54 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Бамп. |
Автор: | Zar1n [ 17 янв 2013, 19:39 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Бамп ? |
Автор: | skyb [ 18 янв 2013, 05:21 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
раз уж такая пьянка пошла.... Бамп |
Автор: | Cromeshnic [ 18 янв 2013, 07:24 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Может сразу уж просить у разработчиков решение для интеграции с SCE? |
Автор: | skyb [ 18 янв 2013, 08:16 ] |
Заголовок сообщения: | Re: Мусор в пересылаемом акаунтинге. (packet.forward) |
Cromeshnic писал(а): Может сразу уж просить у разработчиков решение для интеграции с SCE? + |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |