Jump to content
Калькуляторы

ISG есть вопросы

Понемногу разбираюсь с ISG. Но требуется помощь.

 

Клиент по PPPoE подсоединяется к ISG.

В ответ на Access-Request приходит Access-Accept со стандартными параметрами (IP-адрес и прочие) и с именами сервисов - Local и Internet. На ISG сервисов нет, и цыска обращается к policy server'у (к RADIUS серверу) с двумя Access-Request, в качестве Username у которых названия сервисов. RADIUS сервер отвечает Access-Accept с описанием сервисов - один сервис описывает локальный трафик с возможностью аккаунтинга (если всё получится, есть вариант частичного отказа от Netflow для подсчёта трафика) и ограничением скорости доступа до этих локальных ресурсов, второй то же самое делает с глобальным.

 

Вопросы:

1. Хочу в определённое время всем абонентам безлимитных тарифов повысить скорость доступа в локал и/или глобал. Как это сделать? Делается ли это одним действием для всех пользователей с одинаковыми сервисами (например сервисами, которые описывают тариф со скоростью доступа в глобал 128 кб/c и локалом в 1 мб/с), или для каждого пользователя надо делать отдельно (и если таких пользователей 1000, это же очень проблематично)? В правильном ли направлении я двигаюсь, или есть более "красивый"/"правильный" метод?

 

2. Хотелось бы увидеть содержание CoA пакетов для таких действий, как смена сервисов на ходу + описание. Допустим, мы выключаем сервис Internet, а вместо него включаем сервис l4redirect.

 

3. Если на ISG зарегистрирован пользователь с сервисами Internet и Local, при подключении второго пользователя, использующего те же сервисы, ходит ли ISG в биллинг за их описанием (мол каждый - свой instance), или берёт из памяти/кэша описания сервисов для первого пользователя?

 

4. Желающие поделиться схемой реализации функционала ISG, а так же конфигами и описанием приветствуются.

 

Я понимаю, что на все эти вопросы есть ответы в документации и согласен и на тыканье носом. Но если кто-нибудь помимо этого поможет словом и делом, буду примного благодарен.

 

Ниже приведены настройки из Freeradius, используемые мной.

 

Учётка пользователя VPupkin:

VPupkin Cleartext-Password := "helloworld"
    Service-Type = Framed-User,
    Framed-Protocol = PPP,
    Framed-IP-Address = 192.168.0.1,
    Framed-IP-Netmask = 255.255.255.255,
    Cisco-Account-Info:1 = "AISGInternet",
    Cisco-Account-Info:2 += "AISGLocal"

 

Сервис ISGInternet со скоротью 128 кб/с:

ISGInternet Cleartext-Password := "cisco"
    Cisco-AVPair:1 = "ip:traffic-class=in access-group name Internet-in priority 30",
    Cisco-AVPair:2 += "ip:traffic-class=out access-group name Internet-out priority 30",
    Cisco-AVPair:3 += "accounting-list=PPPoE",
   Cisco-Service-Info = "QU;128000;64000;U;128000;64000",
    Cisco-AVPair:4 += "ip:traffic-class=in default drop",
    Cisco-AVPair:5 += "ip:traffic-class=out default drop",
    Cisco-Service-Info:1 = "IINET",
#    Cisco-Service-Info:2 += "R0.0.0.0;0.0.0.0",
    Cisco-Service-Info:2 += "MC",
    Cisco-Service-Info:3 += "TP",
    Acct-Interim-Interval = 120,
    Service-Type = Outbound-User

 

Сервис ISGLocal со скоростью локала в 1 мб/c:

ISGLocal Cleartext-Password := "cisco"
    Cisco-AVPair = "ip:traffic-class=in access-group name Local-in priority 30",
    Cisco-AVPair += "ip:traffic-class=out access-group name Local-out priority 30",
    Cisco-AVPair += "accounting-list=PPPoE",
    Cisco-Service-Info = "QU;1024000;512000;D;1024000;512000",
    Cisco-AVPair += "ip:traffic-class=in default drop",
    Cisco-AVPair += "ip:traffic-class=out default drop",
    Cisco-Service-Info = "ILOCAL NET",
