URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 19787
[ Назад ]

Исходное сообщение
"Шейпинг pppoe сессии "

Отправлено navidl , 12-Окт-09 12:00 
Подскажите как организовать шейпинг pppoe сессии на cisco5350, которая является сервером доступа для ADSL клиентов. В данный момент скорость режется на дсламе Zyxel.
Для авторизаци клиентов стоит виндовый радиус IAS, в настройках логина на радиусе добавил атрибут Cisco-AV-pair с параметрами:
lcp:interface-config#1=rate-limit input 1024 128000 256000 transmit exceed-action drop
lcp:interface-config#1=rate-limit output 512 128000 256000 transmit exceed-action drop

Но регистрация логина в сети с данными настройками не проходит, возможно что-то ещё надо на циске указать... В чём косяк?

Заранее спасибо за ответы.


Содержание

Сообщения в этом обсуждении
"Шейпинг pppoe сессии "
Отправлено sproot , 12-Окт-09 13:58 
>[оверквотинг удален]
>
>Для авторизаци клиентов стоит виндовый радиус IAS, в настройках логина на радиусе
>добавил атрибут Cisco-AV-pair с параметрами:
>lcp:interface-config#1=rate-limit input 1024 128000 256000 transmit exceed-action drop
>lcp:interface-config#1=rate-limit output 512 128000 256000 transmit exceed-action drop
>
>Но регистрация логина в сети с данными настройками не проходит, возможно что-то
>ещё надо на циске указать... В чём косяк?
>
>Заранее спасибо за ответы.

В конфиге есть virtual-profile aaa? Так:
lcp:interface-config#1=rate-limit input 1024 128000 256000 transmit exceed-action drop
lcp:interface-config#2=rate-limit output 512 128000 256000 transmit exceed-action drop

или так:

lcp:interface-config=rate-limit input 1024 128000 256000 transmit exceed-action drop
lcp:interface-config=rate-limit output 512 128000 256000 transmit exceed-action drop

тоже не работает? Что debug radius показывает?

В нагрузку: http://www.cisco.com/en/US/docs/ios/12_0/dial/configuration/...



"Шейпинг pppoe сессии "
Отправлено navidl , 12-Окт-09 14:53 
>[оверквотинг удален]
>lcp:interface-config#2=rate-limit output 512 128000 256000 transmit exceed-action drop
>
>или так:
>
>lcp:interface-config=rate-limit input 1024 128000 256000 transmit exceed-action drop
>lcp:interface-config=rate-limit output 512 128000 256000 transmit exceed-action drop
>
>тоже не работает? Что debug radius показывает?
>
>В нагрузку: http://www.cisco.com/en/US/docs/ios/12_0/dial/configuration/...

В конфиге virtual-profile aaa нет... Куда его добавлять-то надо? Вот сам конфиг:


!
aaa new-model
!
!
aaa group server radius radius1
server x.x.x.x auth-port 1645 acct-port 1646
server x.x.x.x auth-port 1645 acct-port 1646
!
aaa group server radius radius2
server x.x.x.x auth-port 1645 acct-port 1646
!
aaa authentication ppp billing group radius1
aaa authorization network billing group radius1
aaa accounting update periodic 60
aaa accounting network billing start-stop group radius2
aaa session-id common

ip subnet-zero
ip cef
no ip domain lookup
ip name-server x.x.x.x
!
vpdn enable
!
vpdn-group adsl
accept-dialin
  protocol pppoe
  virtual-template 101
!
async-bootp dns-server x.x.x.x
isdn switch-type primary-5ess
!
!
no voice hpi capture buffer
no voice hpi capture destination
!

interface FastEthernet0/0
ip address x.x.x.x 255.255.255.0
duplex full
speed 100
!
interface FastEthernet0/1
ip address x.x.x.x 255.255.255.0 secondary
ip address x.x.x.x 255.255.255.0
duplex full
speed 100
pppoe enable
!

interface Virtual-Template101
ip unnumbered FastEthernet0/1
timeout absolute 300 0
peer default ip address pool TEST
ppp authentication chap billing
ppp authorization billing
ppp accounting billing
!
interface Group-Async0
ip unnumbered FastEthernet0/0
encapsulation ppp
no ip route-cache
no ip mroute-cache
dialer in-band
dialer idle-timeout 28800
async dynamic address
async dynamic routing
async mode interactive
peer default ip address pool setup_pool
ppp authentication pap billing
ppp accounting billing
group-range 1/00 2/59
!
ip local pool setup_pool x.x.x.129 x.x.x.190
ip local pool TEST x.x.x.65 x.x.x.190
ip classless

