Перейти к содержимому
Калькуляторы

Cisco ASR1002 & ISG need help

Добрый всем день,

не бете сразу, уже много раз читал гугл и тому подобные сервисы про сабж.

Есть пара вопросов:

1)

http://www.cisco.com/en/US/docs/ios/ios_xe....html#wp1058724

RADIUS Attributes 250 and 252

 

RADIUS uses attribute 250 in Access-Accept messages and attribute 252 in CoA messages to activate and deactivate parameterized services. ISG services are configured locally on the ISG device; RADIUS sends only the service name.

 

Attributes 250 and 252 have the following syntax for service activation:

 

Access-Accept Messages

250 "Aservice(parameter1=value,parameter2=value,...)"

 

CoA Messages

252 0b "service(parameter1=value,parameter2=value,...)"

 

 

RADIUS uses only Attribute 252 in a CoA message when deactivating a service. RADIUS sends the same information in Attribute 252 that was used for service activation, except that service deactivation uses 0c in the syntax instead of the 0b parameter used for service activation.

Как я понял то можно создать один сервис и к каждому пользователю привесить атрибут со свим параметром(например скорость полисинга)

 

Сейчас у меня:

10.91.0.101 Password := "cisco"

Cisco-Account-Info += "AWORLD2",

Cisco-AVPair += "accounting-list=Account"

Все прекрасно работает, но было бы круто податвлять для каждого абона свою скокрость, чтобы не плодить сервисы. Кто может дать рабочий пример или ссылку на адекватную доку?

 

 

2)

Пытаюсь отладить CoA, но не получается даже статус чела узнать.

 

 

ISG#sh sss session

Current Subscriber Information: Total sessions 1

 

Uniq ID Interface State Service Identifier Up-time

1 IP authen Local Term 10.91.0.101 00:47:27

Вот что выдает команда
[root@radius-new ~]# echo "User-Name=\"10.91.0.101\",Cisco-Account-Info=S10.91.0.101,Cisco-AVPair=\"subscriber:command=account-status-query\"" | radclient -x pogran-3:1700 coa cisco

Sending CoA-Request of id 24 to 194.190.176.198 port 1700

User-Name = "10.91.0.101"

Cisco-Account-Info = "S10.91.0.101"

Cisco-AVPair = "subscriber:command=account-status-query"

rad_recv: CoA-NAK packet from host 194.190.176.198 port 1700, id=24, length=87

User-Name = "10.91.0.101"

Cisco-Account-Info = "S10.91.0.101"

Cisco-Command-Code = "\0040"

Reply-Message = "No valid Session"

Error-Cause = Session-Context-Not-Found

Вот дебаг

ISG#

Feb 7 17:20:54.371: RADIUS: COA received from id 122 195.122.226.59:51497, CoA Request, len 100

Feb 7 17:20:54.371: COA: 195.122.226.59 request queued

Feb 7 17:20:54.371: RADIUS: authenticator 98 7C E3 18 3F 5A 9F D3 - 00 3A 08 BF FE B6 5B 5C

Feb 7 17:20:54.371: RADIUS: User-Name [1] 13 "10.91.0.101"

Feb 7 17:20:54.371: RADIUS: Vendor, Cisco [26] 20

Feb 7 17:20:54.371: RADIUS: ssg-account-info [250] 14 "S10.91.0.101"

Feb 7 17:20:54.371: RADIUS: Vendor, Cisco [26] 47

Feb 7 17:20:54.371: RADIUS: Cisco AVpair [1] 41 "subscriber:command=account-status-query"

Feb 7 17:20:54.371: ++++++ CoA Attribute List ++++++

Feb 7 17:20:54.371: 3B86B320 0 00000009 username(432) 11 10.91.0.101

Feb 7 17:20:54.371: 3B86B248 0 00000009 ssg-account-info(468) 12 S10.91.0.101

Feb 7 17:20:54.371: 3B86B258 0 00000009 ssg-command-code(470) 13 04 20 31 30 2E 39 31 2E 30 2E 31 30 31

Feb 7 17:20:54.371:

Feb 7 17:20:54.372: RADIUS/ENCODE(00000000):Orig. component type = Invalid

Feb 7 17:20:54.372: RADIUS(00000000): sending

Feb 7 17:20:54.372: RADIUS(00000000): Send CoA Nack Response to 195.122.226.59:51497 id 122, len 87

Feb 7 17:20:54.372: RADIUS: authenticator AC D4 05 4F 8A 4C 17 A1 - C0 0A D8 20 06 23 8B 2F

Feb 7 17:20:54.372: RADIUS: User-Name [1] 13 "10.91.0.101"

Feb 7 17:20:54.372: RADIUS: Vendor, Cisco [26] 20

Feb 7 17:20:54.372: RADIUS: ssg-account-info [250] 14 "S10.91.0.101"

