firewalld – Управление произвольными портами/службами с помощью firewalld
Описание
- Этот модуль позволяет добавлять или удалять службы и порты (TCP или UDP) в правила firewalld, работающие или постоянные.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- firewalld >= 0.2.11
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| icmp_block строка добавлен в 2.8 | Блок ICMP, который вы хотите добавить/удалить в зоне firewalld. | |
| icmp_block_inversion строка добавлен в 2.8 | Включить/выключить инверсию блоков ICMP для зоны firewalld. | |
| immediate логическое |
| Должна ли эта конфигурация применяться немедленно, если она установлена как постоянная. |
| interface строка | Интерфейс, который вы хотите добавить/удалить в зону firewalld. | |
| masquerade строка | Настройка маскировки, которую вы хотите включить/выключить в зонах firewalld. | |
| offline логическое |
| Выполнять ли этот модуль, даже когда firewalld не активен. |
| permanent логическое |
| Должна ли эта конфигурация быть в текущей конфигурации firewalld или сохраняться при перезагрузке. Начиная с Ansible 2.3, операции permanent могут работать с конфигурациями firewalld, когда он не запущен (требуется firewalld >= 3.0.9). Обратите внимание, что если это no, immediate подразумевается yes. |
| port строка | Имя порта или диапазона портов для добавления/удаления в firewalld. Должно быть в формате PORT/PROTOCOL или PORT-PORT/PROTOCOL для диапазонов портов. | |
| rich_rule строка | Богатое правило для добавления/удаления в firewalld. | |
| service строка | Имя службы для добавления/удаления в firewalld. Служба должна быть указана в выводе firewall-cmd --get-services. | |
| source строка | Источник/сеть, которую вы хотите добавить/удалить в firewalld. | |
| state строка / обязательно |
| Включить или отключить настройку. Для портов: должен ли этот порт принимать (включено) или отклонять (выключено) подключения. Состояния present и absent могут использоваться только в операциях на уровне зоны (т. е. когда не заданы другие параметры, кроме зоны и состояния). |
| timeout целое число | По умолчанию: 0 | Время, в течение которого правило должно действовать, если оно не постоянное. |
| zone строка | Зона firewalld, для добавления/удаления. Обратите внимание, что зона по умолчанию может быть настроена на уровне системы, но public является значением по умолчанию по умолчанию из исходного кода.Доступные варианты могут быть расширены на основе конфигураций каждой системы, здесь указаны значения по умолчанию «из коробки». Возможные значения включают block, dmz, drop, external, home, internal, public, trusted, work. |
Примечания
Примечание
- Не тестировалось на системах на базе Debian.
- Требует привязки python2 к firewalld, которые могут быть не установлены по умолчанию.
- В дистрибутивах, где привязки python2 к firewalld недоступны (например, Fedora 28 и более поздние версии), вам нужно установить ansible_python_interpreter для этих хостов на путь интерпретатора python3 и установить привязки python3.
- Операции с зонами (создание, удаление) могут быть выполнены, используя только параметры зоны и состояния «present» или «absent». Обратите внимание, что операции с зонами должны явно быть permanent. Это ограничение firewalld. Это также означает, что вам нужно будет перезагрузить firewalld после добавления зоны, на которой вы хотите выполнить немедленные действия. Модуль не будет позаботиться об этом неявно, потому что это отменит любые ранее выполненные немедленные действия, которые не были постоянными. Поэтому, если вам нужен немедленный доступ к недавно созданной зоне, рекомендуется немедленно перезагрузить firewalld после того, как создание зоны вернет измененное состояние, и перед выполнением любых других немедленных, непостоянных действий в этой зоне.
Примеры
- firewalld:
service: https
permanent: yes
state: enabled
- firewalld:
port: 8081/tcp
permanent: yes
state: disabled
- firewalld:
port: 161-162/udp
permanent: yes
state: enabled
- firewalld:
zone: dmz
service: http
permanent: yes
state: enabled
- firewalld:
rich_rule: rule service name="ftp" audit limit value="1/m" accept
permanent: yes
state: enabled
- firewalld:
source: 192.0.2.0/24
zone: internal
state: enabled
- firewalld:
zone: trusted
interface: eth2
permanent: yes
state: enabled
- firewalld:
masquerade: yes
state: enabled
permanent: yes
zone: dmz
- firewalld:
zone: custom
state: present
permanent: yes
- firewalld:
zone: drop
state: present
permanent: yes
icmp_block_inversion: yes
- firewalld:
zone: drop
state: present
permanent: yes
icmp_block: echo-request
- name: Redirect port 443 to 8443 with Rich Rule
firewalld:
rich_rule: rule family=ipv4 forward-port port=443 protocol=tcp to-port=8443
zone: public
permanent: yes
immediate: yes
state: enabled
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [preview]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Adam Miller (@maxamillion)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/firewalld_module.html