!
radius-server host x.x.x.x auth-port 1645 acct-port 1646
radius-server host x.x.x.x auth-port 1645 acct-port 1646
!
voice-port 3/0:D
!
voice-port 3/1:D
!
voice-port 3/2:D
!
voice-port 3/3:D
line con 0
line aux 0
line vty 0 4
exec-timeout 0 0
line 1/00 1/59
modem InOut
transport input all
autoselect during-login
autoselect ppp
line 2/00 2/59
modem InOut
transport input all
autoselect during-login
autoselect ppp
!
scheduler allocate 10000 400
!
end



"Шейпинг pppoe сессии "
Отправлено sproot , 12-Окт-09 15:40 
>[оверквотинг удален]
>>или так:
>>
>>lcp:interface-config=rate-limit input 1024 128000 256000 transmit exceed-action drop
>>lcp:interface-config=rate-limit output 512 128000 256000 transmit exceed-action drop
>>
>>тоже не работает? Что debug radius показывает?
>>
>>В нагрузку: http://www.cisco.com/en/US/docs/ios/12_0/dial/configuration/...
>
>В конфиге virtual-profile aaa нет... Куда его добавлять-то надо?

К чему привели вышеприведенные рекомендации? Добавить нужно сразу в global configuration mode. virtual-profile if-needed тоже не помешает.  Возможно, еще нужно добавить aaa authorization network default group radius1


"Шейпинг pppoe сессии "
Отправлено navidl , 12-Окт-09 16:45 
>[оверквотинг удален]
>>>
>>>тоже не работает? Что debug radius показывает?
>>>
>>>В нагрузку: http://www.cisco.com/en/US/docs/ios/12_0/dial/configuration/...
>>
>>В конфиге virtual-profile aaa нет... Куда его добавлять-то надо?
>
>К чему привели вышеприведенные рекомендации? Добавить нужно сразу в global configuration mode.
>virtual-profile if-needed тоже не помешает.  Возможно, еще нужно добавить aaa
>authorization network default group radius1

В радиусе строку lcp:.... писал всеми тремя способами, ошибка та же. "Ошибка 734. Протокол управления ppp-связью был прерван."
На циске virtual-profile aaa не добавляется, можно только if-needed или к virtual-interface привязать.
По ссылке пробежал бегло, я так понял что там примеры когда для каждого пользователя отдельно надо прописывать аттрибуты, но мне надо чтобы все атрибуты для каждого пользователя брались с радиуса...

Да и кстати на счёт дебага, поставил на дебаг следующие параметры:
dialup1#sh debug
General OS:
  AAA Authentication debugging is on
  AAA Authorization debugging is on
  AAA Accounting debugging is on
Dial on demand:
  Dial on demand events debugging is on

Radius protocol debugging is on
Radius packet protocol debugging is on

А в логах эта зараза всё равно ничего не пишет... хотя пользователи АДСЛ коннектятся постоянно.


"Шейпинг pppoe сессии "
Отправлено sproot , 12-Окт-09 16:55 
>[оверквотинг удален]
>  AAA Authorization debugging is on
>  AAA Accounting debugging is on
>Dial on demand:
>  Dial on demand events debugging is on
>
>Radius protocol debugging is on
>Radius packet protocol debugging is on
>
>А в логах эта зараза всё равно ничего не пишет... хотя пользователи
>АДСЛ коннектятся постоянно.

term mon не забыл?


"Шейпинг pppoe сессии "
Отправлено navidl , 13-Окт-09 15:49 
>[оверквотинг удален]
>>Dial on demand:
>>  Dial on demand events debugging is on
>>
>>Radius protocol debugging is on
>>Radius packet protocol debugging is on
>>
>>А в логах эта зараза всё равно ничего не пишет... хотя пользователи
>>АДСЛ коннектятся постоянно.
>
>term mon не забыл?

