firewalld – Управление произвольными портами/службами с помощью firewalld
Краткое описание
- Этот модуль позволяет добавлять или удалять службы и порты (TCP или UDP) в правила firewalld, действующие в текущий момент или постоянно.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- firewalld >= 0.2.11
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| icmp_block строка добавлен в 2.8 | Блок ICMP, который вы хотите добавить/удалить в зоне firewalld. | |
| icmp_block_inversion строка добавлен в 2.8 | Включить/выключить инверсию блоков ICMP для зоны firewalld. | |
| immediate логическое значение |
| Необходимо ли применить это конфигурацию немедленно, если она установлена как постоянная. |
| interface строка добавлен в 2.1 | Интерфейс, который вы хотите добавить/удалить в зоне firewalld. | |
| masquerade строка добавлен в 2.1 | Параметр маскирования, который вы хотите включить/выключить в зонах firewalld. | |
| offline логическое значение добавлен в 2.3 |
| Выполнять ли этот модуль, даже когда firewalld не активен. |
| permanent логическое значение |
| Должна ли эта конфигурация быть в текущей конфигурации firewalld или сохраняться при перезагрузке. Начиная с Ansible 2.3, операции permanent могут работать с конфигурациями firewalld, когда он не запущен (требуется firewalld >= 3.0.9). Обратите внимание, что если это no, предполагается yes. |
| port строка | Имя порта или диапазона портов для добавления/удаления в firewalld. Должно быть в формате PORT/PROTOCOL или PORT-PORT/PROTOCOL для диапазонов портов. | |
| rich_rule строка | Богатые правила для добавления/удаления в firewalld. | |
| service строка | Имя службы для добавления/удаления в firewalld. Служба должна быть указана в выводе firewall-cmd --get-services. | |
| source строка добавлен в 2.0 | Источник/сеть, которую вы хотите добавить/удалить в 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.
- Операции с зонами (создание, удаление) могут выполняться с использованием только параметров зоны и состояния «наличие» или «отсутствие». Обратите внимание, что операции с зонами должны быть явно постоянными. Это ограничение в 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 forward-port port=443 protocol=tcp to-port=8443
zone: public
permanent: yes
immediate: yes
state: enabled
Статус
- Гарантии обратной совместимости этого модуля нет. [предварительная версия]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.8/modules/firewalld_module.html