Поддержка авторизации и аккаунтинга
Поддержка нескольких сервисов тарифного плана
Пользовательский портал авторизации и управления акаунтом
Перенаправление должников на портал с уведомлением о израсходованном балансе
Турборежимы. Возможность индивидуального включения, отключения, блокировки
Фильтры негативного депозита с возможностью присвоение отдельного сервиса для пользователей с негативным депозитом
Авторизация на основе данных DHCP сервера для использования в многосегментных сетях когда MAK адрес недоступен для ISG
При подключении пользователя к интернету - NAS (Cisco ISG) отправляет запрос на авторизацию к RADIUS, если RADIUS не находит идентификатор пользователя (IP или MAC), тогда пользователя перенаправляет на портал. Там он нажимает кнопку Авторизироваться, система через авторизатор ищет его идентификатор, если он не прописан в поле CID, прописывает его туда, и отправляет запрос авторизировать сессию на Cisco ISG. После получения запроса на повторную авторизацию Cisco ISG отправляет повторно запрос на RADIUS с идентификатором пользователя (IP или MAC) и RADIUS авторизирует его. Идентификатор пользователя прописывается в поле CID.
Если используется многосегментная сеть и Cisco ISG не может идентифицировать MAC клиента, а отправляет только IP, то, в таком случае, ABillS может автоматически определять и авторизировать пользователей по MAC адресу исходя из данных DHCP сервера.
После авторизации абонента Cisco ищет параметры сервиса абонента Cisco-Service-Info=«ATP_10_0_15» если данные о сервисе не найдены в кеше системы отправляется запрос на радиус с логинов в виде названия сервиса TP_10_0_15 (User-Name=TP_10_0_15). На данный запрос приходят параметры сервиса абонента.
Будьте внимательны при изменении параметров скорости в тарифном плане нужно почистить кеш сессий в Cisco, иначе будут присваиваться старые настройки сессий. |
При необходимости система может вести учёт и разделение трафика на разные классы Internet, UA-IX, город и т д.
Для включения данной возможности оператору следует завести классы трафика в биллинге.
При запросе сервиса для тарифного плана 10 и класса трафика 1 (UA-IX) с пропускной скоростью (640kbit/500kbit) RADIUS отправляет следующие параметры:
Cisco-Service-Info = QU;640000;80000;160000;D;500000;62500;125000;, cisco-avpair += ip:traffic-class=input access-group name ACL_IN_INTERNET_1 priority 200, cisco-avpair += ip:traffic-class=output access-group name ACL_OUT_INTERNET_1 priority 200, cisco-avpair += ip:traffic-class=out default drop, cisco-avpair += ip:traffic-class=in default drop, cisco-avpair += subscriber:accounting-list=BH_ACCNT_LIST_1 |
ACL_IN_INTERNET_1 - является аксеслистом с указанными сетями для данного класса трафика и с более низким приоритетом чем в глобального трафика.
BH_ACCNT_LIST_1 - является меткой аккаунтинга.
При первом подключении абонента перенаправляет на «Пользовательский портал». Абонент заходит в личный кабинет.
При входе в личный кабинет система идентифицирует сессию абонента отправляет RADIUS CoA на сервер доступа. Если сессии найдена, абоненту предлагается зарегистрировать MAC для дальнейшего пользования услугой Internet, если сессия абонента не найдена - на коммутаторе система предупреждает об этом абонента.
Если сессия найдена абонент нажимает кнопку Активировать аккаунт.
С момента нажатия кнопки активируются сервисы абонента и система предоставляет ему доступ к интернету. Если абонент изменил MAC адрес, ему нужно по-новому пройти процедуру авторегистрации.
Для более эффективной работы службы поддержки были внедрены следующие коды ошибок возникающих при работе клиента с пользовательским порталом.
ISG Errors | ||
---|---|---|
Код | Ошибка | Решение |
911 | Not exist user ID (MAC or IP) on Cisco ISG | Check IP/MAC on Cisco ISG NAS |
912 | DHCP Error. Can't find User IP in DHCP server | Check IP in: Monitoring→DHCP DHCP leases file leases2db.pl |
913 | Not registred IP Address. Can't find your NAS | Add user IP to NAS IP Pools |
914 | Negative Deposit | User have negative deposit and can't use service |
915 | Service Disabled | Service is disabled for user by Administrator |
916 | Account Disabled | Account is disabled for user by Administrator |
917 | Not Active Не активизирована услуга | Услуга не включена |
Ошибки включения сервиса
Service Activate Errors | ||
---|---|---|
100 | Unknow error | Unknow error Возможно Вы зашли в кабинет не с тем IP под которым подключился абонент |
101 | Turbo mode enable Error | Error in TURBO MODE activation process |
102 | User activation Error | System can't add user IP/MAC to CID field |
103 | IP Discovery mode failed. Unknown error | Can't add user IP to Dhcphosts |
104 | IP Discovery mode failed. Dublicate IP/MAC | Some of parameters Exists in Dhcphosts table |
106 | No responce from CoA server 'xxx.xxx.xxx.xxx' | Нет определения статуса сессии. Запрос управления CoA не проходит |
112 | DHCP $_ERROR MAC: $_NOT_EXIST IP: 'xxx.xxx.xxx.xxx' | Система не может определить MAC адрес абонента. Проверьте присутствует ли адрес в журнале /Мониторинг/ |
114 | $ERR_IP_ADDRESS_CONFLICT | Конфликт адресов. адрес прописан статически на другом абоненте |
118 | $_ERROR: Dublicate | Попытка добавить уже существующий адрес |
119 | $_ERROR: DHCP add hosts error | Другая ошибка добавления |
120 | $_ERROR: Can't find assign network IP: 'xxx.xxx.xxx.xxx' | Нельзя найти гостевую сеть для определения рабочей сети. Смотрите параметр $conf{INTERNET_IP_DISCOVERY} на предмет присутствия сети |
121 | Not active Не активизирован | MAC абонента не активизирован или отличается от активизированного в системе. Нужно переактивизировать MAC абонента |
version 12.2 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname ISG-1 ! boot-start-marker boot-end-marker ! enable secret 5 $1$WWW/$4otH.1GYuWkFaQp25MJ.V1 ! aaa new-model ! ! aaa group server radius ISG-RADIUS server 10.0.0.1 auth-port 1812 acct-port 1813 ! aaa authentication login default group tacacs+ local aaa authentication login ISG-AUTH-1 group ISG-RADIUS aaa authorization config-commands aaa authorization exec default group tacacs+ local aaa authorization commands 15 default group tacacs+ local aaa authorization network ISG-AUTH-1 group ISG-RADIUS aaa authorization subscriber-service default local group ISG-RADIUS aaa accounting update periodic 1 jitter maximum 0 aaa accounting commands 15 default start-stop group tacacs+ aaa accounting network ISG-AUTH-1 start-stop group ISG-RADIUS ! ! ! ! ! coa interface aaa server radius dynamic-author client 10.0.0.1 server-key isgcontrol ! aaa session-id common clock timezone AZST 5 ip subnet-zero ! ! ip dhcp relay information policy keep ip dhcp relay information trust-all ! ip cef ip domain name mydomain.com ip ssh version 2 ! ! ! multilink bundle-name authenticated ! ! archive log config hidekeys username letsac privilege 15 secret 5 $1$jHQz$bkaihoHMi6.Eq4ifYnUgH/ ! redirect server-group REDIRECT_NOPAY server ip 10.0.0.1 port 80 class-map type traffic match-any CLASS-TO-REDIRECT match access-group input 197 match access-group output 197 ! class-map type control match-all ISG-IP-UNAUTH match timer UNAUTH-TIMER match authen-status unauthenticated ! policy-map type service LOCAL_L4R ip access-group 197 in ip access-group 197 out 1 class type traffic CLASS-TO-REDIRECT redirect to group REDIRECT_NOPAY ! ! policy-map type control ISG-CUSTOMERS-POLICY class type control ISG-IP-UNAUTH event timed-policy-expiry 1 service disconnect ! class type control always event quota-depleted 1 set-param drop-traffic FALSE ! class type control always event credit-exhausted 1 service-policy type service name LOCAL_L4R ! class type control always event session-start 10 authorize aaa list ISG-AUTH-1 password ISG identifier source-ip-address 20 set-timer UNAUTH-TIMER 1 30 service-policy type service name SERVICE_L4R ! class type control always event session-restart 10 authorize aaa list ISG-AUTH-1 password ISG identifier source-ip-address 20 set-timer UNAUTH-TIMER 1 30 service-policy type service name SERVICE_L4R ! class type control always event account-logon 10 authenticate aaa list ISG-AUTH-1 20 service-policy type service unapply name SERVICE_L4R ! interface GigabitEthernet0/1.40 description SUBSCRIBERS SUBNET 10.0.0.2/24 encapsulation dot1Q 40 ip dhcp relay information trusted ip address 10.0.0.2 255.255.255.0 ip helper-address 10.0.0.1 service-policy type control ISG-CUSTOMERS-POLICY ip subscriber routed initiator unclassified ip-address ! logging trap notifications logging origin-id hostname logging 10.0.0.1 logging host 10.0.0.1 transport udp port 6032 !Billing access-list 195 permit ip host 10.0.0.1 any access-list 195 permit ip any host 10.0.0.1 access-list 195 deny ip any any ! Without billing access-list 196 deny ip host 10.0.0.1 any access-list 196 deny ip any host 10.0.0.1 access-list 196 permit ip any any ! Redirect rules access-list 197 permit tcp any any eq www access-list 197 permit tcp any eq www any access-list 197 permit udp any any eq domain access-list 197 permit udp any eq domain any access-list 197 deny ip any any ! Acces rule for guest users access-list 198 permit tcp any any eq www access-list 198 permit tcp any eq www any access-list 198 permit udp any any eq domain access-list 198 permit udp any eq domain any access-list 198 permit tcp any any eq 9443 access-list 198 permit tcp any eq 9443 any access-list 198 deny ip any any ! radius-server attribute 44 include-in-access-req radius-server attribute 44 extend-with-addr radius-server attribute 8 include-in-access-req radius-server attribute 32 include-in-accounting-req radius-server attribute 55 include-in-acct-req radius-server attribute 31 mac format unformatted radius-server host 10.0.0.1 auth-port 1812 acct-port 1813 key radisg radius-server vsa send cisco-nas-port radius-server vsa send accounting radius-server vsa send authentication ! |
RADIUS Server | 10.0.0.1 |
---|---|
WEB server | 10.0.0.1 |
DHCP server | 10.0.0.1 |
Файл настройки config.pl
$AUTH{cisco_isg} = 'Mac_auth2'; $ACCT{cisco_isg} = 'Acct2'; |
$conf{INTERNET_ISG}=1; |
$conf{ISG_SERVICES}='NTURBO_SPEED1;NTURBO_SPEED1;ABILLING_ACCESS'; | Описание дополнительных сервисов авторизации. Первая буква сигнализирует запускать ли сервис при старте сессии (A) |
---|---|
$conf{ISG_ACCOUNTING_GROUP}='ISG-AUTH-1'; | Аккаунтинг группа. По умолчанию ISG-AUTH-1 |
$conf{INTERNET_ISG}=1; | При использовании Freeradius DHCP сессии для DHCP вести только в лизес мониторинге |
$conf{DHCP_LEASES_NAS}='NAS_ID'; | Список серверов которые используются для ведения dhcp leases. Данная опция указывается если для выдачи ISG IP используется ABillS Freeradius DHCP |
$conf{INTERNET_ISG_KILL_WITH_SID}=1; | Скидывать сессии используя RADIUS User-Name + Acct-Session-Id по умолчанию используется RADIUS User-Name + Framed-IP-Address |
Настройка cервера доступа через меню Настройка>Сервер доступа
IP: | IP адрес маршрутизатора |
---|---|
Название: | Название |
Тип: | указать тип: cisco_isg |
Управление
IP:PORT: | адрес и порт для отправки RADIUS CoA команд. (По умолчанию 1700) |
---|---|
Пароль: | пароль для отправки RADIUS CoA команд |
sh sss session |
Получаем:
Current Subscriber Information: Total sessions 1 Uniq ID Interface State Service Identifier Up-time 179 IP authen Local Term 123.123.244.194 00:16:27 |
Более детальная информация о трафике:
sh sss session detail |
Получаем:
Session inbound features: Feature: Prepaid Idle Timeout Timeout configuration: 120 (seconds) Feature: Prepaid Volume Monitor Threshold:999999 - Quota:1000000 Usage(since last update):161828 - Total:161828 Current states: Start Session outbound features: Feature: Prepaid Idle Timeout Timeout configuration: 120 (seconds) Feature: Prepaid Volume Monitor Threshold:999999 - Quota:1000000 Usage(since last update):161828 - Total:161828 Current states: Start Configuration sources associated with this session: Service: PREPAID_INTERNET, Active Time = 00:16:39 |
cle sss session all |
sh redirect translations |
Удобный интерфейс отслеживания и мониторинг сессий абонентов непосредственно на Cisco
Меню Настройка>Сервер доступа>Активные сессии
Информация по сессии:
Также доступны команды
Проверки лога
Просмотр версии маршрутизатора
Просмотр конфигурации
Информация по интерфейсах
Для получения информации используется rsh протокол. Для использования нужно rsh доступ на Cisco для пользователя abills_admin (под которым работает веб сервер).
ip rcmd rsh-enable no ip rcmd domain-lookup ip rcmd remote-host abills_admin 10.88.88.1 root enable 15 username abills_admin privilege 15 nopassword #Также возможно нужно будет добавить telnet line vty 0 4 transport input telnet ssh transport output ssh |
Тестирование
rsh -l abills_admin 10.88.88.10 "show run" |
10.0.0.2 адрес CISCO ISG
10.11.11.1 адрес клиента
rad_recv: Access-Request packet from host 10.0.0.2 port 1645, id=178, length=121 User-Name = "10.11.11.1" User-Password = "ISG" NAS-Port-Type = Virtual Cisco-NAS-Port = "0/0/1/40" NAS-Port = 0 NAS-Port-Id = "0/0/1/40" Service-Type = Outbound-User NAS-IP-Address = 10.0.0.2 Acct-Session-Id = "3ED4EBBB00057216" |
Sending Access-Reject of id 178 to 10.0.0.2 port 1645 Reply-Message = "User Not Exist '169.254.6.231' /0" |
rad_recv: Access-Request packet from host 10.0.0.2 port 1645, id=179, length=119 User-Name = "SERVICE_L4R" User-Password = "cisco" NAS-Port-Type = Virtual Cisco-NAS-Port = "0/0/1/40" NAS-Port = 0 NAS-Port-Id = "0/0/1/40" Service-Type = Outbound-User NAS-IP-Address = 10.0.0.2 Acct-Session-Id = "3ED4EBBB00057216" |
Sending Access-Accept of id 179 to 10.0.0.2 port 1645 Cisco-AVPair += "ip:l4redirect=redirect list 197 to group REDIRECT_NOPAY" Cisco-AVPair += "traffic-class=input access-group 198" Cisco-AVPair += "traffic-class=output access-group 198" Cisco-AVPair += "ip:traffic-class=out default drop" Cisco-AVPair += "ip:traffic-class=in default drop" Idle-Timeout = 600 |
rad_recv: Access-Request packet from host 10.0.0.2 port 1645, id=1179, length=119 Framed-Protocol = PPP User-Name = "n9351779" CHAP-Password = 0x013d75d54fca0f2f4f189a03a1816b77bf NAS-Port-Type = PPPoEoVLAN NAS-Port = 0 NAS-Port-Id = "0/1/1/939" Cisco-AVPair = "client-mac-address=0019.dbc7.d1cb" Service-Type = Framed-User NAS-IP-Address = 10.0.0.2 Acct-Session-Id = "00D24ADF" NAS-Identifier = "91.223.105.1" Event-Timestamp = "Aug 7 2015 06:22:57 MSK" |
Sending Access-Accept of id 179 to 10.0.0.2 port 1645 Cisco-Control-Info = QV1000000 Service-Type = Outbound-User Idle-Timeout = 120 Cisco-Account-Info = NTP_10_0_48 Cisco-Account-Info = ATP_10_0_48 Cisco-Account-Info = ABILLING_ACCESS User-Name = n9351779 Cisco-Service-Info = ATP_10_0_48 |
Абоненту включается услуга тарифного плана с ID TP_10_0_48 (TP_[ID тарифного плана (tp_id)]-[клас трафика]-[номер временного интервала]).
rad_recv: Access-Request packet from host 10.0.0.2 port 1645, id=1279, length=119 User-Name = TP_10_0_48 NAS-IP-Address = 10.0.0.2 |
Sending Access-Accept of id 179 to 10.0.0.2 port 1645 Cisco-Service-Info = QU;1024000;128000;256000;D;1024000;128000;256000; Cisco-AVPair = ip:traffic-class=in access-group 196 priority 6 Cisco-AVPair = ip:traffic-class=out access-group 196 priority 6 Cisco-AVPair = ip:traffic-class=out default drop Cisco-AVPair = ip:traffic-class=in default drop Cisco-AVPair = subscriber:accounting-list=ISG-AUTH-1 Acct-Interim-Interval = 86000 |
Очистка кеша сервисов
ipconfig /release |