Доброго времени суток!
Рассматриваем возможность перехода на BGbilling.
В процессе настройки вашего биллинга столкнулись с рядом проблем. К сожалению, некоторые из них самостоятельно решить не получается.
При попытке авторизации через PPPoE в логах биллинга выдаётся ошибка: [07] Не найден код услуги.
Исходные данные:
NAS Cisco 5300 (старая):
Код:
north#sh ver
Cisco Internetwork Operating System Software
IOS (tm) 5300 Software (C5300-JK9S-M), Version 12.3(19), RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2006 by cisco Systems, Inc.
Compiled Thu 11-May-06 23:15 by evmiller
Image text-base: 0x60008AEC, data-base: 0x61A92000
ROM: System Bootstrap, Version 11.2(9)XA, RELEASE SOFTWARE (fc2)
BOOTLDR: 5300 Software (C5300-BOOT-M), Version 11.2(9)XA1, RELEASE SOFTWARE (fc1)
System image file is "flash:c5300-jk9s-mz.123-19.bin"
Работает циска на 2 радиуса. Первый авторизует диалап на старом биллинге, второй через Virtual-Template привязан к BG.
Сразу оговорюсь что запросы к радиусу проходят с циски, и вероятно, корректно. Так как если сменить в биллинге в настройках NAS пароль на лабуду, выдаётся ошибка: [02] Неверный пароль логина. Из чего я заключаю, что связь от NAS до циски есть сравнение логина и пароля проходит корректно(при верном пароле на NAS).
Настройки в NAS дефолтные, как в мануале(тип NAS указан верно):
Код:
#телефоны по портам, * - все порты (если параметр не указан, вызываемый номер берётся из Calling-Station-Id)
#nas.port_phone.*=900111
#числовые коды услуг времени, трафика входящего и исходящего
nas.port_time.default.*=
nas.port_traffic.default.*=4;5
nas.port_traffic.default.*=6:COLLECTOR;7:COLLECTOR;8:COLLECTOR;9:COLLECTOR;10:COLLECTOR;11:COLLECTOR
#разрешение активировать все типы карточек на этом NASе
card.activate.service=0
#поддержка CallBack (1-включите)
callback.support=0
#принудительный разрыв соединений на границе месяца
month.break=1
#интервал между посылками на проверку либо сброс соединения в секундах
nas.inspector.sleep_time=60
#максимальное число попыток сброса соединения
nas.inspector.kill.max_messages=5
Судя по вычитаному в форуме, если обсчёт идёт не по времени, нужно оставить его параметр пустым, параметр по трафику нужно определить разрешёнными типами, остальные типы трафика отправить в коллектор. Кусок конфига выше:
Код:
nas.port_traffic.default.*=4;5
nas.port_traffic.default.*=6:COLLECTOR;7:COLLECTOR;8:COLLECTOR;9:COLLECTOR;10:COLLECTOR;11:COLLECTOR
Номер 4 и 5 это входящий и исходящий трафик. Номера с 6 по 11 тоже трафик: локальный, фтп, игровой.
Вопрос: если тип трафика определяется как услуга в конфигурации модуля, то где определяется какие подсети попадают в ту или иную услугу?
Конфигурация модуля:
Код:
#вендоры - производители оборудования и их коды
vendors=9=Cisco;2011=Huawei;2021=Unix PPP;529=Lucent;6618=Quintum;529=Ascend;311=Microsoft;12341=MPD;14988=Mikrotik
#минимальная и максимальная длина пароля
password.length.min=5
password.length.max=10
#длина автоматически генерируемого пароля
password.length.auto=6
#допустимые в пароле символы
password.chars=1234567890
#сколько лет отображать в просмотре сессий через web
showyears=5
#XSL для печати и отправки на почту сессий
xslt.1=dialup_login_sessions.xsl
xslt.1.csv=dialup_login_sessions_csv.xsl
reportTitle.1=Отчет по сессиям DialUp
#XSL для печати и отправки на почту наработки по логинам
xslt.2=dialup_login_amount.xsl
xslt.2.csv=dialup_login_amount_csv.xsl
reportTitle.2=Отчет по наработке на логины DialUp
#коды услуг, не затрагиваемых при перерасчёте, например, если услуга используется для занесения наработки скриптом
#service.recalc.ignore=
#в просмотре сессий в на Web странице кол-во выводимых на странице сессий
show.sessions.on.page=25
#пункты Web - меню
web.menuItem1=Просмотр сессий DialUp
web.menuItem2=Наработка по логинам DialUp
web.menuItem3=Смена пароля на логины DialUp
web.menuItem4=Учётные периоды
web.menuItem5=Управление динамическим ДНС
#граница не карточных логинов
top.nocard.login=10000
#адрес и порт управления RADIUS сервера для возможности завершения сессий в мониторе модуля
#адрес должен совпадать с адресом где стоит RADIUS сервер, порт с admin.port из radius.properties
radius.manage=127.0.0.1:1955
############### опции RADIUS сервера #######################
#1 - проверять наличие в договоре всех требуемых услуг при авторизации, иначе ошибка авторизации "Услуга запрещена"
check.service=0
#код модуля "карточки", 0 - модуль "карточки" не используется
card.module.id=0
#количество одновременных сессий, разрешённых карточным логинам
#card.login.session.count=1
#время в секундах, через которое происходит пересчёт в режиме CHECKER
update.time=60
#время в секундах, через которое проверяется необходимость пересчёта в режиме CHECKER
run.sleep=3
#глобальный пул адресов
#pools.global=192.168.169.3-192.168.170.0;192.168.150.0
#для DialUP - режим работы
#1 - режим UPDATE - пересчёт во время прохождения UPDATE пакетов
#2 - режим CHECKER - пересчёт по таймеру, UPDATE пакеты используются для получения
#информации о трафике
dialup.workmode=1
#для режима UPDATE - время в секундах после последнего UPDATE пакета, по истечении которого сессия считается неактивной
#(не учитывается в подсчёте числа одновременных соединений)
max.update.timeout=120
#сколько максимально секунд соединение в статусе wait ждёт Start пакета
max.wait.timeout=120
#разрешение пользователям без определённой группы REALM ов использовать группу default
realmgr.default=default
#атрибуты, передаваемые в AUTH_ACCEPT пакете при авторизации по реалму default
#в данном случае это интервал между отправкой Update пакетов, в секундах, протокол PPP, и тип сервиса, см: RFC2865
realm.default=Acct-Interim-Interval=60;Service-Type=2;Framed-Protocol=1
#Атрибуты радиуса доступные в списке атрибутов в редактировании логина
radius.attributes=Service-Type;Framed-Protocol;Framed-IP-Address;Framed-IP-Netmask;Framed-Routing;Filter-Id;Framed-MTU;Framed-Compression;Login-IP-Host;Login-Service;Login-TCP-Port;Old-Password;Reply-Message;Callback-Number;Callback-Id;Expiration;Framed-Route;Framed-IPX-Network;State;Class;Session-Timeout;Idle-Timeout;Termination-Action;NAS-Identifier;Proxy-State;Framed-Pool
#Наборы атрибутов, доступные при редактировании логина
#attrset.1.title=
#attrset.1.attributes=
#игнорировать длительность соединения в Acct-Session-Time атрибуте с NASа, вычислять самостоятельно
#ignore.acct.session.time=1
#если установлено в 1 - принудительная передача Service-Type=2;Framed-Protocol=1 (рекомендуется передача этих атрибутов иными способами, см. выше realm.default)
add.service.type.and.framed.protocol=0
#если установлено в 1 - добавление в Auth Accept при MPPE-128 авторизации атрибутов MS_mppe_encryption_types (поддержка 128 битного шифрования) и MS_mppe_encryption_policy=1 (шифрование поддерживается)
#согласно http://rfclibrary.hosting.com/rfc/rfc2548/rfc2548-25.asp
add.mppe.enc.types.and.policy=1
#задержка закрытия сессий в секундах, используется при тарификации по данным NetFlow
#для исключения потери "хвостов" сессий, т.е. информации о трафике, пришедшей после завершения сессии
#delay.stop=5
#удалять из Accept пакета атрибут Framed-Pool в случае, если из данного пула был успешно выдан адрес RADIUS сервером
#drop.framed.pool.attr=1
Кусог логов радиуса:
Код:
11-09/11:32:38 INFO [main] DefaultServerSetup - Init DB connection pools
11-09/11:32:38 INFO [main] DefaultServerSetup - Init trash pools..
11-09/11:32:38 INFO [main] Radius - Starting radius auth_port:1812 acct_port:1813 admin_port:1955
11-09/11:32:38 INFO [main] Radius - Init processor
class: bitel.billing.server.processor.dialup.DialUpProcessor
mid: 1
11-09/11:32:39 INFO [Thread-21] radius - Starting PortListener port=1812|type=AUTH_LISTENER
11-09/11:32:39 INFO [Thread-22] radius - Starting PortListener port=1813|type=ACCOUNT_LISTENER
11-09/11:32:39 INFO [Thread-23] AdminPortListener - Starting AdminPortListener on 1955
11-09/11:32:44 INFO [pool-1-thread-1] radius - AUTH:
Type=AUTHENTICATION_REQUEST
Attributes:
User-Name=johndow
NAS-Identifier=north.loctelecom.ru
User-Password=12345
NAS-IP-Address=172.16.20.2
NAS-Port=253743
Service-Type=2
Framed-Protocol=1
Acct-Session-Id=6C03DF2F
NAS-Port-Type=15
cisco-NAS-Port=2/0/0/900
cisco-avpair=client-mac-address=001f.d090.eebf
11-09/11:32:45 INFO [pool-1-thread-1] radius - RESPONSE:
Type=AUTHENTICATION_REJECT
Process time auth: 157 common_auth: 144
Attributes:
Reply-Message=7
Вопрос традиционный: как исправить ?