siddkharta Posted July 27, 2015 · Report post Добрый день, форумчане! Жарко в Краснодаре, мозг плавится. В общем, надоели нам изыски изделий производства Микротик в качестве 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
zhenya` Posted July 27, 2015 · Report post замените 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
siddkharta Posted July 30, 2015 · Report post замените 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
siddkharta Posted August 3, 2015 (edited) · Report post Вот теперь в голове полная каша... Что имеем? 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 August 3, 2015 by siddkharta Share this post Link to post Share on other sites
siddkharta Posted August 24, 2015 · Report post Управились мы с "аутентификацией сервиса". Всё оказалось просто, как всегда. Но! Раньше, когда аутентифицировались и авторизовались пользователи в Ланбиллинге, было всё достаточно просто: на каждый тарифный план создавались 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
Andrei Posted August 25, 2015 · Report post И вопрос в следующем - парни, кто как реализовал Тарифный план (например, основываясь на скорости, или на Агенте), чтобы вовне в качестве параметра передавалось не нулевое значение скорости, то есть в идеале посылалось некое значение символьное, к примеру 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
siddkharta Posted August 31, 2015 · Report post Спасибо за совет. Да, раньше так и было. Но переходим на понятие "Сервис", а это именно связка Cisco ISG с Ланбиллингом2. Share this post Link to post Share on other sites