ISG

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

Cisco ISG

Постановка задачи

В небольшом интернет-провайдере отказаться от использования VPN (pptp) для контроля сессий.
Траффик контролировать непосредсвенно на уровне IP. Контроль валидность src-IP осуществляется на уровне сети доступа (DHCP-snooping + ACL), любой клиент который попадает на роутер с ISG имеет верефицированный src-IP.

Требуется поддреживать следующие тарифы:

  1. Volume-Based Prepaid (помегабайтный тариф)
  2. Безлимитные тарифы с ограничением по траффику.
  3. (опционально) Тарифы с ограничением по скорости и времени. (Lagacy-тариы, который был предназначен для создания альтернативы диал-ап, пока не реализовано.)


  • Внимание: Volume-monitor работает только с суммарным траффиком. Возможно, это ограничение можно обойти созданием 2-х сервисов на входящий и исходящий траффик, однако я не вижу в этом смысла для себя на данный момент.

Вот цитата с cisco.com


Restrictions for ISG Prepaid Billing Support

  • ISG volume-based prepaid billing is not supported on the Cisco 10000-PRE2. не важно для меня
  • ISG prepaid billing support can only be applied to traffic flows that have been defined by an ISG traffic class.
  • Quotas are measured in seconds for time and in bytes for volume. There is no way to change the unit of measure. не важно для меня, непонятно кому может быть нужно что то другое
  • The volume quota is for combined upstream and downstream traffic.


Общяя схема работы такова: Биллинг (оригинальная разработка) управляет RADIUS-сервером (FreeRadius), который в свою очередь хранит информацию о пользователях и сервисах в "понятном" для ISG виде. При необходимости что-либо изменить непосредсвенно на маршрутизаторе с ISG (например, изменить текущий тариф, если пользователь поменял себе тариф и хочет наблюдать изменение скорости) биллинг посылает CoA-пакет который вызывает деавторизацию пользователя и потом - повторную авторизацию с новыми параметрами.

Пользователи Volume-Based тарифов перенаправляются на "портал" при исчерпании лимита траффика.


Для управления пользователями используются полиси-мап (policy-map) которые применяются на интерфейсы маршрутизатора.

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
 !
!

Этот policy-map означает

  1. Для сессий (или пакетов?) удовлетворяющих условию ISG-CUSTOMERS-POLICY выполнить действие 1 service disconnect.
  2. для ВСЕХ (control always) событий quota-depleted установить параметр drop-traffic

Это значит что между событиями quota-depleted (по предыдущему ответу от ААА-сервера лимит исчерпан) и credit-exhausted (ответ от ААА-сервера со значением квоты равной 0) траффик будет продолжать форвардиться. Отмечу, что теоретичесски если поплнить счет после окончания предыдущего лимита до того как будет произведен перезапрос, событие credit-exhausted никогда не наступит.

  1. При инициации сесии (control always event session-start) будет произведена попытка авторизации (10 authorize aaa list ISG-AUTH-1 password ISG identifier source-ip-address) и в случае неуспеха (unauth) будет установлен сервис перенаправления (30 service-policy type service name SERVICE_L4R)





В примере 1. При получени пакета, который не может быть отнесен ни к одной сесиии

initiator unclassified ip-address

В качестве инициатора сессии может выступать DHCP-пакет или мак-адрес (я - не использую)

Строка

ip subscriber routed

Обозначает что подписчики подключены через L3 маршрутизируюмую сеть.

Для определения того, что делать с пакетом (какую политику применить на сессию) используется

service-policy type control ISG-TEST-POLICY


Для классификации используется class-map

В этот class-map попадут только неаутентифицированные пользователи

class-map type control match-all ISG-IP-UNAUTH
 match timer UNAUTH-TIMER
 match authen-status unauthenticated

Для определения пользователей препейд-пакетов использую следующий class-map

class-map type control match-all CLASS_PREPAID_INTERNET
 match service-name PREPAID_INTERNET

PREPAID_INTERNET - имя сервиса, описанное в радиусе, и может быть любым (вероятно)



Задать приоритет откужа брать "сервисы" из конфига локально или запрашивать радиус

aaa authorization subscriber-service default local group ...


Для дебага мне понадобилось:

#sh debugging
SSS:
  SSS Manager events debugging is on
  SSS Manager errors debugging is on
  SSS policy events debugging is on
  SSS policy state machine debugging is on
  SSS policy all debugs debugging is on
  SSS policy detailed events debugging is on
  SSS policy error debugging is on
Subscriber Service Switch/Policy condition map:
  Subscriber policy condition map events debugging is on
Subscriber Service Switch/Policy rules:
  Subscriber Service Switch policy rules events debugging is on
Subscriber Service Switch/Policy service:
  Subscriber service events debugging is on
SSF/Access-list:
  ACL feature packets debugging is on
  ACL feature events debugging is on
SSF/L4R:
  L4 Redirect feature events debugging is on
  L4 Redirect feature errors debugging is on
  L4 Redirect feature packets debugging is on
SSF/Volume-Monitor:
  Prepaid volume monitor feature errors debugging is on
  Prepaid volume monitor feature events debugging is on

http://forum.nag.ru/forum/index.php?showtopic=45688
http://forum.nag.ru/forum/index.php?showtopic=41243
http://forum.nag.ru/forum/index.php?showtopic=42945


http://www.opennet.ru/openforum/vsluhforumID6/17551.html
http://www.opennet.ru/openforum/vsluhforumID6/15205.html
http://www.opennet.ru/openforum/vsluhforumID6/14964.html


http://www.ciscosystems.com/en/US/docs/ios/12_2sb/isg/coa/guide/isg_ig.html
http://www.cisco.com/en/US/docs/ios/12_2sb/isg/configuration/guide/isg_c.html
http://www.cisco.com/en/US/docs/ios/12_3t/12_3t11/feature/guide/gtssgdfq.html
http://www.cisco.com/en/US/docs/ios/isg/configuration/guide/isg_tshoot_sa_dcd.html
http://www.ciscosystems.cd/en/US/docs/ios/isg/configuration/guide/isg_subscriber_svcs.html
http://www.cisco.com/en/US/docs/ios/solutions_docs/edge_ios/ge_rls4.html


Очень интресная статья
http://www.cisco.com/en/US/docs/ios/solutions_docs/edge_ios_migration/migv2.html#wp1246871


Ссылки http://www.cisco.com/univercd/cc/td/doc/product/software/ios122sb/cg/isg_lib/index.htm


--Sirmax 08:04, 5 января 2009 (UTC)