#    Cisco-Service-Info += "R62.231.160.0;255.255.224.0",
    Cisco-Service-Info += "MC",
    Cisco-Service-Info += "TP",
    Acct-Interim-Interval = 120,
    Service-Type = Outbound-User

 

Какие-то куски конфигов не мои. Посему дополнительные вопросы из серии "что это значит" (в мануалах не нашёл):

 

5. Cisco-Service-Info += "R192.168.0.0;255.255.255.0" / Cisco-Service-Info:2 += "R0.0.0.0;0.0.0.0";

 

6. Cisco-Service-Info += "MC";

 

7. Cisco-Service-Info += "TP".

 

Конфиг цыски могу запостить только завтра. Ну и по ходу возникнут ещё вопросы.

 

Спасибо за внимание.

Share this post


Link to post
Share on other sites

1. Вариант с СOA мне не понравился по той причине что если все клиентам нужно изменить скорость нужно совершать много телодвижений

я сделал так:

вешаем клиенту два профиля day night

на профиле night acl типа ip:traffic-class=in access-group name Internet-in priority 30 имеет меньшее значение приоритета чем на профиле day

а на самой циске acl night делаем как time range и таким образом если надо изменить ночное повышение меняем time range на циске и все

 

3. если профиль скачан - то второй раз циска не полезет за ним на радиус --- поэтому если вы что-то изменили в профиле надо ребутать циску

см команду sh sss service

 

5. R -- описывает разрешенные сети для профиля -- для ISG считается устаревшим .. здесь есть ньанс

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

или через атрибут R или через acl профиля ... вариант с acl как понимаете более гибкий

M - режим доступа к сервису

MC -- параллельный -- т.е могут работать несколько сервисов -- дефолтный режим

ME -- эксклюзивный -- т.е. клиент будет подключен только к нему - остальные идут лесом

MS -- последовательный - чтобы к нему подключиться нужно выкл другие сервисы -- больше нужен для портала где скажем клиент может

переключать скорости

TX/T/P

P—Pass-through. Indicates that the user's packets are forwarded through the SSG. This is the default.

T—Tunnel. Indicates that this is a tunneled service.

X—Proxy. Indicates that the SSG performs proxy service.

лень писать

 

вы вообще делайте лучше поиск по SSG а не ISG -- все атрибуты идут из SSG

где то было ссылка - потерял если найду выложу -- там была замечательнейшая табличка соответствия service-ido account-info avpair

и их значение в плане где они могут применяться а где нет

Edited by alks

Share this post


Link to post
Share on other sites

Спасибо за ответ.

 

1. Я так понял, что правильно будет в ответ на Access-Request с именем пользователя помимо сервисов отдать описание анлимита в виде:

lcp:interface-config=no rate-lim in 7000000 1250000 2500000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim i access-gr 121 256000 48000 96000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim i access-gr 122 5000000 960000 1920000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim o access-gr 131 500000 96000 192000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim o access-gr 132 5000000 960000 1920000 conform-act tran exceed-act dr

Так?

Я так понимаю, что при этом полисинг будет применяться на всю сессию, а вот аккаунтинг по направлениям будет через сервисы.

 

Кстати, вот show run interface Virtual-Template 1:

interface Virtual-Template2
description "PPPoE MAGELAN"
ip unnumbered Loopback0
ip access-group pppoe-in in
no ip redirects
no ip proxy-arp
ip flow ingress
ip flow egress
rate-limit input 7000000 1250000 2500000 conform-action transmit exceed-action drop
no peer default ip address
keepalive 5
ppp authentication pap PPPoE-MAGELAN
ppp authorization PPPoE-MAGELAN
ppp accounting PPPoE-MAGELAN
ppp ipcp header-compression ack
ppp ipcp address required
ppp ipcp address unique