Вобщем добился чтобы не вылетала ошибка при авторизации, немного не правильно писал атрибут в радиусе. В данный момент добавляю следующие атрибуты:
lcp:interface-config=rate-limit input 1024000 128000 256000 transmit exceed-action drop
lcp:interface-config=rate-limit щгеput 512000 128000 256000 transmit exceed-action drop

клиент коннектится, но скорость всё равно не режется...
Есть ещё особенность при коннекте, на циске для всех клиентов pppoe создаются интерфейсы virtual-access с номерами Vi1.1; Vi1.2; Vi1.3 и т.д. А для тех у кого указаны атрибуты rate-limit создаются отдельные Vi3; Vi4; Vi5...
если посмотреть sh int virtual-access 1:
dialup1#sh interfaces virtual-access 1
Virtual-Access1 is up, line protocol is up
  Hardware is Virtual Access interface
  MTU 1492 bytes, BW 100000 Kbit, DLY 100000 usec,
     reliability 255/255, txload 12/255, rxload 2/255
  Encapsulation PPP, LCP Closed
  Base PPPoE vaccess
  Vaccess status 0x40, loopback not set
  DTR is pulsed for 5 seconds on reset

Если смотреть с атрибутами то:
dialup1#sh interfaces virtual-access 4
Virtual-Access4 is up, line protocol is up
  Hardware is Virtual Access interface
  Interface is unnumbered. Using address of FastEthernet0/1 (х.х.х.х)
  MTU 1492 bytes, BW 100000 Kbit, DLY 100000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, LCP Open
  Open: IPCP
  PPPoE vaccess, cloned from AAA, AAA, Virtual-Template101
  Vaccess status 0x44, loopback not set
  DTR is pulsed for 5 seconds on reset


Вот что пишется в логи:
RADIUS(00000087): Using existing nas_port 0
RADIUS(00000087): Config NAS IP: 0.0.0.0
RADIUS(00000087): sending
RADIUS/ENCODE: Best Local IP-Address x.x.x.6 for Radius-Server x.x.x.9
RADIUS(00000087): Send Accounting-Request to x.x.x.9:1646 id 21646/72, len 164
RADIUS:  authenticator A3 6F B7 7D 3A 1B 94 C5 - AC 49 00 EC BB D4 22 AB
RADIUS:  Acct-Session-Id     [44]  10  "0000009A"
RADIUS:  Framed-Protocol     [7]   6   PPP                       [1]
RADIUS:  Framed-IP-Address   [8]   6   x.x.x.128
RADIUS:  Acct-Authentic      [45]  6   RADIUS                    [1]
RADIUS:  Acct-Session-Time   [46]  6   367
RADIUS:  Acct-Input-Octets   [42]  6   3869
RADIUS:  Acct-Output-Octets  [43]  6   1672
RADIUS:  Acct-Input-Packets  [47]  6   77
RADIUS:  Acct-Output-Packets [48]  6   40
RADIUS:  Acc RADIUS:  AAA Unsupported     [152] 7
RADIUS:   30 2F 30 2F 31                                   [0/0/1]
RADIUS(0000009D): Storing nasport 0 in rad_db
RADIUS(0000009D): Config NAS IP: 0.0.0.0
RADIUS/ENCODE(0000009D): acct_session_id: 188
RADIUS(0000009D): sending
RADIUS/ENCODE: Best Local IP-Address x.x.x.6 for Radius-Server x.x.x.4
RADIUS(0000009D): Send Access-Request to x.x.x.4:1645 id 21646/97, len 81
RADIUS:  authenticator 51 4E 1D 8B A6 4F D9 42 - 4A 5C 48 79 F2 32 FC C3
RADIUS:  Framed-Protocol     [7]   6   PPP                       [1]
RADIUS:  User-Name           [1]   12  "test-speed"
RADIUS:  CHAP-Password       [3]   19  *
RADIUS:  NAS-Port-Type       [61]  6   Virtual                   [5]
RADIUS:  NAS-Port            [5]   6   0
RADIUS:  Service-Type        [6]   6   Framed                    [2]
RADIUS:  NAS-IP-Address      [4]   6   x.x.x.6
RADIUS: Received from id 21646/97 x.x.x.4:1645, Access-Accept, len 296
RADIUS:  authenticator 2B 26 EC 80 2F 82 71 03 - 1E DE 8E 9F 82 17 CE A2
RADIUS:  Filter-Id           [11]  6
RADIUS:   61 64 73 6C                                      [adsl]
RADIUS:  Framed-Protocol     [7]   6   PPP                       [1]
RADIUS:  Service-Type        [6]   6   Framed                    [2]
RADIUS:  Session-Timeout     [27]  6   18000
RADIUS:  Class               [25]  32
RADIUS:   4C 21 05 B8 00 00 01 37 00 01 C0 A8 2F 04 01 CA  [L!?????7????/???]
RADIUS:   26 41 91 00 A9 F0 00 00 00 00 00 03 35 4F        [&A??????????5O]
RADIUS:  Vendor, Cisco       [26]  110
RADIUS:   Cisco AVpair       [1]   104 "lcp:interface-config=rate-limit input 1024000 128000 256000 conform-action