Feb 7 17:20:54.372: RADIUS: Vendor, Cisco [26] 10

Feb 7 17:20:54.372: RADIUS: ssg-command-code [252] 4

Feb 7 17:20:54.372: RADIUS: 04 30 [Account-Ping 0]

Feb 7 17:20:54.372: RADIUS: Reply-Message [18] 18

Feb 7 17:20:54.372: RADIUS: 4E 6F 20 76 61 6C 69 64 20 53 65 73 73 69 6F 6E [ No valid Session]

Feb 7 17:20:54.372: RADIUS: Dynamic-Author-Error[101] 6 Session Context Not Found [503]

Помогите кто чем сможет ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообщем чтобы не плодить сервисы с разной скоростью локально, надо сделать Policy-Server, который бы выдавал сервис с параметрами ограничения скорости.

Чтобы работал CoA нужно

1) сконфигурить portbundle

2) добавить RADIUS-сервер в

aaa server radius dynamic-author

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообщем чтобы не плодить сервисы с разной скоростью локально, надо сделать Policy-Server, который бы выдавал сервис с параметрами ограничения скорости.

Чтобы работал CoA нужно

1) сконфигурить portbundle

2) добавить RADIUS-сервер в

aaa server radius dynamic-author

!

aaa server radius dynamic-author

client 1.1.1.1 server-key 7 121A0C041104

auth-type any

ignore session-key

ignore server-key

!

Где 1.1.1.1 это IP адрес машины с которой я посылаю CoA запросы.

Дело в том, что запрос Coa cisco принимает и отвечает на него

[root@radius-new ~]# echo "User-Name=\"10.91.0.101\",Cisco-Account-Info=S10.91.0.101,Cisco-AVPair=\"subscriber:command=account-status-query\"" | radclient -x pogran-3:1700 coa сisco

Sending CoA-Request of id 226 to 194.190.176.198 port 1700

User-Name = "10.91.0.101"

Cisco-Account-Info = "S10.91.0.101"

Cisco-AVPair = "subscriber:command=account-status-query"

rad_recv: CoA-NAK packet from host 194.190.176.198 port 1700, id=226, length=87

User-Name = "10.91.0.101"

Cisco-Account-Info = "S10.91.0.101"

Cisco-Command-Code = "\0040"

Reply-Message = "No valid Session"

Error-Cause = Session-Context-Not-Found

Да многие советуют включить этот самый portbundle, но зачем мне он если портала у нас нет(во всяком случае пока), да и в документации написано при coa запросе PBHK это необязательный параметр запроса, если кто обошелся без этого параметра, отпишите пожалуйста мне, не хочется городить то, без чего могу обойтись в данный момент.

 

Чтобы не плодить сервисы локально можно сделать policy-server, что я впринципе и сделал, но беда в том, что сервисы множить буду уже не локально а в RADIUS.

Кто и какую идеологию в данном случае использует?

Например есть тариф, при которм после скачки допустим 30Гиг внешки, скорость должна падать до 256 Kbps. что получается, для одного тарифа нужно делать 2 сервиса(Скорость до исчерпания лимита и после)?

Тут я вижу 2 варианта в нашей ситуайции:

1) Использовать функционал Prepaid с лимитами и при исчерпании лимита привешивать сервис со скоростью после падения(пока только в теории представляю как это сделать)

2) Сделать отдельный сервис для каждой скорости для uplod'a и downlod'a и просто менять атрибуты пользователя, изсходя из того, какую скорость "выдаст" наш биллинг, но при этом нужно будет делать обработчик, который будет отслеживать изменения атрибутов пользователей, и при этом обрабатывать эти изменения, запизивая их в RADIUS.

 

И все таки, если кто пользовал параметрицеский QoS, отзовитесь!!!!!

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По поводу CoA - у нас настройки такие же. Только команду с сервера немного по-другому пишем:

echo 'User-Name="10.10.99.4",Cisco-Account-Info="S10.10.99.4",cisco-avpair="subscriber:command=account-status-query"' | /usr/local/bin/radclient -x asr:1700 coa coa

Ответ возвращается корректный.

Изменено пользователем John_obn

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По поводу CoA - у нас настройки такие же. Только команду с сервера немного по-другому пишем:

echo 'User-Name="10.10.99.4",Cisco-Account-Info="S10.10.99.4",cisco-avpair="subscriber:command=account-status-query"' | /usr/local/bin/radclient -x asr:1700 coa coa

Ответ возвращается корректный.

Вы используете VRF на BRAS????

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На данный момент - нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При помощи коллеги из другого города удалось выяснить, что если запрос выдавать из того же vrf что и пользователь, то все проходит на ура!!!

Описанная в документации cisco-avpair="ip:vrf-id=ISG" не помогает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Решение этой проблемы c CoA описал тут

