Страницы

Поиск по вопросам

понедельник, 30 марта 2020 г.

Таблицы ipfw FreeBSD. Для чего нужны?

#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



Таблицы быстры. Думаю, что в отличие от пробегания по правилам, поиск по таблицам осуществляется не последовательным перебором, а с использованием какого-либо дерева. Кроме того, они позволяют сокращать набор правил, если одно и то же правило будет применяться ко множеству адресов. В общем, место для использования таблиц — это когда вам надо применить одно правило для большого количества (от десятка до десятков тысяч) адресов, особенно, когда набор этих адресов динамически меняется, а не сохранён в файле конфигурации.

Комментариев нет:

Отправить комментарий