ansible.posix.firewalld – Управление произвольными портами/службами с firewalld
Примечание
Этот плагин входит в коллекцию ansible.posix (версия 1.1.1).
Для его установки используйте: ansible-galaxy collection install ansible.posix.
Чтобы использовать его в книге задач, укажите: ansible.posix.firewalld.
Описание
- Этот модуль позволяет добавлять или удалять службы и порты (TCP или UDP) в правила firewalld, работающие в режиме реального времени или постоянные.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- firewalld >= 0.2.11
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| icmp_block строка | Блок ICMP, который вы хотите добавить/удалить в зоне firewalld. | |
| icmp_block_inversion строка | Включить/выключить инверсию блоков ICMP для зоны в firewalld. | |
| immediate булево |
| Следует ли применить это конфигурирование немедленно, если оно задано как постоянное. |
| interface строка | Интерфейс, который вы хотите добавить/удалить в зоне firewalld. | |
| masquerade строка | Настройка маскировки, которую вы хотите включить/выключить для зон в firewalld. | |
| offline булево |
| Нужно ли запускать этот модуль даже когда firewalld не работает. |
| permanent булево |
| Следует ли включить эту конфигурацию в текущую конфигурацию firewalld или сохранить ее после перезагрузки. Начиная с Ansible 2.3, постоянные операции могут работать с конфигурациями 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-связки.
- Транзакции зон (создание, удаление) могут быть выполнены, используя только параметры zone и state “present” или “absent”. Обратите внимание, что транзакции зон должны быть явно постоянными. Это ограничение в firewalld. Это также означает, что вам необходимо перезагрузить firewalld после добавления зоны, на которой вы хотите выполнить немедленные действия. Модуль не позаботится об этом неявно, поскольку это отменило бы любые ранее выполненные немедленные действия, которые не были постоянными. Поэтому, если вам нужен немедленный доступ к только что созданной зоне, рекомендуется перезагрузить firewalld сразу после того, как состояние зоны изменится, и прежде чем вы выполните какие-либо другие немедленные, непродолжительные действия в этой зоне.
Примеры
- name: permit traffic in default zone for https service
ansible.posix.firewalld:
service: https
permanent: yes
state: enabled
- name: do not permit traffic in default zone on port 8081/tcp
ansible.posix.firewalld:
port: 8081/tcp
permanent: yes
state: disabled
- ansible.posix.firewalld:
port: 161-162/udp
permanent: yes
state: enabled
- ansible.posix.firewalld:
zone: dmz
service: http
permanent: yes
state: enabled
- ansible.posix.firewalld:
rich_rule: rule service name="ftp" audit limit value="1/m" accept
permanent: yes
state: enabled
- ansible.posix.firewalld:
source: 192.0.2.0/24
zone: internal
state: enabled
- ansible.posix.firewalld:
zone: trusted
interface: eth2
permanent: yes
state: enabled
- ansible.posix.firewalld:
masquerade: yes
state: enabled
permanent: yes
zone: dmz
- ansible.posix.firewalld:
zone: custom
state: present
permanent: yes
- ansible.posix.firewalld:
zone: drop
state: enabled
permanent: yes
icmp_block_inversion: yes
- ansible.posix.firewalld:
zone: drop
state: enabled
permanent: yes
icmp_block: echo-request
- name: Redirect port 443 to 8443 with Rich Rule
ansible.posix.firewalld:
rich_rule: rule family=ipv4 forward-port port=443 protocol=tcp to-port=8443
zone: public
permanent: yes
immediate: yes
state: enabled
Авторы
- 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.10/collections/ansible/posix/firewalld_module.html