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

Исходное сообщение
"Защита от ARP-флуда (отключение ARP на интерфейсе?)"

Отправлено chindi , 17-Янв-08 15:48 
Имеется 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, но как это сделать, я не знаю. Или есть более изящные решения?

Заранее благодарю за помощь.


Содержание

Сообщения в этом обсуждении
"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено CrAzOiD , 17-Янв-08 16:12 
no arp arpa ?


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено chindi , 17-Янв-08 16:21 
>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 ничего похожего нет.


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено CrAzOiD , 17-Янв-08 16:37 
>[оверквотинг удален]
> vlan-range dot1q 1 1024
>  pppoe enable group global
>  exit-vlan-config
> !
> no arp arpa
>end
>===
>
>Может быть, ARP-ы надо отключать внутри VLAN-ов, а не самого интерфейса? Внутри
>vlan-range ничего похожего нет.

не забывайте что есть arp кеш и не только на кошке. очистите его
ну и есть ли свичи между устройствами? они тоже кешируют


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено chindi , 17-Янв-08 16:50 
>не забывайте что есть arp кеш и не только на кошке. очистите его
>ну и есть ли свичи между устройствами? они тоже кешируют

Ну, кеш тут не при чем - С7206 загружается от потока запросов (ARP-WHO); поток прекращается  - загрузка процессора пропадает.

Хочется полностью отключить обработку ARP-протокола на интерфейсе, чтоб процесс ARP Input с этого интерфейса вообще не получал бы пакетов. Или это фантастика?..


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено w0nders , 17-Янв-08 16:37 
>[оверквотинг удален]
> vlan-range dot1q 1 1024
>  pppoe enable group global
>  exit-vlan-config
> !
> no arp arpa
>end
>===
>
>Может быть, ARP-ы надо отключать внутри VLAN-ов, а не самого интерфейса? Внутри
>vlan-range ничего похожего нет.

а что если фильтровать L2 трафик до маршрутизатора ?


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено chindi , 17-Янв-08 16:52 
>>Может быть, ARP-ы надо отключать внутри VLAN-ов, а не самого интерфейса? Внутри
>>vlan-range ничего похожего нет.
>а что если фильтровать L2 трафик до маршрутизатора ?

Нуу, как крайняя мера, пойдет..

Но все же интересно, есть ли более штатные и красивые решения, на базе самого маршрутизатора?


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено w0nders , 17-Янв-08 17:03 
>>>Может быть, ARP-ы надо отключать внутри VLAN-ов, а не самого интерфейса? Внутри
>>>vlan-range ничего похожего нет.
>>а что если фильтровать L2 трафик до маршрутизатора ?
>
>Нуу, как крайняя мера, пойдет..
>
>Но все же интересно, есть ли более штатные и красивые решения, на
>базе самого маршрутизатора?

почему как крайняя мера?!, ведь у вас маршрутизатор выполняет роль сервера доступа - соответвенно он и должен заниматься обслуживанием конкретного сервиса для подписчиков.


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено chindi , 17-Янв-08 18:27 
>>>а что если фильтровать L2 трафик до маршрутизатора ?
>>Нуу, как крайняя мера, пойдет..
>почему как крайняя мера?!, ведь у вас маршрутизатор выполняет роль сервера доступа
>- соответвенно он и должен заниматься обслуживанием конкретного сервиса для подписчиков.

Ладно, с крайней мерой я погорячился :)

Но проблема в том, что C7206 включен в каталист 2960G, в который входят линии магистрали (транки), фильтровать где-то выше нельзя (ибо пользовательский внутресетевой трафик), а как написать для 2960 правило, фильтрующее все ARP-пакеты внутри потока 802.1Q из вланов с 1 по 1024, я не знаю...