А так же прошу по возможности найти ту ссылочку.

Share this post


Link to post
Share on other sites

Вариант, описанный alks, помнится работал: подписчику вешается два активных сервиса - InternetA и InternetB, описываемых acl с time range так, чтобы трафик матчился либо одним, либо другим ISG-сервисом в зависимости от времени суток.

 

Атрибуты MC, R, TP выкиньте. На что они вам? Это артефакты SSG.

 

Кстати, выражение "lcp:interface-config" лучше забыть. На 7201/7301 оно себя ещё не очень проявляет, а на esr надо его убирать непременно.

 

Share this post


Link to post
Share on other sites

Ну тогда мне надо 4 сервиса делать, два на Интернет и два на локал (т.к. хотим через аккаунтинг вести подсчёт трафика).

 

А что тогда вместо "lcp:interface-config" использовать, и где про это почитать можно?

Share this post


Link to post
Share on other sites
Ну тогда мне надо 4 сервиса делать, два на Интернет и два на локал (т.к. хотим через аккаунтинг вести подсчёт трафика).

 

А что тогда вместо "lcp:interface-config" использовать, и где про это почитать можно?

Если выбрать способ с time range в acl, значит получаются 4 одновременно активных сервиса.

Вместо "lcp:interface-config" лучше использовать специальные конструкции типа "ip:vrf-id", "ip:ip-unnumbered" итп.

 

http://www.cisco.com/en/US/docs/routers/10....html#wp1082057

 

http://www.cisco.com/en/US/docs/ios/12_2sb...ide/isg_ig.html

 

Share this post


Link to post
Share on other sites

У нас 72xx/73xx. Стоит ли "ip:vrf-id", "ip:ip-unnumbered" вместо этого использовать если не десятитонник? Если не сложно, приведите эквивалент приведённому мной коду.

По поводу "правильности". Какие в таких случаях (анлимит с увеличением скорости ночью и разделением локала/глобала/ещё-каких-нибудь-направлений) вещи нужно оставлять в конфиге цыски (сервисы, ACL, полисинг, прочее), а какие "подгружать" с RADIUS сервера (IP-адрес клиента, сервисы, ACL, полисинг, прочее)? Интересует, так сказать, best practice.

 

Кстати, Цыска для каждого нового pppoe'шника "ходит" на RADIUS сервер за описанием одних и тех же сервисов даже если уже есть pppoe сессии с ними (сервисами). Например, для моего случая это ISGLocal и ISGInternet. Получается, что при регистрации pppoe пользователя требуется послать 3 Access-Request - один с логином/паролем пользователя и два с запросами сервисов ISGLocal и ISGInternet.

 

UDP: Как на производительности сказывается: наличие/отсутствие full VIA (Virtual-Access Interface) для терминирования PPPoE, количество сервисов (например 2 или 10)?

Share this post


Link to post
Share on other sites
У нас 72xx/73xx. Стоит ли "ip:vrf-id", "ip:ip-unnumbered" вместо этого использовать если не десятитонник? Если не сложно, приведите эквивалент приведённому мной коду.

По поводу "правильности". Какие в таких случаях (анлимит с увеличением скорости ночью и разделением локала/глобала/ещё-каких-нибудь-направлений) вещи нужно оставлять в конфиге цыски (сервисы, ACL, полисинг, прочее), а какие "подгружать" с RADIUS сервера (IP-адрес клиента, сервисы, ACL, полисинг, прочее)? Интересует, так сказать, best practice.

 

Кстати, Цыска для каждого нового pppoe'шника "ходит" на RADIUS сервер за описанием одних и тех же сервисов даже если уже есть pppoe сессии с ними (сервисами). Например, для моего случая это ISGLocal и ISGInternet. Получается, что при регистрации pppoe пользователя требуется послать 3 Access-Request - один с логином/паролем пользователя и два с запросами сервисов ISGLocal и ISGInternet.

 