transmit exceed-action drop"
RADIUS:  Vendor, Cisco       [26]  110
RADIUS:   Cisco AVpair       [1]   104 "lcp:interface-config=rate-limit output 512000 128000 256000 conform-action

transmit exceed-action drop"
RADIUS(0000009D): Received from id 21646/97
RADIUS(0000009D): Using existing nas_port 0
RADIUS(0000009D): Config NAS IP: 0.0.0.0
RADIUS(0000009D): sending
RADIUS/ENCODE: Best Local IP-Address x.x.x.6 for Radius-Server x.x.x.9
RADIUS(0000009D): Send Accounting-Request to x.x.x.9:1646 id 21646/98, len 122
RADIUS:  authenticator FA 85 0F 7C A2 6A 80 83 - E3 AD 52 6F 07 3F 94 3C
RADIUS:  Acct-Session-Id     [44]  10  "000000BC"
RADIUS:  Framed-Protocol     [7]   6   PPP                       [1]
RADIUS:  Acct-Authentic      [45]  6   RADIUS                    [1]
RADIUS:  User-Name           [1]   12  "test-speed"
RADIUS:  Acct-Status-Type    [40]  6   Start                     [1]
RADIUS:  NAS-Port-Type       [61]  6   Virtual                   [5]
RADIUS:  NAS-Port            [5]   6   0
RADIUS:  Class               [25]  32
RADIUS:   4C 21 05 B8 00 00 01 37 00 01 C0 A8 2F 04 01 CA  [L!?????7????/???]
RADIUS:   26 41 91 00 A9 F0 00 00 00 00 00 03 35 4F        [&A??????????5O]
RADIUS:  Service-Type        [6]   6   Framed                    [2]
RADIUS:  NAS-IP-Address      [4]   6   x.x.x.6
RADIUS:  Acct-Delay-Time     [41]  6   0
RADIUS: Received from id 21646/98 x.x.x.9:1646, Accounting-response, len 20
RADIUS:  authenticator D1 00 6D 9E 49 B8 F8 C0 - 51 5D 46 3F C7 39 DF 1B

строчку с атрибутами циска получает, но вот почему-то они не работают.


"Шейпинг pppoe сессии "
Отправлено navidl , 13-Окт-09 16:04 
>[оверквотинг удален]
>>Dial on demand:
>>  Dial on demand events debugging is on
>>
>>Radius protocol debugging is on
>>Radius packet protocol debugging is on
>>
>>А в логах эта зараза всё равно ничего не пишет... хотя пользователи
>>АДСЛ коннектятся постоянно.
>
>term mon не забыл?

Плюс ещё попробовал на интерфейсе virtual-template добавил параметр rate-limit чтобы зарезать скорость всем, при таком раскладе режет отлично, но всем...


"Шейпинг pppoe сессии "
Отправлено navidl , 13-Окт-09 17:11 
Всё, проблема решена.

Заработало всё при таком раскладе:
на радиусе пишем атрибуты
lcp:interface-config#1=rate-limit output 1024000 128000 256000 conform-action transmit exceed-action drop
lcp:interface-config#2=rate-limit intput 512000 128000 256000 conform-action transmit exceed-action drop

На циске заработало всё каким-то волшебным способом после ребута )))

Единственный незакрытый вопрос остался это по Virtual-access интерфейсам. Всем тем кто без шейпинга работает выдаёт интерфейсы в одном Vi1 (Vi1.1; Vi1.2 ... Vi1.100)
А всем тем кого шейпит выдаёт Vi4; Vi5; Vi6 и т.д...