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

Cisco ASR1002-X ISG PPPoE в связке с ЛанБиллинг2 Вот пытаемся настроить...

Добрый день, форумчане!

Жарко в Краснодаре, мозг плавится.

В общем, надоели нам изыски изделий производства Микротик в качестве BRAS-ов, решили мы заменить несколько CCR-1036G на одну, но очень серьезную железку Cisco ASR1002-X с перспективой роста так сказать.

Но грех такое железо использовать в качестве тупого PPPoE-концентратора, руководство поставило задачу использовать связку PPPoE подключений с ISG на территории этой самой железки.

Есть один нюанс, мы уже 3 года с переменным успехом используем Ланбиллинг версии 2.0 (2.014 на текущий момент).

Предполагаемая стратегия такова:

- Cisco ASR1002-X будет держать на себе все сервисы. В данный момент на ней ИОС asr1002x-universalk9.03.13.01.S.154-3.S1-ext.SPA.bin и полные 16 Гб оперативки.

- Биллингу почетная роль сообщать Cisco какой(ие) сервис(ы) навешивать пользователю. Ну и аккаунтинг.

 

В итоге.

На тестовом биллинг-сервере был создан тестовый же пользователь с логином 0000197.

Был создан тарифный план Экспериментальный стоимостью 100 рублей, списание ежедневное, блокировка автоматическая, к тарифному плану привязана внешняя услуга с названием ASERVICE-1M.

Сама услуга на территории Cisco звучит как SERVICE-1M, подробности, кому интересно в аттаче прототип конфига Cisco.

Да, пользователь аутентифицируется и авторизуется на сервере, ему выдается положенный адрес. А дальше пошли нюансы.

Во-первых по непонятной для меня причине Cisco, после получения от ЛБ аттрибутов видит, что необходимо что-то сделать с SERVICE-1M, и кидается его аутентифицировать ((!) Не авторизовать).

Естественно аутентификация не проходит, и при наличии гостевой сети сервису (!) выдается гостевой адрес. В этом случае на появившемся Virtual-Access 2.1 появляется гостевой итоговый адрес.

Вопрос! Кто сумел таки подружить Cisco ASR с ISG с Ланбиллингом? То невнятное недоразумение в документации я читал и пробовал в разных ипостасях не единожды.

Вопрос в принципе можно конкретизировать - как аутентифицировать (а затем и авторизовать) сервис в ЛанБиллинге?

TEST-ASR1002.TXT

Share this post


Link to post
Share on other sites

замените aaa authorization network ISG-GROUP group ISG-GROUP на

aaa authorization network ISG-GROUP local group ISG-GROUP

 

 

то что она споросила сервис через радиус.. значит не нашла на железе его.

 

п.с. ацлы у вас выглядят странно. вы хотите давать абонентам доступ только до 10.100.128.0 0.0.31.255 (судя по ацл именно так)?

Share this post


Link to post
Share on other sites

замените aaa authorization network ISG-GROUP group ISG-GROUP на

aaa authorization network ISG-GROUP local group ISG-GROUP

 

 

то что она споросила сервис через радиус.. значит не нашла на железе его.

 

п.с. ацлы у вас выглядят странно. вы хотите давать абонентам доступ только до 10.100.128.0 0.0.31.255 (судя по ацл именно так)?

 

Спасибо большое за дельные замечания. Да действительно, заработало!

Share this post


Link to post
Share on other sites

Вот теперь в голове полная каша...

 

Что имеем?

BRAS Cisco ASR1002-X, ПО LanBilling2 (ver. 2.014). LanBilling "знает" и сообщает только о названиях сервисов, ибо все они рулятся локально на Циске.

Пользователи. Все подключаются через PPPoE, исключений нет. Гостевой сети также нет, убрана.

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

К примеру.

 

Есть вот такой изначальный конфиг

 

policy-map type control ISG-CONTROL

!

class type control always event session-start

10 authenticate aaa list ISG-GROUP

20 service local

!

Но, кроме удачной аутентификации надо же предусмотреть еще кучу нюансов, к примеру.

 

1. Пользователь не смог осилить буквы, неправильный пароль, поэтому ему надо разрешить пользоваться местным сервером ДНС и сервером статистики.

2. Первого числа у пользователя не хватило денег на следующий месяц, у него необходимо отобрать текущую услугу доступа в Интернет и оповестить, перекинув на страничку "дай денег".

3. Отвалился биллинг. Ну, мало ли. А очередной пользователь ломится и жаждит приобщиться к тайнам Интернета... Ему надо дать доступ, но "временный", скажем со скоростью 4 Мбит/сек.

 

Просто прочел то я много, но например так и не достиг понимания в таких вещах как credit-exhausted, quota-depleted... (Это скорее всего относится к помегабайтной оплате, которой у нас нет)

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

 

 

 

policy-map type control ISG-CONTROL

class type control ISG-UNAUTH event timed-policy-expiry

1 service disconnect

!

class type control always event session-start

10 authenticate aaa list ISG-GROUP