UDP: Как на производительности сказывается: наличие/отсутствие full VIA (Virtual-Access Interface) для терминирования PPPoE, количество сервисов (например 2 или 10)?

Думаю, что стоит сразу использовать специализированные vsa.

Про код не ясно - о каком коде речь? Полисеры на интерфейсе (не в ISG сервисе)? Есть vsa для подвешивания service policy на интерфейс:

av-pair = "ip:sub-policy-In=POL_IN",

av-pair = "ip:sub-policy-Out=POL_OUT"

Политики в этом случае конечно должны существовать на bras.

 

Для масштабируемости - все что можно лучше выносить на RADIUS.

 

Ходить каждый раз за профайлами сервисов на RADIUS циска не должна. Если хотя бы один подписчик использует сервис, то профиль данного сервиса кешируется в памяти и не может быть изменен "на лету". Пример дебага с конфигом можно посмотреть?

 

С т.зр. производительности лучше использовать subinterfaces, но это не всегда возможно. В частности, это не дает сделать lcp:interface-config.

Share this post


Link to post
Share on other sites

1. Код - это:

lcp:interface-config=no rate-lim in 7000000 1250000 2500000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim i access-gr 121 256000 48000 96000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim i access-gr 122 5000000 960000 1920000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim o access-gr 131 500000 96000 192000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim o access-gr 132 5000000 960000 1920000 conform-act tran exceed-act dr

 

2. Про профили. Скажем так, наши инженеры по биллингу сказали, что для каждого следующего клиента цыска (7301, конкретный ИОС сейчас не подскажу - могу завтра) ходит в биллинг за его профилями (для каждого профиля свой Access-Request). Пример юзера и сервисов приведён выше.

Если надо, завтра могу снять дамп с RADIUS сервера. Если нужен дебаг с цыски, то какой именно?

 

В конфиге цыски из ISG:

* строка AAA, где говорится, где искать Policy Server;

* ACL.

 

UPD:

Думаю, что стоит сразу использовать специализированные vsa.
Это про что речь?

Share this post


Link to post
Share on other sites
2. Про профили. Скажем так, наши инженеры по биллингу сказали, что для каждого следующего клиента цыска (7301, конкретный ИОС сейчас не подскажу - могу завтра) ходит в биллинг за его профилями (для каждого профиля свой Access-Request). Пример юзера и сервисов приведён выше.

Если надо, завтра могу снять дамп с RADIUS сервера. Если нужен дебаг с цыски, то какой именно?

Выше вам правильно написали.

Если сервис используется хотя бы у одного юзера, то циска за профилем сервиса в радиус не ходит, а берёт его из кэша.

С одной стороны это правильно, но с другой несколько напрягает, что нельзя изменить сервис на лету сразу для всех юзеров у кого он используется, через CoA можно менять параметры загруженного сервиса только для конкретного пользователя(сессии).

Share this post


Link to post
Share on other sites

Зачем же она ходит к RADIUS серверу за сервисами для каждого пользователя?

 

Ок. Я завтра сделаю дамп.

 

 

UPD: Проверил. Действительно, цыска за профилями к RADIUS серверу не обращалась.

Share this post


Link to post
Share on other sites
1. Код - это:
lcp:interface-config=no rate-lim in 7000000 1250000 2500000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim i access-gr 121 256000 48000 96000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim i access-gr 122 5000000 960000 1920000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim o access-gr 131 500000 96000 192000 conform-act tran exceed-act dr
lcp:interface-config=rate-lim o access-gr 132 5000000 960000 1920000 conform-act tran exceed-act dr

 

UPD:

Думаю, что стоит сразу использовать специализированные vsa.
Это про что речь?

policer в ISG сервисе чем не подходит?

 

Специализированные vsa - это все те же cisco-avpair "ip:vrf-id", "ip:sub-policy-in" и т.п.

