Cisco ISG

Возможности

  • Поддержка авторизации и аккаунтинга
  • Поддержка нескольких сервисов тарифного плана.
  • Пользовательский портал авторизации и управления акаунтом.
  • Перенаправление должников на портал с уведомлением о израсходованном балансе.
  • Турборежимы. Возможность индивидуального включения, отключения, блокировки.
  • Фильтры негативного депозита с возможностью присвоение отдельного сервиса для пользователей с негативным депозитом.
  • Авторизация на основе данных DHCP сервера для использования в многосегментных сетях когда мак адрес недоступен для ISG.

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. На данный запрос приходят параметры сервиса абонента. Будьте внимательны при изменении параметров скорости в тарифном плане нужно почистить кешь сессий в 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

Для более эффективной работы службы поддержки были внедрены следующие коды ошибок возникающих при работе клиента с пользовательским порталом.

Код Ошибка Решение
ISG Errors
11 Not exist user ID (MAC or IP) on Cisco ISG Check IP/MAC on Cisco ISG NAS
12 DHCP Error. Can't find User IP in DHCP server. Check IP in:
Monitoring→DHCP
DHCP leases file.
leases2db.pl
13 Not registred IP Address. Can't find your NAS. Add user IP to NAS IP Pools
14 Negative Deposit User have negative deposit and can't use service
15 Service Disabled Service is disabled for user by Administrator
16 Account Disabled Account is disabled for user by Administrator
17 Not Active
Не активизирована услуга
Услуга не включена

Ошибки включения сервиса

Service Activate Errors
100 Unknow error Unknow error
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 адрес абонента. Проверте присутствует ли адрес в журнале /Мониторинг/Dhcp/.
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{DV_IP_DISCOVERY} на предмет присутствия сети
121 Not active.
Не активизирован
MAC абонента не активизирован или отличается от активизированного в системе.
Нужно пере активизировать MAC абонента

Настройка Cisco

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

ABillS

Настройка сервера доступа

файл настройки config.pl

включение модуля авторизации

$AUTH{cisco_isg} = 'Mac_auth';

Включение поддержки Cisco ISG в пользовательском портале

$conf{DV_ISG}=1;
$conf{ISG_SERVICES}='NTURBO_SPEED1;NTURBO_SPEED1;ABILLING_ACCESS'; Описание дополнительных сервисов авторизации.
Первая буква сигнализирует запускать ли сервис при старте сессии (A)
$conf{ISG_ACCOUNTING_GROUP}='ISG-AUTH-1'; аккаунтинг группа.
По умолчанию ISG-AUTH-1
$conf{DHCPHOSTS_ISG}=1; При использовании Freeradius DHCP сессии для DHCP вести только в лизес мониторинге

Настройка сервера доступа / Система/ Сервер доступа/

IP: IP адрес маршрутизатора
Название: Название
Тип: указать тип: cisco_isg

:Управление:

IP:PORT: адрес и порт для отправки RADIUS CoA команд. (По умолчанию 1700)
Пароль: пароль для отправки RADIUS CoA команд

Проверяю состояние сессии на роутере:

Router#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 

ABillS Console

удобный интерфейс отслеживания и мониторинг сессий абонентов непосредственно на Cisco

/ Настройка / Сервер доступа Активные сессии Cisco ISG Sessions Информация по сессии

Информация о сессии

Также доступны команды

  • Проверки лога
  • Просмотр версии маршрутизатора
  • Просмотр конфигурации
  • Информация по интерфейсах

Для получения информации используется rsh протокол. Для использования нужно rsh доступ на Cisco для пользователя www-data (под которым работает веб сервер).

RADIUS Debug

  • 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

Пример PPPoE авторизации

Запрос авторизации

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)]-[клас трафика]-[номер временного интервала])

запрос параметров тарифного плана TP_10_0_48

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