Модуль community.general.iptables_state – Сохранение состояния iptables в файл или восстановление из файла
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробной информации.
Для использования в playbook укажите: community.general.iptables_state.
Новое в community.general 1.1.0
Краткое описание
-
iptablesиспользуется для настройки, обслуживания и проверки таблиц правил фильтрации IP-пакетов в ядре Linux. - Этот модуль обрабатывает сохранение и/или загрузку правил. Это аналогично поведению команд
iptables-saveиiptables-restore(илиip6tables-saveиip6tables-restoreдля IPv6), которые этот модуль использует внутренне. - Изменение состояния брандмауэра удаленно может привести к потере доступа к хосту в случае ошибки в новом наборе правил. Этот модуль включает в себя функцию отката, чтобы избежать этого, сообщая хосту восстановить предыдущие правила, если cookie все еще существует после заданной задержки, и все это время сообщая контроллеру попытаться удалить этот cookie на хосте через новое соединение.
Примечание
Этот модуль имеет соответствующий плагин действия.
Требования
Ниже указаны требования, необходимые на хосте, который выполняет этот модуль.
- iptables
- ip6tables
Параметры
Параметр | Комментарии |
|---|---|
counters boolean | Сохранить или восстановить значения всех счетчиков пакетов и байтов. Когда Варианты:
|
ip_version string | К какой версии протокола IP должен применяться этот модуль. Варианты:
|
modprobe path | Укажите путь к программе По умолчанию проверяется |
noflush boolean | Для Если Варианты:
|
path path / required | Файл, в который должно быть сохранено состояние iptables. Файл, из которого должно быть восстановлено состояние iptables. |
state string / required | Должно ли состояние брандмауэра быть сохранено (в файл) или восстановлено (из файла). Варианты:
|
table string | Когда Когда Варианты:
|
wait integer | Ожидать N секунд блокировки xtables, чтобы предотвратить мгновенный сбой в случае одновременного запуска нескольких экземпляров программы. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action | Поддержка: полная | Указывает, что есть соответствующий плагин действия, поэтому некоторые части параметров могут быть выполнены на контроллере. |
async | Поддержка: полная | Поддерживает использование с ключевым словом |
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: отсутствует | Возвращает подробную информацию о том, что изменилось (или, возможно, нуждается в изменении в |
Примечания
Примечание
- Функция отката не является модульным параметром и зависит от атрибутов задачи. Для её активации модуль должен выполняться асинхронно, т.е. установив атрибуты задачи
pollв0, иasyncв значение, меньшее или равноеANSIBLE_TIMEOUT. Еслиasyncбольше, откат всё равно произойдёт, если это необходимо, но вы столкнётесь с таймаутом соединения вместо более релевантной информации, возвращаемой модулем после его сбоя.
Примеры
# This will apply to all loaded/active IPv4 tables.
- name: Save current state of the firewall in system file
community.general.iptables_state:
state: saved
path: /etc/sysconfig/iptables
# This will apply only to IPv6 filter table.
- name: save current state of the firewall in system file
community.general.iptables_state:
ip_version: ipv6
table: filter
state: saved
path: /etc/iptables/rules.v6
# This will load a state from a file, with a rollback in case of access loss
- name: restore firewall state from a file
community.general.iptables_state:
state: restored
path: /run/iptables.apply
async: "{{ ansible_timeout }}"
poll: 0
# This will load new rules by appending them to the current ones
- name: restore firewall state from a file
community.general.iptables_state:
state: restored
path: /run/iptables.apply
noflush: true
async: "{{ ansible_timeout }}"
poll: 0
# This will only retrieve information
- name: get current state of the firewall
community.general.iptables_state:
state: saved
path: /tmp/iptables
check_mode: true
changed_when: false
register: iptables_state
- name: show current state of the firewall
ansible.builtin.debug:
var: iptables_state.initial_state
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
applied логическое | Установлено ли желаемое состояние успешно. Возвращается: всегда Пример: |
initial_state список / элементы=строка | Текущее состояние брандмауэра при запуске модуля. Возвращается: всегда Пример: |
restored список / элементы=строка | Состояние, которое модуль восстановил, независимо от того, было ли оно применено в итоге. Возвращается: всегда Пример: |
saved список / элементы=строка | Состояние iptables, сохранённое модулем. Возвращается: всегда Пример: |
tables словарь | iptables на системе до запуска модуля, разделенные по таблицам. Если используется параметр Возвращается: всегда Пример: |
|
table список / элементы=строка |
Политики и правила для всех цепочек указанной таблицы. Возвращается: успешно |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/iptables_state_module.html