Edited by ilgizk

Share this post


Link to post
Share on other sites

Да вот я всё думаю, лучше на сессию целиком повесить полисинг, или создать 4 сервиса для этого (день/ночь - интернет/локал). В принципе, статистика то нужна только по локалу/глобалу. Без привязки ко времени.

 

Кстати, "ip:sub-policy-in" не работает в профиле абонента:

user Cleartext-Password := "password"
    Service-Type = Framed-User,
    Framed-Protocol = PPP,
    Framed-IP-Address = 1.2.3.4.5,
    Framed-IP-Netmask = 255.255.255.255,
    Cisco-AVPair = "ip:sub-policy-In=512K-in",
    Cisco-AVPair += "ip:sub-policy-Out=512K-out",
    Cisco-Account-Info = "AISGInternet",
    Cisco-Account-Info += "AISGLocal"

Вот сами полиси:

policy-map 512K-out
  class LOCAL-OUT
   police 1000000 187500 375000    conform-action transmit     exceed-action drop
  class INTERNET-OUT
   police 512000 96000 192000    conform-action transmit     exceed-action drop
policy-map 512K-in
  class LOCAL-IN
   police 1000000 187500 375000    conform-action transmit     exceed-action drop
  class INTERNET-IN
   police 512000 96000 192000    conform-action transmit     exceed-action drop

Вот class-map'ы:

class-map match-any LOCAL-OUT
  match access-group name 2103
class-map match-any INTERNET-IN
  match access-group name 2100
class-map match-any LOCAL-IN
  match access-group name 2102
class-map match-any INTERNET-OUT
  match access-group name 2101

Я знаю, что я где-то туплю (что я QoS читал по-диагонали год назад), но вот где?

 

Кстати, вот такая конструкция должна ограничивать скорость до 128к, если прописана в сервисе:

Cisco-Service-Info = "QU;128000;64000;U;128000;64000",

?

 

Вот запись в RADIUS сервере:

ISGInternet Cleartext-Password := "cisco"
    Cisco-AVPair:1 = "ip:traffic-class=in access-group name Internet-in priority 30",
    Cisco-AVPair:2 += "ip:traffic-class=out access-group name Internet-out priority 30",
    Cisco-AVPair:3 += "accounting-list=PPPoE",
    Cisco-AVPair:4 += "ip:traffic-class=in default drop",
    Cisco-AVPair:5 += "ip:traffic-class=out default drop",
    Cisco-Service-Info = "QU;128000;64000;U;128000;64000",
    Acct-Interim-Interval = 120,
    Idle-Timeout = 600,
    Service-Type = Outbound-User

Какбэ отображается

Feature: Policing
Upstream Params:
Average rate = 128000, Normal burst = 64000, Excess burst = 0
Config level = Service

, а не отрабатывает - качаю торрент на скорости 200 кБ/с.

 

Версия IOS'а c7200-a3jk91s-mz.122-31.SB9.bin.

Share this post


Link to post
Share on other sites

Версия IOS'а c7200-a3jk91s-mz.122-31.SB9.bin.

мой Вам совет - перебирайте IOS-ы! когда я игрался с ISG (сознаюсь, грешен) там часть фишек работала в одном, но почему-то (кто сказал "индусы"?:) ), при тех-же самых настройках RADIUS, переставала работать в другом IOS-е ...

Share this post


Link to post
Share on other sites

Да я не против. Только у меня для экспериментов цыскоэмулятор, а там 72-ая с NPE-400, на которую прошивки под NPE-G2 не канают. Под NPE-400 прошивку с поддержкой PPPoE нашёл только после подсказки форумчан.

 

UPD: Кстати, вопрос. Если у меня показвается:

Feature: Policing
Upstream Params:
Average rate = 128000, Normal burst = 64000, Excess burst = 0
Config level = Service

означает ли это, что вроде как политки применились, но не работают? Что всё в конфиге на цыске и RADIUS сервере описано правильно.

