« Новый Год 2010 - Санкт-Петербург → Москва → Саранск[Часть 2: Cisco 7206 BRAS/SSG] Внедряем профили SSG на Cisco 7206 с целью ограничения скорости и организации псевдо-локалки абонентам PPPoE »

Трекбек адрес этой записи

URL трекбека (щелкните правой кнопкой мыши и скопируйте ссылку)

25 комментариев

  1. § anonim написан :
    ***--
    бегло прочитав не заметил где считается траффик
  2. § Alex® Email написан :
    Загляните в структуру таблички radacct в 1 части - там все достаточно очевидно - AcctInputOctets - траф, вошедший от абонента на циску, AcctOutputOctets - вышедший с циски к абоненту.

    Имя сервиса в таблице будет соответствовать сервисной группе абонента для внешнего трафика, и останется пустым - для внутреннего трафика, это описано в статье.

    А собственно учет трафика по сервисам включает следующее:
    (NULL, 'SVC_ONLINE', 'Cisco-AVPair', '+=', 'subscriber:accounting-list=PPPOE'),
    при этом на кошке настроены соответствующие группы учета.

    Это тоже описано выше. Стоило все-таки читать не бегло, а вдумчиво (если оно вам нужно, конечно).
  3. § Дмитрий написан :
    ****-
    Добрый день!
    Отчет понравился, поэтому и сам задумался пользователей регистрировать в базе, сейчас они хранятся а файле.
    У меня работает несколько PPtP серверов на основе Микротик, авторизация и аккаунтинг на Радиус (freeradius2). Пользователи хранятся в файле. На тестовых компах поднял PPTP сервер на др. компе Freeradius2 + MySQL-5
    Пользователя я регистрирую в файле так
    testsql Cleartext-Password := "test123", Simultaneous-Use := 1, Calling-Station-Id == "172.20.24.70", Pool-Name := "private_ip_pool"
    Mikrotik-Rate-Limit += "8192k/8192k"
    Для регистрации такого пользователя в базе, я в таблицу radchek добавил
    | 1 | testsql | Cleartext-Password | := | test123
    В таблицу radgroupcheck
    dynamic | Auth-Type | := | Local
    В таблицу radgroupreply
    1 | dynamic | Service-Type | = | Framed-User |
    | 2 | dynamic | Frame-Protocol | = | PPP |
    | 3 | dynamic | Frame-Routing | = | Broadcast-Listen |
    | 4 | dynamic | Framed-Filter-Id | = | "std.ppp" |
    | 5 | dynamic | Framed-MTU | = | 1460 |
    | 6 | dynamic | Framed-Compression | = | Van-Jacobsen-TCP-IP |
    | 7 | dynamic | Fall-Through | = | Yes

    С остальными таблицами не совсем все понятно. Сервера доступа оставил пока в файле clients.conf или лучше задействовать таблицу nas ?
  4. § Alexwp написан :
    собрал у себя на столе эту схему, но в связке с no peer default ip addr почему то не выдает киска ип, в дебаге с двух сторон (на циске и на радиусе) приходит:
    Jun 14 13:28:24.660: RADIUS: Cisco AVpair [1] 18 "ip:addr-pool=102"
    тоже самое и с сервисами, вроде они приходят, но не применяются. Что может быть не так?

    Cisco IOS Software, 7200 Software (C7200P-JS-M), Version 12.2(31)SB12, RELEASE SOFTWARE (fc3)
    ROM: System Bootstrap, Version 12.4(12.2r)T, RELEASE SOFTWARE (fc1)
    Cisco 7206VXR (NPE-G2) processor (revision A) with 524288K/262144K bytes of memory.

    w:/etc# freeradius -v
    freeradius: FreeRADIUS Version 2.0.4, for host i486-pc-linux-gnu, built on Sep 7 2008 at 23:35:34
  5. § Alex® Email написан :
    Нужно видеть конфиги циски и конкретные ответы от RADIUS.

    Еще бы неплохо show subscriber session detail и show subscriber service detail.

    Да, у вас нумерованный IP Pool?
  6. § Alexwp написан :
    пул и такой и такой был. оставил нумерованный.
    разобрался с пулом
    дописал в глобал aaa authorization network PPPOE group MY_RADIUS
    но сервисы всеравно не применяются, хоть и по радиусу приходят.

    pppoe#show subscriber session detail
    Current Subscriber Information: Total sessions 1
    --------------------------------------------------
    Unique Session ID: 15
    Identifier: alexwp
    SIP subscriber access type(s): PPPoE/PPP
    Current SIP options: Req Fwding/Req Fwded
    Session Up-time: 00:00:43, Last Changed: 00:00:43
    Interface: Virtual-Access2.1

    Policy information:
    Context 06E1E6A0: Handle C3000019
    AAA_id 0000001D: Flow_handle 0
    Authentication status: authen

    Non-datapath features:
    Feature: IP Config
    Peer IP Address: 0.0.0.0 (F/F)
    Address Pool: 102 (F)
    Unnumbered Intf: [None]
    Feature: Session Timeout
    Timeout value is 3456000 seconds
    Time remaining is 3w3d
    Configuration sources associated with this session:
    Interface: Virtual-Template1, Active Time = 00:00:43

    pppoe#
    pppoe#show subscriber service detail

    pppoe#


    бебаг радиуса со стороны киски нужен? как лучше его запустить? (я про дебаг, ибо из того что включил не много видно)
  7. § Sergey написан :
    *****
    Спасибо за серию статей, буду скоро пробовать. Ждем продолжения :)

    Если можно вопрос: если у абонента при "живой" сессии изменить параметры в БД (например перевод на другой тариф, в оффлайн и т.п.), как я понимаю все эти изменения его никак не коснутся и он продолжит работать пока или сам не переконнектится (и получит уже новые параметры) или как-то его принудительно "сбросить" с линии. Немного непонятно как это сделать "налету". Если я бегу вперед паровоза и все это будет рассмотрено в продолжении - извиняюсь.

    Заранее спасибо за ответ.
  8. § Alex® Email написан :
    Можно послать PoD-пакет с помощью radclient, к примеру - юзера сбросит. Или можно сделать хитрее, и манипулировать включением-отключением сервисов с помощью CoA-пакетов тем же radclient'ом.
  9. § VolAnd Email написан :
    ****-
    Автор могуч но вот забыл про

    aaa authorization network PPPOE group MY_RADIUS

    а без этого Framed-ipAddress не устанавливается
    Если уж пишите так пишите пожалуйста без ошибок
    ))))
  10. § Alex® Email написан :
    Вообще данный комментарий должен быть отнесен к другой части статьи. Сейчас глянем, конфига много - быть может, на самом деле забыл :)

    Добавил строчку в конфиг, спасибо :) Проверить уже не смогу - на данный момент Cisco 72xx в продакшне как BRAS не использую, только ATLAC (см. раздел в блоге).
  11. § VolAnd Email написан :
    *****
    Ура!!! Живой ресурс

    А как изменить скорость абоненту "на лету"?
    Как перевести его допустим из группы
    SVC_ONLINE_1M_512K
    в группу
    SVC_ONLINE_4M_4M
    не разрывая сессию?
  12. § Alex® Email написан :
    Надо использовать CoA.
  13. § VolAnd Email написан :
    *****
    Точно, раскопки Интернета дали отличный результат:
    Все сделано как в статье
    Моя система:ISG= CISCO 7200 12.2(33)SRC, RADIUS+портад=CenOS5.5(Apache2,MySQL5,Freeradius2)

    Основной показатель что все работает это наличие услуг в сессиях клиентов:
    (смотрим sh sss sess det)

    Если не идет, проверьте наличие
    aaa authorization subscriber-service default group MY_RADIUS
    в конфиге киски.

    Теперь
    Для обращения к киске с COA заводим клиента:

    =конфиг=
    ...
    aaa server radius dynamic-author
    client 172.27.72.123 server-key 7 02050D480809
    auth-type any
    ignore session-key
    ignore server-key
    ...
    =/конфиг=

    Для изменения активной услуги для клиента без разрыва сессии используем radclient (на примере изменения скорости) :

    активация услуги:
    [user@host bin]# /bin/echo "User-Name=\"user\",Acct-Session-Id=\"0/0/2/0_AC1B484500000067\",cisco-avpair=\"subscriber:command=activate-service\",cisco-avpair=\"subscriber:service-name=SVC_ONLINE_4M_4M\"" | /usr/bin/radclient -x4 Х.Х.Х.Х:1700 coa password

    здесь:
    0/0/2/0_AC1B484500000067 - ID сессии клиента, которому примеяем услугу;
    Х.Х.Х.Х:1700 - IP и порт ISG ,на котором он слушает пакеты COA от радиуса.
    password тот что задали выше.

    деактивация отличается только AV парой subscriber:command=deactivate-service

    Однажды активированные сервисы остаются в памяти ISG,


    Все работает))). Пора перейти к оформлению портала.


  14. § VolAnd Email написан :
    *****
    Вопрос специалистам:

    Почему когда клиент коннектится pppoe киска отдает mac-адрес, а при pptp - нет.?

    Как при схеме, описанной в данной статье привязать логин к mac-адресу?
  15. § Alex® Email написан :
    PPPoE работает на L2, и идентифицирует клиентов по MAC. PPTP работает на L3, тут циска отдаст IP. В принципе, получить MAC по IP при наличии централизованного DHCP-сервера - не особо проблема.
  16. § VolAnd Email написан :
    *****
    С разрешения уважаемого автора продолжу раскрытие темы СISCO ISG (SSG).
    Сегодня -редирект (перенаправляем проштрафившегося пользователя на определенный ресурс)

    Напомню, если не говорил, что примеры конфигурации взяты мною в Интернете, так что на авторство не претендую, лишь собираю на стенде проверяю и если работает - выкладываю. Надеюсь и даже уверен что многим начинающим поможет.)))

    Итак редирект: Если клиент у нас в OFFLINE, то соединение PPPOE проходит успешно, НО при попытке открыть любую страничку в интернет (в нашем случае именно службы www = 80 порт), делаем перенаправление на наш портал, на страницу, напоминающую что пора бы оплатить услуги )))

    На CISCO :

    =конфиг=

    redirect server-group WWW_PORTAL
    server ip ХХ.ХХ.ХХ.ХХ port 80

    access-list 197 permit tcp any any eq www
    access-list 197 permit tcp any eq www any
    access-list 197 deny ip any any

    /=конфиг=

    На RADIUS:

    INSERT INTO `radgroupreply` (`id`, `GroupName`, `Attribute`, `op`, `Value`) VALUES
    (NULL, 'User_OFFLINE','Cisco-Account-Info','+=', 'ASVC_OFFLINE_REDIR');
    (NULL, 'SVC_OFFLINE_REDIR', 'Cisco-AVPair', '+=', 'ip:traffic-class=in access-group 197 priority 20'),
    (NULL, 'SVC_OFFLINE_REDIR', 'Cisco-AVPair', '+=', 'ip:traffic-class=out access-group 197 priority 20'),
    (NULL, 'SVC_OFFLINE_REDIR', 'Cisco-AVPair', '+=', 'ip:traffic-class=in default drop'),
    (NULL, 'SVC_OFFLINE_REDIR', 'Cisco-AVPair', '+=', 'ip:traffic-class=out default drop'),
    (NULL, 'SVC_OFFLINE_REDIR', 'ip:l4redirect=redirect list 197 to group WWW_PORTAL');


    INSERT INTO `usergroup` (`UserName`, `GroupName`, `priority`) VALUES
    ('SVC_OFFLINE_REDIR', 'SVC_GROUP', 1),
    ('SVC_OFFLINE_REDIR', 'SVC_OFFLINE_REDIR', 2);

    Вот так работает. Ну если в URL не HTTP то думать придется долго , однако .... ;)))



  17. § igore4ek Email написан :
    *****
    У меня закавыка с subscriber сервисами.
    Юзера авторизировала, пул назначила и пр.. По идеии должна авторизировать сервис "ASVC_ONLINE_1024K_512K", но увы тишина.
    Прописываешь aaa authorization subscriber-service default group MY-RADIUS,
    пытается авторизировать сервис, но в ответ: Received from id 1645/71 10.10.2.41:1812, Access-Reject, len 20

    Что может быть? Куда копать?
  18. § Alex® Email написан :
    Сервисы имеют свой пароль, не забудьте их прописать в БД RADIUS, и указать в Cisco сервисный пароль.
  19. § igore4ek Email написан :
    Alex! Всё сделал по статье. На Cisco прописал subscriber service password 7 1553281F5B7A7B, а SVC_GROUP прописал пароль.
    вот дебаг:
    *Mar 9 14:03:29.895: RADIUS/ENCODE: Best Local IP-Address 10.10.2.40 for Radius-Server 10.10.2.41
    *Mar 9 14:03:29.895: RADIUS(0000005F): Send Access-Request to 10.10.2.41:1812 id 1645/70, len 130
    *Mar 9 14:03:29.895: RADIUS: authenticator 21 E8 BC 60 EA 17 CE 37 - F4 18 67 FD 70 88 65 D9
    *Mar 9 14:03:29.895: RADIUS: Framed-Protocol [7] 6 PPP [1]
    *Mar 9 14:03:29.895: RADIUS: User-Name [1] 7 "User1"
    *Mar 9 14:03:29.895: RADIUS: CHAP-Password [3] 19 *
    *Mar 9 14:03:29.895: RADIUS: NAS-Port-Type [61] 6 Virtual [5]
    *Mar 9 14:03:29.895: RADIUS: NAS-Port [5] 6 0
    *Mar 9 14:03:29.895: RADIUS: NAS-Port-Id [87] 10 "0/0/2/71"
    *Mar 9 14:03:29.895: RADIUS: Service-Type [6] 6 Framed [2]
    *Mar 9 14:03:29.895: RADIUS: NAS-IP-Address [4] 6 10.10.2.40
    *Mar 9 14:03:29.895: RADIUS: Acct-Session-Id [44] 18 "0A0A022800000055"
    *Mar 9 14:03:29.895: RADIUS: Nas-Identifier [32] 26 "Aktau.ATC-50.Core-SSG.40"
    *Mar 9 14:03:29.903: RADIUS: Received from id 1645/70 10.10.2.41:1812, Access-Accept, len 143
    *Mar 9 14:03:29.903: RADIUS: authenticator 5F 59 BC AF 0B 9A 9A 1E - FC 51 44 3D 69 D6 A3 6C
    *Mar 9 14:03:29.903: RADIUS: Framed-IP-Address [8] 6 255.255.255.254
    *Mar 9 14:03:29.903: RADIUS: Framed-MTU [12] 6 576
    *Mar 9 14:03:29.903: RADIUS: Service-Type [6] 6 Framed [2]
    *Mar 9 14:03:29.903: RADIUS: Framed-Protocol [7] 6 PPP [1]
    *Mar 9 14:03:29.903: RADIUS: Framed-Compression [13] 6 VJ TCP/IP Header Compressi[1]
    *Mar 9 14:03:29.903: RADIUS: Vendor, Cisco [26] 26
    *Mar 9 14:03:29.903: RADIUS: Cisco AVpair [1] 20 "ip:addr-pool=users"
    *Mar 9 14:03:29.903: RADIUS: Session-Timeout [27] 6 3456000
    *Mar 9 14:03:29.903: RADIUS: Acct-Interim-Interva[85] 6 300
    *Mar 9 14:03:29.903: RADIUS: Vendor, Cisco [26] 29
    *Mar 9 14:03:29.903: RADIUS: ssg-account-info [250] 23 "ASVC_ONLINE_512K_512K"
    *Mar 9 14:03:29.903: RADIUS: Vendor, Cisco [26] 26
    *Mar 9 14:03:29.903: RADIUS: Cisco AVpair [1] 20 "ip:addr-pool=users"
    *Mar 9 14:03:29.903: RADIUS(0000005F): Received from id 1645/70
    *Mar 9 14:03:29.903: RADIUS/ENCODE(0000005F):Orig. component type = PPoE
    *Mar 9 14:03:29.903: RADIUS: AAA Unsupported Attr: password [274] 6
    *Mar 9 14:03:29.903: RADIUS: 61 73 73 32 [ ass2]
    *Mar 9 14:03:29.903: RADIUS: AAA Unsupported Attr: interface [185] 8
    *Mar 9 14:03:29.903: RADIUS: 30 2F 30 2F 32 2F [ 0/0/2/]
    *Mar 9 14:03:29.903: RADIUS: AAA Unsupported Attr: client-mac-address[56] 14
    *Mar 9 14:03:29.903: RADIUS: 38 38 61 65 2E 31 64 38 39 2E 63 66 [ 88ae.1d89.cf]
    *Mar 9 14:03:29.903: RADIUS(0000005F): Config NAS IP: 0.0.0.0
    *Mar 9 14:03:29.903: RADIUS/ENCODE(0000005F): acct_session_id: 85
    *Mar 9 14:03:29.903: RADIUS(0000005F): Config NAS IP: 0.0.0.0
    *Mar 9 14:03:29.903: RADIUS: Attribute 55 not sent, as system clock is not set
    *Mar 9 14:03:29.903: RADIUS(0000005F): sending
    *Mar 9 14:03:29.903: RADIUS/ENCODE: Best Local IP-Address 10.10.2.40 for Radius-Server 10.10.2.41
    *Mar 9 14:03:29.903: RADIUS(0000005F): Send Access-Request to 10.10.2.41:1812 id 1645/71, len 138
    *Mar 9 14:03:29.903: RADIUS: authenticator 17 A3 31 34 77 FB 0E 87 - DE 97 FD 51 89 D0 50 24
    *Mar 9 14:03:29.903: RADIUS: User-Name [1] 22 "SVC_ONLINE_512K_512K"
    *Mar 9 14:03:29.903: RADIUS: User-Password [2] 18 *
    *Mar 9 14:03:29.903: RADIUS: NAS-Port-Type [61] 6 Virtual [5]
    *Mar 9 14:03:29.903: RADIUS: NAS-Port [5] 6 0
    *Mar 9 14:03:29.903: RADIUS: NAS-Port-Id [87] 10 "0/0/2/71"
    *Mar 9 14:03:29.903: RADIUS: Service-Type [6] 6 Outbound [5]
    *Mar 9 14:03:29.903: RADIUS: NAS-IP-Address [4] 6 10.10.2.40
    *Mar 9 14:03:29.903: RADIUS: Acct-Session-Id [44] 18 "0A0A022800000055"
    *Mar 9 14:03:29.903: RADIUS: Nas-Identifier [32] 26 "Aktau.ATC-50.Core-SSG.40"
    *Mar 9 14:03:34.259: RADIUS: Retransmit to (10.10.2.41:1812,1813) for id 1645/71
    *Mar 9 14:03:34.259: RADIUS: Received from id 1645/71 10.10.2.41:1812, Access-Reject, len 20
    *Mar 9 14:03:34.259: RADIUS: authenticator DD 8E 47 EC 94 CE 88 C9 - 45 D1 22 17 51 97 32 5D
    *Mar 9 14:03:34.259: RADIUS(0000005F): Received from id 1645/71
  20. § Alex® Email написан :
    Вообще, судя по логу, Вам смотреть надо со стороны RADIUS - почему он отверг запрос на авторизацию.

    1. Проверьте пользователя SVC_ONLINE_512K_512K в базе RADIUS
    2. Проверьте пароль данного пользователя
    3. Проверьте метод авторизации - PAP или CHAP, выставленный для данного пользователя

    А вообще в данном вопросе может очень помочь утилита radtest. Прикиньтесь клиентом RADIUS, и попробуйте авторизоваться.
  21. § igore4ek Email написан :
    Алекс вы правы! Посмотрел дебаг радиуса, проверил селекты, и нашёл что радиус, сервисы пытался найти в файле, а не в базе!
    Спасибо!
    Статья очень помогла разобраться принципами с SSG!
  22. § igore4ek Email написан :
    Ещё один вопрос Alex!

    По юзал форумы. Пришёл к выводу, что одна 7206 нормально работает с 1500-2000 пользователями. Если клиентов становится больше, то челы с форумов добавляют ещё одну железку!!!
    Погуглив, как такое делать, ничего не нашёл.
    Не пробывал запускать паралельно ещё второй SSG?
    Есть вариант разделить их в разные vlanы, но как то не хочется вланы плодить!
    Если есть мысли как это сделать, поделись.
  23. § Alex® Email написан :
    В параллели две железки работать будут, менее нагруженная железка будет хватать на себя больше пользователей.

    Сейчас уже с 72xx не работаю - у меня стоят свои концентраторы (@Net ATLAC, описаны на этом же блоге). Насчет 1500-2000 пользователей, такое возможно только при очень низких скоростях, поскольку на практике G1 не пропустит через себя больше гига трафика при двух SG на юзера, G2 - больше двух.
  24. § adil Email написан :
    *****
    Приветствую господа!собсно проблема возникла,схема точно такая же,проблема при отправке соа аксес северу соа пакет со следующим содержанием /bin/echo "User-Name=\"adiltest\",cisco-avpair=\"subscriber:command=account-logoff\"" | /usr/bin/radclient -x 10.10.200.13:1700 coa 1234
    Sending CoA-Request of id 30 to 10.10.200.13 port 1700

    получаю следующий ответ от циски
    rad_recv: CoA-NAK packet from host 10.10.200.13:1700, id=30, length=39
    Cisco-Command-Code = "\0202;adiltest"

    никаких изменений в установленной сессии нету..
    Спасибо за внимание!

  25. § Alex® Email написан :
    Для логоффа лучше отправлять не CoA, а PoD.

Оставить комментарий


Ваш email адрес не будет показан на сайте.

Ваш URL будет показан.
ПлохоПревосходно
(Заменить прерывания строк на <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)