firewalld – Управление произвольными портами/службами с помощью firewalld
Новая версия с 1.4.
Обзор
- Этот модуль позволяет добавлять или удалять службы и порты TCP или UDP в действующих или постоянных правилах firewalld.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- firewalld >= 0.2.11
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| immediate boolean Добавлен в 1.9 |
| Необходимо ли применить это конфигурирование немедленно, если оно установлено как постоянное |
| interface - Добавлен в 2.1 | Интерфейс, к которому вы хотите добавить/удалить зону в firewalld | |
| masquerade - Добавлен в 2.1 | Настройка masquerade, которую вы хотите включить/отключить в зонах firewalld | |
| permanent boolean |
| Должна ли эта конфигурация находиться в рабочей конфигурации firewalld или сохраняться при перезагрузке. Начиная с версии Ansible 2.3, операции с permanent могут работать с конфигурациями firewalld, когда он не запущен (требуется firewalld >= 3.0.9). (ПРИМЕЧАНИЕ: если это false, immediate считается true.) |
| port - | Название порта или диапазона портов для добавления/удаления в/из firewalld. Должно быть в формате PORT/PROTOCOL или PORT-PORT/PROTOCOL для диапазонов портов. | |
| rich_rule - | Подробное правило для добавления/удаления в/из firewalld. | |
| service - | Имя службы для добавления/удаления в/из firewalld — служба должна быть указана в выводе firewall-cmd --get-services. | |
| source - Добавлен в 2.0 | Источник/сеть, которую вы хотите добавить/удалить в/из firewalld | |
| state - / обязательно |
| Включить или выключить настройку. Для портов: должен ли этот порт принимать (включено) или отклонять (выключено) соединения. Состояния "присутствует" и "отсутствует" могут использоваться только в операциях на уровне зон (т. е. когда не установлены другие параметры, кроме зоны и состояния). |
| timeout - | По умолчанию: 0 | Продолжительность действия правила, если оно не постоянное. |
| zone - |
"system-default(public)" | Зона firewalld для добавления/удаления (ПРИМЕЧАНИЕ: зона по умолчанию может быть настроена на каждом компьютере, но "публичная" — это значение по умолчанию от поставщика. Доступные варианты могут быть расширены на основе конфигураций каждого конкретного компьютера, здесь перечислены значения по умолчанию "из коробки"). |
Примечания
Примечание
- Не протестировано на системах на основе 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
- name: Redirect port 443 to 8443 with Rich Rule
firewalld:
rich_rule: rule family={{ item }} forward-port port=443 protocol=tcp to-port=8443
zone: public
permanent: yes
immediate: yes
state: enabled
with_items:
- ipv4
- ipv6
Статус
- Гарантии обратной совместимости интерфейса этого модуля нет. [превью]
- Этот модуль поддерживается сообществом 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.7/modules/firewalld_module.html