ipfw и over 9000 правил
Добавлено: 2013-04-02 12:31:06
Перечитал разную документацию, но что-то непойму саму суть как сделать что-то типа древовидного файрвола, если такое вообще можно сделать.
Корень проблемы: нужно в ipfw (или другой FreeBSD firewall) добавить около 16000 правил, например
и т.д. Никакой закономерности в ip нет.
Если добавить такое на ненагруженый сервер то сразу съедается 5% CPU, но если его пригрузить трафиком то CPU ложится уже при 2000 правилах.
Вот я и ломаю голову как сделать, напимер, если сеть 192.168.0.0/24 то перейти к последовательному перебору правил по этой подсети, если нет то проверяем подходит ли ip под следующую подсеть.
Корень проблемы: нужно в ipfw (или другой FreeBSD firewall) добавить около 16000 правил, например
Код: Выделить всё
ipfw add 1000 allow ip from 192.168.0.1 to any
ipfw add 1001 allow ip from 192.168.0.2 to any
ipfw add 1002 deny ip from 192.168.0.3 to any
Если добавить такое на ненагруженый сервер то сразу съедается 5% CPU, но если его пригрузить трафиком то CPU ложится уже при 2000 правилах.
Вот я и ломаю голову как сделать, напимер, если сеть 192.168.0.0/24 то перейти к последовательному перебору правил по этой подсети, если нет то проверяем подходит ли ip под следующую подсеть.