Описание тега multiple-users
Как получить детерминированные полный дамп всех правил iptables?
По полной, я имею ввиду все таблицы в iptables.
Детерминированными, я имею в виду, когда команда выполняется несколько раз без изменения в iptables, он всегда должен вывести то же самое.
Пример: рефакторинг скрипта файервола. Например, с помощью цикла for, а не писать подобную команду несколько раз и тому подобное. Бег для iptables-дамп команды до и после для проверки рефакторинг не изменилось любые фактические правила iptables.
Согласно ответа на Жиль, чтобы получить полный выходной, -в
должны быть использованы.
в iptables
контролирует пять разных таблиц:фильтр
,нац
,корежить
,сырья
ибезопасности
. На данный вызов,в iptables
только отображает или модифицирует одну из этих таблиц, указанный в аргументе параметра-т
(по умолчаниюфильтр
). Чтобы увидеть полное состояние брандмауэра, вам нужно позвонитьв iptables
на все столы подряд.Кроме того, чтобы получить точное представление о правилах, вы должны передать опцию
-V для
. В противном случае некоторые важные критерии отсутствуют в выходных данных, такие как интерфейс в фильтре правил (например, правило, которое говорит, “принимать все” и говорит, что “принимают все на петлевой интерфейс” можно выделить только с-в
).Таким образом, чтобы получить полное представление правил с netfilter, вам нужно
в iptables -вл -Т фильтра в iptables -вл -Т нац в iptables -вл -Т корежить в iptables -вл -Т сырье в iptables -вл -Т безопасности
Кроме того, вы можете позвонить
в iptables-сохранить
программу, которая показывает все правила во всех таблицах в формате, который может быть проанализированв iptables-восстановить
. Этот формат также обоснованно читаемых людьми (это очень похоже на серию звонков вiptables в
команду для создания таблицы).
Но при использовании -в
пакеты и байты счетчика будут добавлены. Таким образом, делая вывод недетерминированным.
Как получить лучшее из обоих миров? Как получить детерминированные полный дамп всех правил iptables?