Share this post


Link to post
Share on other sites
Да вот я всё думаю, лучше на сессию целиком повесить полисинг, или создать 4 сервиса для этого (день/ночь - интернет/локал). В принципе, статистика то нужна только по локалу/глобалу. Без привязки ко времени.

Кстати, "ip:sub-policy-in" не работает в профиле абонента:

user Cleartext-Password := "password"
    Service-Type = Framed-User,
    Framed-Protocol = PPP,
    Framed-IP-Address = 1.2.3.4.5,
    Framed-IP-Netmask = 255.255.255.255,
    Cisco-AVPair = "ip:sub-policy-In=512K-in",
    Cisco-AVPair += "ip:sub-policy-Out=512K-out",
    Cisco-Account-Info = "AISGInternet",
    Cisco-Account-Info += "AISGLocal"

синтаксис правильный?

Cisco-AVPair = "ip:sub-policy-In=512K-in", у вас без +, может из-за этого радиус не отдаёт.

Вот сами полиси:
policy-map 512K-out
  class LOCAL-OUT
   police 1000000 187500 375000    conform-action transmit     exceed-action drop
  class INTERNET-OUT
   police 512000 96000 192000    conform-action transmit     exceed-action drop
policy-map 512K-in
  class LOCAL-IN
   police 1000000 187500 375000    conform-action transmit     exceed-action drop
  class INTERNET-IN
   police 512000 96000 192000    conform-action transmit     exceed-action drop

Вот class-map'ы:

class-map match-any LOCAL-OUT
  match access-group name 2103
class-map match-any INTERNET-IN
  match access-group name 2100
class-map match-any LOCAL-IN
  match access-group name 2102
class-map match-any INTERNET-OUT
  match access-group name 2101

Проверьте классы, правильно ли описаны аццесс листы.
Кстати, вот такая конструкция должна ограничивать скорость до 128к, если прописана в сервисе:

Cisco-Service-Info = "QU;128000;64000;U;128000;64000",

?

тут тоже синтаксис не верен.

Cisco-Service-Info = "QU;128000;64000;D;128000;64000"

так правильно.

Share this post


Link to post
Share on other sites

Да к ACL притензий нет. По поводу плюсика - это так во Freeradius описывается tag. Иначе, есть проблема с передачей одинаковых атрибутов. Для первого плюсик не нужен. Дампом с RADIUS сервера и дебагом с цыски видно, что пакет содержит эту AV-пару.

За Cisco-Service-Info спасибо. Исправлю и проверю.

 

Если что, вот ACL:

Extended IP access list 2100
    10 deny ip any 62.231.160.0 0.0.31.255
    20 deny ip any 80.83.192.0 0.0.15.255
    30 deny ip any 212.36.224.0 0.0.31.255
    40 permit ip any any
Extended IP access list 2101
    10 deny ip 62.231.160.0 0.0.31.255 any
    20 deny ip 80.83.192.0 0.0.15.255 any
    30 deny ip 212.36.224.0 0.0.31.255 any
    40 permit ip any any
Extended IP access list 2102
    10 permit ip any 62.231.160.0 0.0.31.255
    20 permit ip any 80.83.192.0 0.0.15.255
    30 permit ip any 212.36.224.0 0.0.31.255
Extended IP access list 2103
    10 permit ip 62.231.160.0 0.0.31.255 any
    20 permit ip 80.83.192.0 0.0.15.255 any
    30 permit ip 212.36.224.0 0.0.31.255 any

Share this post


Link to post
Share on other sites

Попробуйте другую нотацию VSA - ip:sup-qos-policy-in . Читать здесь:

http://www.cisco.com/en/US/docs/ios/12_3/1....html#wp1084507

 

А параметр Cisco-Service-Info = "QU;128000;64000;D;128000;64000" лучше писать полностью:

 

Cisco-Service-Info += "QU;128000;24000;48000;D;128000;24000;48000"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this