Изменено пользователем tsolodov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кстати, решение проблемы плодения сервисов сейчас решаю следующим образом:

радиус отдает атрибуты сервиса исходя из его названия, например если юзеру привешен сервис WORLD-1M-512K, то он отдаст атрибуты что на дуунлод скорость 1M, аплод 512Kb. И не надо плодить 10000000000 сервисов вот.))))

Решение опишу позже.

 

 

 

пс

так кто извращался еще ктоме меня???Интересуют другие схемы.....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У нас для идентификации сессии при отправке CoA используется только Acct-Session-Id, правда платформа С7201.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кстати, решение проблемы плодения сервисов сейчас решаю следующим образом:

радиус отдает атрибуты сервиса исходя из его названия, например если юзеру привешен сервис WORLD-1M-512K, то он отдаст атрибуты что на дуунлод скорость 1M, аплод 512Kb. И не надо плодить 10000000000 сервисов вот.))))

Решение опишу позже.

 

 

 

пс

так кто извращался еще ктоме меня???Интересуют другие схемы.....

Расскажи пожадуйста как ты делал это? Сейчас возникла такая проблема. Не хочется создавать 1000 сервисов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кстати, решение проблемы плодения сервисов сейчас решаю следующим образом:

радиус отдает атрибуты сервиса исходя из его названия, например если юзеру привешен сервис WORLD-1M-512K, то он отдаст атрибуты что на дуунлод скорость 1M, аплод 512Kb. И не надо плодить 10000000000 сервисов вот.))))

Решение опишу позже.

 

 

 

пс

так кто извращался еще ктоме меня???Интересуют другие схемы.....

Расскажи пожадуйста как ты делал это? Сейчас возникла такая проблема. Не хочется создавать 1000 сервисов

Вот тут расписал кратко, если будут вопросы, доработки, пиши)

Изменено пользователем tsolodov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кстати, сейчас дошел до проблемы:

как разным задать различный роутинг юзерам чтобы не нагнуть asr?

 

Идея в том, что у нас в сети используется NAT, некоторые пользователи хотят прямой IP, они получают BINAT, т.е. их траффик в данный момент заворачивается на определенный IP(NAT сервер с BINAT), те которые не имеют бината, идут по стандартному маршруту, вот. Ломаю голову как это сделать на ISG. Самое простое и не оптимальное решение (на мой взгляд)- policy-route, access-list(он здоровый) грузить на циску.

Круто было бы размечать траффик таких юзеров по dscp и матчить его в полиси роутинге(чтобы избавиться от большого acces-list), но что то я не пойму как это сделать через радиус. У кого есть идеи, поделитесь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Самое простое и не оптимальное решение (на мой взгляд)- policy-route, access-list(он здоровый) грузить на циску.

оригинальная мысль

я еще проще сделал - через vrfы на самом ASR

каждая сеть серая/белая в своем vrf

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Самое простое и не оптимальное решение (на мой взгляд)- policy-route, access-list(он здоровый) грузить на циску.

оригинальная мысль

я еще проще сделал - через vrfы на самом ASR

каждая сеть серая/белая в своем vrf

Можете подробнее описать что сделали?

А то токае ощущение что мы друг друга не поняли))))

 

пс

у нас так сейчас и обстоят дела.

сеть 10,0,0,0/8 (vrf c серыми IP)-shaper(freebsd ничего не знает про vrf)-nat(linux ничего не знает про vrf)-global vrf

 

просто в данный момент shaper переправляет на NAT сервер с binat, если у абонента подключена услуга определенная, а на том серваке есть правила что с ip 10.1.1.1 натить на 195.195.195.195 вот и все, если не подключена услуга то трафик отправляется на другой NAt, который занатит с рамдомного IP.

Изменено пользователем tsolodov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

----- ip subscriber (vrf green) ------ NAT

----- ip subscriber (vrf red) ---- это парни с белыми адресами

 

из ньансов portbundle интерфейс должен быть в GRT (иначе не работает) и соответственно нужна маршрутизация между vrf-grt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

----- ip subscriber (vrf green) ------ NAT

----- ip subscriber (vrf red) ---- это парни с белыми адресами

 

из ньансов portbundle интерфейс должен быть в GRT (иначе не работает) и соответственно нужна маршрутизация между vrf-grt

 

Это конечно логично, но:

 

представьте себе что у нас у ВСЕХ серые IP которые обязательно проходят через NAT, вопрос через какой, обычные юзеры проходят через NAT который NATит их с определенного диапазона адресов.

Другие юзеры имеют внешний IP через который натятся они.

Разруливается это сейчас так:

freebsd видит что юзер имеет закрепленный за ним IP и переправляет его на NAT который знает что его надо натить через его IP, если такого нет, то пакеты переправляются на другой NAT.

 

 

 

Хотя возможно я не понимаю что вы имеете ввиду......

Изменено пользователем tsolodov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.