#freebsd #ipfw
Подскажите в чем сила таблиц в ipfw? Ведь можно нужные ip-адреса записывать в переменные?? Например, в файле с настройками ipfw задаем переменную Lan="192.168.0.0/24,192.168.1.2". Понятно, что если нужно добавить другой адрес, то придется перегрузить ipfw. Однако если использовать таблицы, то их так же нужно прописывать в файле с настройками ipfw. table_icmp=1 ${cmd} table $table_icmp flush ${cmd} table $table_icmp add 192.168.0.0/24 ${cmd} table $table_icmp add 192.168.1.2 И при добавлении нового ip-адреса перегружать ipfw. Единственным плюсом является добавление адресов в таблицу (до первой перегрузки ipfw или системы) ipfw table 1 add 192.168.1.4 Где их стоит применять??
Ответы
Ответ 1
Таблицы в ipfw это динамический массив. Применяются как раз для того чтобы не надо было перегружать правила всего файрвола. Изначально таблица вообще может быть пустой и изменяться в процессе работы какого-то демона. Как пример, можно посмотреть демон /usr/ports/security/py-fail2ban Он анализирует логи и если кол-во, например, неправильных попыток ввода пароля по ssh превысило 3, то этот IP адрес в носится в таблицу 22. А в правилах прописывается: unreach port ip from table(22) to meОтвет 2
Таблицы быстры. Думаю, что в отличие от пробегания по правилам, поиск по таблицам осуществляется не последовательным перебором, а с использованием какого-либо дерева. Кроме того, они позволяют сокращать набор правил, если одно и то же правило будет применяться ко множеству адресов. В общем, место для использования таблиц — это когда вам надо применить одно правило для большого количества (от десятка до десятков тысяч) адресов, особенно, когда набор этих адресов динамически меняется, а не сохранён в файле конфигурации.
Комментариев нет:
Отправить комментарий