Я просто подумал, что в такой продвинутой прошивке, как ADVIPSERVICE, должно быть что-то для решения такой элементарной проблемы...


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено w0nders , 17-Янв-08 19:05 
>[оверквотинг удален]
>Ладно, с крайней мерой я погорячился :)
>
>Но проблема в том, что C7206 включен в каталист 2960G, в который
>входят линии магистрали (транки), фильтровать где-то выше нельзя (ибо пользовательский внутресетевой
>трафик), а как написать для 2960 правило, фильтрующее все ARP-пакеты внутри
>потока 802.1Q из вланов с 1 по 1024, я не знаю...
>
>
>Я просто подумал, что в такой продвинутой прошивке, как ADVIPSERVICE, должно быть
>что-то для решения такой элементарной проблемы...

ДА в ней есть - IDS.
можно на коммутаторе просто разрешить только фреймы с PPPoE


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено Maximator , 17-Янв-08 22:38 
Dynamic ARP Inspection?

"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено w0nders , 17-Янв-08 22:59 
>Dynamic ARP Inspection?

это решение оправданно - до маршрутизатора.
и лишь как ограничитель общего кол-во ARP-пакетов для интерфейса.


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено Maximator , 17-Янв-08 23:01 
>>Dynamic ARP Inspection?
>
>это решение оправданно - до маршрутизатора.
>и лишь как ограничитель общего кол-во ARP-пакетов для интерфейса.

Тогда IDS + кадры PPPoE.


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено w0nders , 17-Янв-08 23:11 
>>>Dynamic ARP Inspection?
>>
>>это решение оправданно - до маршрутизатора.
>>и лишь как ограничитель общего кол-во ARP-пакетов для интерфейса.
>
>Тогда IDS + кадры PPPoE.

я об этом уже говорил.


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено chindi , 18-Янв-08 15:58 
>ДА в ней есть - IDS.

Покопался я в инете, но ничего похожего на мой случай не нашел, как либо разрешить для trunc-ового порта только фреймы PPPoE, либо запретить ARP-ы.. Искал, видимо, плохо - тыкните, плиз, в доку.

>можно на коммутаторе просто разрешить только фреймы с PPPoE

На 2960, как я понял, нельзя создавать правила внутри trunc-ов, у нас еще есть 3560, на нем можно, но тогда эти правила применяются на вланы со всех портов сразу, что совершенно не есть решение..

Эээх, эта мелкая проблема у нас тут всю контору раком поставила - пока единственное решение, что мы нашли, это гнать транковый на C7206 через линуксовый файрволл.... :-/


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено w0nders , 18-Янв-08 16:47 
>[оверквотинг удален]
>>можно на коммутаторе просто разрешить только фреймы с 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


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено chindi , 18-Янв-08 17:19 
>у меня на 3560G, рабочая конфигурация ->

Гранд мерси!!
Поменяю 2960 на 3560 - проверю.


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено w0nders , 18-Янв-08 18:04 
>>у меня на 3560G, рабочая конфигурация ->
>
>Гранд мерси!!
>Поменяю 2960 на 3560 - проверю.

А Вы мне расскажите, что у Вас там за фаервол на linux и на сколько он эффективен ?


"Защита от ARP-флуда (отключение ARP на интерфейсе?)"
Отправлено chindi , 28-Янв-08 14:26 
>>>у меня на 3560G, рабочая конфигурация ->
>>Гранд мерси!!

Поторопился я немного - оказывается, правила можно ставить только на input с интерфейса, а ограничивать весь входящий транк на центральном свитче только одними PPPoE-фреймами - не комильфо.. Ну да ладно, поставим отдельную буферную 3560 между центральным свитчем и точками доступа, только для PPPoE-транков.

>А Вы мне расскажите, что у Вас там за фаервол на linux
>и на сколько он эффективен?

Да обычный iptables с ipset.. :) Мы на нем отрезаем локальный трафик для пользователей, у которых денег нету на счету. Эффективность высокая, но, правда, заслуга линуха тут невелика - роутер очень мощный.

Собственно, как решить задачу с вырезанием данных внутри транка средствами линухового netfilter, я не знаю, и, от безысходности, собрался уж загнать транк в бридж и писать свой match-модуль для ebtables. :) Выделенная циска получится дешевле :)