20 service local

30 set-timer UNAUTH-TIMER 3

40 service-policy type service name SERVICE-TRUSTED

50 service-policy type service name REDIRECTION

!

class type control always event radius-timeout

1 service-policy type service name SERVICE-TRUSTED

2 service-policy type service name REDIRECTION

!

!

 

!!!!!!!!!!!!!! Сервис редиректа в случае окончания средств !!!!!!!!!!!!!!!!!!!

 

!

redirect server-group REDIRECT_NOPAY

server ip xxx.xx.xx.xx port 80

!

!

policy-map type service REDIRECTION

1 class type traffic CLASS-TO-REDIRECT

redirect to group REDIRECT_NOPAY

!

class type traffic default input

drop

!

!

class-map type traffic match-any CLASS-TO-REDIRECT

match access-group input 197

match access-group output 197

!

!

access-list 197 remark --Redirect-Portal--

access-list 197 permit tcp any any eq www

access-list 197 permit udp any any eq domain

access-list 197 permit udp any eq domain any

access-list 197 permit tcp any eq www any

access-list 197 deny ip any any

!

!!!!!!!!!!!!!!!!!!!!!! Конец сервиса !!!!!!!!!!!!!!!!!!!!!!!!!!!!

!

!

!

!!!!!!!!!!!!!!!! Куда разрешено ходить пользователям у которых кончилась денежка !!!!!!!!!!!!!!!!!!!

policy-map type service SERVICE-TRUSTED

1 class type traffic CLASS-TRUSTED

police input 64000 8000 16000

police output 64000 8000 16000

!

class type traffic default input

drop

!

!

class-map type traffic match-any CLASS-TRUSTED

match access-group input 198

match access-group output 198

!

!

access-list 198 remark --BLOCKED Clients--

! Разрешаем пользователю ДНС

access-list 198 permit udp any any eq domain

access-list 198 permit udp any eq domain any

! Разрешаем пользователю сервер статистики и наш сайт

access-list 198 permit tcp any host xxx.xx.xx.23 eq www

access-list 198 permit tcp any host xxx.xx.xx.23 eq 443

! Разрешаем пользователю доступ в систему PayOnline, вдруг он решился заплатить?

access-list 198 permit tcp any host 66.11.130.100 eq 443

! Разрешаем пользователю пинги

access-list 198 permit icmp any any

! Если ничего не забыл, то всё.

access-list 198 deny ip any any

!

!!!!!!!!!!!!!!!!! Конец сервиса !!!!!!!!!!!!!!!!!!!!!!!!!

 

Вопрос звучит следующим образом. Многие ведь используют PPPoE+ISG. Подскажите, какие сервисы вы юзаете, хотя бы обзорно, внутри этой самой основной policy control.

Edited by siddkharta

Share this post


Link to post
Share on other sites

Управились мы с "аутентификацией сервиса". Всё оказалось просто, как всегда.

Но!

Раньше, когда аутентифицировались и авторизовались пользователи в Ланбиллинге, было всё достаточно просто: на каждый тарифный план создавались 2 радиус-аттрибута типа lcp:cisco-config, на вход и на выход. При переходе с тарифного плана на тарифный план мы с помощью POD или SNMP v2 скидывали сессию пользователя на Cisco 7201.

С переходом на ISG всё несколько не так. Нам необходимо передать во внешний скрипт несколько параметров:

session_id, login, service_old, NAS_ip, NAS_port, NAS_pod.

echo "Acct-Session-Id='$session_id',User-Name='$login', cisco-avpair = 'subscriber:service-name=$service_old', cisco-avpair = 'subscriber:command=deactivate-service'" | radclient -t1 - r1 -c1 -x $NAS_ip:$NAS_port coa $NAS_pod;

И тут возникает проблемка - все параметры мы получаем, некоторые мы получаем из Биллинга, некоторые реализуем внутри скрипта. Единственный параметр, который не удалось отловить - service_old/service_new, этот же параметр отвечает за скорость. Вот она то у нас всегда равна 0.

И вопрос в следующем - парни, кто как реализовал Тарифный план (например, основываясь на скорости, или на Агенте), чтобы вовне в качестве параметра передавалось не нулевое значение скорости, то есть в идеале посылалось некое значение символьное, к примеру SERVICE-10M?

Share this post


Link to post
Share on other sites

И вопрос в следующем - парни, кто как реализовал Тарифный план (например, основываясь на скорости, или на Агенте), чтобы вовне в качестве параметра передавалось не нулевое значение скорости, то есть в идеале посылалось некое значение символьное, к примеру SERVICE-10M?

Я делал вот так (но не ISG) - http://forums.lanbilling.ru/board/viewtopic.php?p=10147&sid=9bfaf63062a6ccb52d08b3c8eea9053e#p10147

Share this post


Link to post
Share on other sites

Спасибо за совет. Да, раньше так и было. Но переходим на понятие "Сервис", а это именно связка Cisco ISG с Ланбиллингом2.

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