Назад | Перейти на главную страницу

iptables «недавний» модуль - настройка параметров модуля

На странице руководства по модулю «Recent» iptables объясняется, что сам модуль принимает параметры. Как установить эти параметры? Я бы предположил, что они будут установлены где-то там, где загружен модуль. Я не знаю, где это.

У кого-нибудь есть идеи?

Если вы загружаете модуль вручную, вы просто добавляете его в командную строку modprobe:

modprobe ipt_recent param1=val1 param2=val2

В противном случае, если он загружается автоматически, вы можете создать файл в /etc/modprobe.d, сказать /etc/modprobe.d/ipt_recent, с содержанием:

options ipt_recent param1=val1 param2=val2

Что будет делать то же самое, что и строка modprobe выше.

У меня нет репутации, чтобы отвечать на ответ TopQ, но я зарегистрировал учетную запись, чтобы сказать людям не делать то, что он предлагает. Исходный код модуля (http://lxr.linux.no/linux+v3.9/net/netfilter/xt_recent.c) не имеет возможности обнаруживать изменения этого параметра и перераспределять буфер ядра, отвечающий за отслеживание последних совпадений.

Следовательно, если вы измените этот параметр chmod на запись и впоследствии измените его, последующие записи в существующие журналы недавних обращений будут переполнять ранее выделенные буферы ядра и вызывать панику ядра.

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

Настройте файл конфигурации xt_recent

Создайте файл /etc/modprobe.d/xt_recent.conf и включите такую ​​строку:

options xt_recent ip_list_tot=50 ip_pkt_list_tot=150

Не забудьте добавить несколько комментариев о том, что вы делаете. Будущее тебе скажет спасибо.

Подготовьтесь к повторной инициализации xt_recent

Прежде чем мы удалим какие-либо правила в вашем брандмауэре, который в настоящее время использует последний модуль, или просто отключите брандмауэр. Вы можете сохранить свои правила, прежде чем делать это с помощью sudo iptables-save > somefile.txt или, может быть sudo service iptables save если ваш дистрибутив это поддерживает.

Выберите один из этих двух в зависимости от вашей ситуации. Вы также можете просто перезагрузить компьютер на этом этапе и перейти к добавлению правил.

Чтобы выключить iptables

sudo service iptables stop

Чтобы удалить определенные правила:

  1. Использовать iptables -L --line-numbers чтобы перечислить правила и найти в них «недавнее:».
  2. Использовать iptables -D INPUT # где # - номер строки для удаления правил.

Повторно инициализировать xt_recent

Снимите модуль с sudo modprobe -r xt_recent. Добавьте его обратно с помощью sudo modprobe xt_recent.

Убедитесь, что ваши параметры были применены с sudo cat /sys/module/xt_recent/parameters/ip_pkt_list_tot.

Добавьте правила, которые вы не могли

Если вы остановили iptables sudo service iptables start вернуть его.

Добавьте свои правила обратно с более высокими значениями, которые вы хотели.

Бонус:

sudo watch 'iptables -nvL' позволит вам смотреть, как все попадает в правила xt_recent.

Если модуль уже загружен, вы все равно можете изменить параметр, манипулируя значением в / sys / module / ipt_recent / parameters /.

Например, чтобы изменить значение ip_pkt_list_tot, вы можете:

эхо 200> / sys / module / ipt_recent / parameters / ip_pkt_list_tot

Конечно, у вас должно быть разрешение.