LINUX.ORG.RU

Организация в iptables двоичного дерева поиска нужного правила


0

0

Есть задача:
пропускать через gateway только пакеты с известными
мне парами ip адрес, mac адрес.

Есть два варианта: статическая arp таблица, iptables.

Я думаю использовать iptables, причем для производительности
построить цепочки следующим образом:

сначала идут несколько правил, которые делят все пакеты на
несколько групп размером каждая по 256 адресов,
потом в каждой из этих цепочек пакеты делятся на группы по 64 адреса.. и .т.д.

То есть получается двоичное дерево поиска.

Эффект при этом должен быть в кол-ве проверок для
поиска нужного привила.

Предполагаю использовать дерево из четырех ярусов.
Всего получается 144 цепочки.
Минимальное кол-во проверок - 4, максимальное - 15.

Так вот я думаю не загнется ли iptables от такого кол-ва цепочек?


не загнется

а вот в производительности -- это еще вопрос. -j нужная таблица тоже поди время жрет, и это не факт что будет быстрее чем просто пробежать туеву хучу цепочек.

lb
()
Ответ на: комментарий от lb

переход между цепочками конечно время отнимет, но наверное 4 перехода плюс максимум 16 сравнений лучше чем 500 сравнений в пределах одной чепочки...

ak
() автор топика
19 июля 2002 г.

Прежде чем клепать дерево, разреши все пакеты на lo и установленных соединениях. Под эти правила большая часть пакетов и подойдет. а с остатками поступай как хочешь.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.