Добрый день!
У меня возникла проблема с ограничением полосы пропускания на коммутаторе Catalyst 4500 L3 Switch, а точнее на WS-C4900M.
Мне нужно ограничить скорость доступа в интернет на порту этого коммутатора для определенного хоста.IP хоста: 192.168.1.105
access-list 111 permit ip host 192.168.1.105 any
class-map match-all test_customer
match access-group 111
policy-map customer_policy
class test_customer
shape average 60000000
interface GigabitEthernet2/10
service-policy output customer_policy
В этом случае я, действительно, ограничиваю download для клиента.
Но не могу ограничить upload.
Прикрепляя подобный policy на input интерфейса я получаю ошибку:
% A service-policy with queuing actions cannot be attached in input direction.Я не самый большой знаток cisco и с cisco policy вообще не имел дела ранее.
Я немного в тупике.
Гугление не помогло - за выходные перечитал кучу информации по QoS на cisco.com, но просветление так и не наступило.В моем случае, меня бы устроило даже ограничение в целом скорости на порту,
без разделения на хосты и т.д, т.е. подошел бы аналог команды srr-queue, но её здесь нет.Спасибо
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4...
> https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4...Вы имели ввиду, что сервисную политику нужно "вешать" на vlan?
policy-map policy_shaper_vlan_in
class class_shaper_vlan_in
shape average 60000000class-map class_shaper_vlan_in
match access-group 122access-list 122 permit ip any host 192.168.1.105
cat4900m(config)#int gi2/10
cat4900m(config-if)#vlan-range 12
cat4900m(config-if-vlan-range)#service-policy input policy_shaper_vlan_in
% A service-policy with queuing actions cannot be attached in input direction.Failed to attach policy-map policy_shaper_vlan_in to interface GigabitEthernet2/10 vlan 12
Также политика не "вешается" и на сам vlan:cat4900m(config)#vlan configuration 12
cat4900m(config-vlan-config)#service-policy input policy_shaper_vlan_in
% A service-policy with queuing actions cannot be attached in input direction.
>[оверквотинг удален]
> cat4900m(config)#int gi2/10
> cat4900m(config-if)#vlan-range 12
> cat4900m(config-if-vlan-range)#service-policy input policy_shaper_vlan_in
> % A service-policy with queuing actions cannot be attached in input direction.
> Failed to attach policy-map policy_shaper_vlan_in to interface GigabitEthernet2/10 vlan
> 12
> Также политика не "вешается" и на сам vlan:
> cat4900m(config)#vlan configuration 12
> cat4900m(config-vlan-config)#service-policy input policy_shaper_vlan_in
> % A service-policy with queuing actions cannot be attached in input direction.Используйте policing, а не shaping.
>[оверквотинг удален]
>> cat4900m(config-if)#vlan-range 12
>> cat4900m(config-if-vlan-range)#service-policy input policy_shaper_vlan_in
>> % A service-policy with queuing actions cannot be attached in input direction.
>> Failed to attach policy-map policy_shaper_vlan_in to interface GigabitEthernet2/10 vlan
>> 12
>> Также политика не "вешается" и на сам vlan:
>> cat4900m(config)#vlan configuration 12
>> cat4900m(config-vlan-config)#service-policy input policy_shaper_vlan_in
>> % A service-policy with queuing actions cannot be attached in input direction.
> Используйте policing, а не shaping.Спасибо за наводку!
Сделал так:cat4900m(config)#access-list 100 permit ip 192.168.1.0 255.255.255.0 any
cat4900m(config)#access-list 101 permit ip any 192.168.1.0 255.255.255.0cat4900m(config)#class-map class_customer_out
cat4900m(config-cmap)#match access-group 101cat4900m(config)#class-map class_customer_in
cat4900m(config-cmap)#match access-group 100
cat4900m(config)#policy-map policy_customer_out
cat4900m(config-pmap)#class class_customer_out
cat4900m(config-pmap-c)#police cir 50000000 bc 500000 pir 55000000 conform-action transmit exceed-action drop
cat4900m(config)#policy-map policy_customer_in
cat4900m(config-pmap)#class class_customer_in
cat4900m(config-pmap-c)#police cir 30000000 bc 300000 pir 35000000 conform-action transmit exceed-action drop
cat4900m(config)#interface GigabitEthernet2/10
cat4900m(config-if)#service-policy output policy_customer_out
cat4900m(config-if)#service-policy input policy_customer_in
Но в этом случае, ограничение срабатывало только output, а input не ограничивал трафик.
А вот если сделать так:
cat4900m(config-if)#service-policy output policy_customer_out
cat4900m(config-if)#service-policy input policy_customer_outВидимо, я не совсем понял, как работает access-list...
Хоть цель и достигнута, но чтобы достичь просветления надо еще почитать.Спасибо!
Ограничения платформы есть и будут всегда. У этой платформы вся нарезка одностороння, т.е. только на входе.Если стоит задача обязательно резать, то придется менять дизайн.
Поглядите еще на UBRL на этой платформе оно есть.
> Ограничения платформы есть и будут всегда. У этой платформы вся нарезка одностороння,
> т.е. только на входе.
> Если стоит задача обязательно резать, то придется менять дизайн.
> Поглядите еще на UBRL на этой платформе оно есть.Спасибо!
В итоге всё получилось, с помощью policer (я так понимаю это и есть UBRL и буду вникать поглубже):interface GigabitEthernet2/10
vlan-range 5
service-policy input shaper_vlan5_out
service-policy output shaper_vlan5_in
vlan-range 460
service-policy input shaper_vlan460_out
service-policy output shaper_vlan460_inpolicy-map shaper_vlan5_out
class class_134_out
police cir 10000000 bc 100000 pir 11000000 conform-action transmit exceed-action drop
class class_135_out
police cir 60000000 bc 200000 pir 65000000 conform-action transmit exceed-action drop
policy-map shaper_vlan5_in
class class_134_in
police cir 15000000 bc 200000 pir 17000000 conform-action transmit exceed-action drop
class class_135_in
police cir 80000000 bc 500000 pir 85000000 conform-action transmit exceed-action dropclass-map match-all class_134_in
match access-group 103class-map match-all class_134_out
match access-group 102class-map match-all class_135_in
match access-group 105class-map match-all class_135_out
match access-group 104
access-list 102 permit ip host 192.168.2.134 any
access-list 103 permit ip any host 192.168.2.134access-list 104 permit ip host 192.168.2.135 any
access-list 105 permit ip any host 192.168.2.135
В итоге добился того, что для разных ip/networks могу шейпить на порту в различных vlan-ах.
Именно то, чего я и хотел.
Спасибо за подсказки - они очень помогли!