Имеется 7206 NPE G2 с прошивкой C7200P-ADVIPSERVICESK9-M.Терминирует PPPoE, пользовательские сети приходят вланами через транковый порт:
====
interface GigabitEthernet0/3
no ip address
duplex auto
speed auto
media-type sfp
negotiation auto
vlan-range dot1q 1 1024
pppoe enable group global
exit-vlan-config
====Заметил тут неприятный момент: если с пользовательского влана устроить страшный флуд ARP-запросами (я запустил из-под линукса arping -w 0), загрузка процессора на циске прыгнула до 90%!
show processes cpu:
====
[cut]
18 0 1 0 0.00% 0.00% 0.00% 0 Crash writer
19 966200 53587340 18 85.25% 58.51% 4.11% 0 ARP Input
20 0 2 0 0.00% 0.00% 0.00% 0 ATM Idle Timer
[cut]
====Понятное дело, что это, мягко говоря, грустно... :(
Для PPPoE ARP-протокол не нужен, так что с налету в голову приходит полное отключение ARP-а на GigabitEthernet0/3, но как это сделать, я не знаю. Или есть более изящные решения?
Заранее благодарю за помощь.
no arp arpa ?
>no arp arpa ?Не помогает.. :(
===
interface GigabitEthernet0/3
description All trunc
no ip address
duplex auto
speed auto
media-type sfp
negotiation auto
vlan-range dot1q 1 1024
pppoe enable group global
exit-vlan-config
!
no arp arpa
end
===Может быть, ARP-ы надо отключать внутри VLAN-ов, а не самого интерфейса? Внутри vlan-range ничего похожего нет.
>[оверквотинг удален]
> vlan-range dot1q 1 1024
> pppoe enable group global
> exit-vlan-config
> !
> no arp arpa
>end
>===
>
>Может быть, ARP-ы надо отключать внутри VLAN-ов, а не самого интерфейса? Внутри
>vlan-range ничего похожего нет.не забывайте что есть arp кеш и не только на кошке. очистите его
ну и есть ли свичи между устройствами? они тоже кешируют
>не забывайте что есть arp кеш и не только на кошке. очистите его
>ну и есть ли свичи между устройствами? они тоже кешируютНу, кеш тут не при чем - С7206 загружается от потока запросов (ARP-WHO); поток прекращается - загрузка процессора пропадает.
Хочется полностью отключить обработку ARP-протокола на интерфейсе, чтоб процесс ARP Input с этого интерфейса вообще не получал бы пакетов. Или это фантастика?..
>[оверквотинг удален]
> vlan-range dot1q 1 1024
> pppoe enable group global
> exit-vlan-config
> !
> no arp arpa
>end
>===
>
>Может быть, ARP-ы надо отключать внутри VLAN-ов, а не самого интерфейса? Внутри
>vlan-range ничего похожего нет.а что если фильтровать L2 трафик до маршрутизатора ?
>>Может быть, ARP-ы надо отключать внутри VLAN-ов, а не самого интерфейса? Внутри
>>vlan-range ничего похожего нет.
>а что если фильтровать L2 трафик до маршрутизатора ?Нуу, как крайняя мера, пойдет..
Но все же интересно, есть ли более штатные и красивые решения, на базе самого маршрутизатора?
>>>Может быть, ARP-ы надо отключать внутри VLAN-ов, а не самого интерфейса? Внутри
>>>vlan-range ничего похожего нет.
>>а что если фильтровать L2 трафик до маршрутизатора ?
>
>Нуу, как крайняя мера, пойдет..
>
>Но все же интересно, есть ли более штатные и красивые решения, на
>базе самого маршрутизатора?почему как крайняя мера?!, ведь у вас маршрутизатор выполняет роль сервера доступа - соответвенно он и должен заниматься обслуживанием конкретного сервиса для подписчиков.
>>>а что если фильтровать L2 трафик до маршрутизатора ?
>>Нуу, как крайняя мера, пойдет..
>почему как крайняя мера?!, ведь у вас маршрутизатор выполняет роль сервера доступа
>- соответвенно он и должен заниматься обслуживанием конкретного сервиса для подписчиков.Ладно, с крайней мерой я погорячился :)
Но проблема в том, что C7206 включен в каталист 2960G, в который входят линии магистрали (транки), фильтровать где-то выше нельзя (ибо пользовательский внутресетевой трафик), а как написать для 2960 правило, фильтрующее все ARP-пакеты внутри потока 802.1Q из вланов с 1 по 1024, я не знаю...
Я просто подумал, что в такой продвинутой прошивке, как ADVIPSERVICE, должно быть что-то для решения такой элементарной проблемы...
>[оверквотинг удален]
>Ладно, с крайней мерой я погорячился :)
>
>Но проблема в том, что C7206 включен в каталист 2960G, в который
>входят линии магистрали (транки), фильтровать где-то выше нельзя (ибо пользовательский внутресетевой
>трафик), а как написать для 2960 правило, фильтрующее все ARP-пакеты внутри
>потока 802.1Q из вланов с 1 по 1024, я не знаю...
>
>
>Я просто подумал, что в такой продвинутой прошивке, как ADVIPSERVICE, должно быть
>что-то для решения такой элементарной проблемы...ДА в ней есть - IDS.
можно на коммутаторе просто разрешить только фреймы с PPPoE
Dynamic ARP Inspection?
>Dynamic ARP Inspection?это решение оправданно - до маршрутизатора.
и лишь как ограничитель общего кол-во ARP-пакетов для интерфейса.
>>Dynamic ARP Inspection?
>
>это решение оправданно - до маршрутизатора.
>и лишь как ограничитель общего кол-во ARP-пакетов для интерфейса.Тогда IDS + кадры PPPoE.
>>>Dynamic ARP Inspection?
>>
>>это решение оправданно - до маршрутизатора.
>>и лишь как ограничитель общего кол-во ARP-пакетов для интерфейса.
>
>Тогда IDS + кадры PPPoE.я об этом уже говорил.
>ДА в ней есть - IDS.Покопался я в инете, но ничего похожего на мой случай не нашел, как либо разрешить для trunc-ового порта только фреймы PPPoE, либо запретить ARP-ы.. Искал, видимо, плохо - тыкните, плиз, в доку.
>можно на коммутаторе просто разрешить только фреймы с PPPoE
На 2960, как я понял, нельзя создавать правила внутри trunc-ов, у нас еще есть 3560, на нем можно, но тогда эти правила применяются на вланы со всех портов сразу, что совершенно не есть решение..
Эээх, эта мелкая проблема у нас тут всю контору раком поставила - пока единственное решение, что мы нашли, это гнать транковый на C7206 через линуксовый файрволл.... :-/
>[оверквотинг удален]
>>можно на коммутаторе просто разрешить только фреймы с PPPoE
>
>На 2960, как я понял, нельзя создавать правила внутри trunc-ов, у нас
>еще есть 3560, на нем можно, но тогда эти правила применяются
>на вланы со всех портов сразу, что совершенно не есть решение..
>
>
>Эээх, эта мелкая проблема у нас тут всю контору раком поставила -
>пока единственное решение, что мы нашли, это гнать транковый на C7206
>через линуксовый файрволл.... :-/у меня на 3560G, рабочая конфигурация ->
mac access-list extended PPPoE
permit any any 0x8863 0x0
permit any any 0x8864 0x0
...
interface GigabitEthernet0/21
description VLAN-collector
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 100-199
switchport mode trunk
switchport block multicast
mac access-group PPPoE in
no cdp enable
>у меня на 3560G, рабочая конфигурация ->Гранд мерси!!
Поменяю 2960 на 3560 - проверю.
>>у меня на 3560G, рабочая конфигурация ->
>
>Гранд мерси!!
>Поменяю 2960 на 3560 - проверю.А Вы мне расскажите, что у Вас там за фаервол на linux и на сколько он эффективен ?
>>>у меня на 3560G, рабочая конфигурация ->
>>Гранд мерси!!Поторопился я немного - оказывается, правила можно ставить только на input с интерфейса, а ограничивать весь входящий транк на центральном свитче только одними PPPoE-фреймами - не комильфо.. Ну да ладно, поставим отдельную буферную 3560 между центральным свитчем и точками доступа, только для PPPoE-транков.
>А Вы мне расскажите, что у Вас там за фаервол на linux
>и на сколько он эффективен?Да обычный iptables с ipset.. :) Мы на нем отрезаем локальный трафик для пользователей, у которых денег нету на счету. Эффективность высокая, но, правда, заслуга линуха тут невелика - роутер очень мощный.
Собственно, как решить задачу с вырезанием данных внутри транка средствами линухового netfilter, я не знаю, и, от безысходности, собрался уж загнать транк в бридж и писать свой match-модуль для ebtables. :) Выделенная циска получится дешевле :)