2

Я пытаюсь написать файл набора правил iptables размером 22 МБ, именно такой, который генерируется командой iptables-save , за исключением бесконечно длинных. Понятно, что это занимает непомерно много времени. Возьмите этот миниатюрный пример.

*filter
:INPUT ACCEPT [64:4692]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [72:28512]
-A INPUT -p tcp -m tcp --sport 9000:9004 -m iprange --src-range 127.0.0.1-127.0.0.1 -j DROP
COMMIT

После (INPUT|OUTPUT|FORWARD) ACCEPT появляются диапазоны значений.

:<chain-name> <chain-policy> [<счетчик пакетов>:<счетчик байтов>]

Кажется, что они зависят от того, что уже сохранено в iptables при использовании iptables-save , но, поскольку загрузка правил в iptables , в первую очередь, является проблемой, я не уверен, как получить эти значения, чтобы я мог ввести их вручную ( скорее vim), в окончательный файл набора правил.

Как можно рассчитать эти значения? Возможно ли это без запуска другой команды iptables ?

1 ответ1

1

Если вы не используете счетчики в одном из своих правил или не нуждаетесь в счетчиках для какой-либо другой цели (выставления счетов и т.д.), Я бы просто опустил их следующим образом:

*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --sport 9000:9004 -m iprange --src-range 127.0.0.1-127.0.0.1 -j DROP
COMMIT

Можно просмотреть текущие значения счетчика с помощью команды iptables --list .

iptables -L -v -x

Обратите внимание, что счетчики меняются при передаче пакетов по цепочке правил, поэтому, как только вы прочитаете счетчики, они могут быть изменены входящим или исходящим пакетом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .